From 6b4d032d4964caaa85be4ba8f3a7874afbf958cc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 10:09:22 +0200 Subject: Adding upstream version 20230625. Signed-off-by: Daniel Baumann --- 3com/typhoon.bin | Bin 0 -> 44548 bytes GPL-2 | 339 + GPL-3 | 676 ++ LICENCE.Abilis | 22 + LICENCE.IntcSST2 | 39 + LICENCE.Marvell | 22 + LICENCE.NXP | 22 + LICENCE.Netronome | 65 + LICENCE.OLPC | 33 + LICENCE.adsp_sst | 999 +++ LICENCE.agere | 77 + LICENCE.atheros_firmware | 38 + LICENCE.broadcom_bcm43xx | 65 + LICENCE.ca0132 | 47 + LICENCE.cadence | 63 + LICENCE.cavium | 59 + LICENCE.cavium_liquidio | 68 + LICENCE.chelsio_firmware | 27 + LICENCE.cnm | 23 + LICENCE.cw1200 | 35 + LICENCE.cypress | 138 + LICENCE.e100 | 28 + LICENCE.ene_firmware | 14 + LICENCE.fw_sst_0f28 | 40 + LICENCE.go7007 | 457 ++ LICENCE.ibt_firmware | 39 + LICENCE.it913x | 17 + LICENCE.iwlwifi_firmware | 39 + LICENCE.kaweth | 28 + LICENCE.mediatek | 9 + LICENCE.microchip | 40 + LICENCE.moxa | 16 + LICENCE.myri10ge_firmware | 28 + LICENCE.nvidia | 131 + LICENCE.open-ath9k-htc-firmware | 206 + LICENCE.phanfw | 32 + LICENCE.qat_firmware | 36 + LICENCE.qla1280 | 23 + LICENCE.qla2xxx | 31 + LICENCE.r8a779x_usb3 | 26 + LICENCE.ralink-firmware.txt | 39 + LICENCE.ralink_a_mediatek_company_firmware | 39 + LICENCE.rockchip | 41 + LICENCE.rtlwifi_firmware.txt | 39 + LICENCE.siano | 31 + LICENCE.ti-connectivity | 61 + LICENCE.ti-keystone | 61 + LICENCE.ti-tspa | 46 + LICENCE.ueagle-atm4-firmware | 39 + LICENCE.via_vt6656 | 25 + LICENCE.wl1251 | 59 + LICENCE.xc4000 | 23 + LICENCE.xc5000 | 23 + LICENCE.xc5000c | 23 + LICENSE.Lontium | 2 + LICENSE.QualcommAtheros_ar3k | 47 + LICENSE.QualcommAtheros_ath10k | 47 + LICENSE.amd-sev | 64 + LICENSE.amd-ucode | 64 + LICENSE.amdgpu | 51 + LICENSE.amlogic_vdec | 15 + LICENSE.amphion_vpu | 48 + LICENSE.atmel | 36 + LICENSE.cirrus | 182 + LICENSE.dib0700 | 22 + LICENSE.hfi1_firmware | 39 + LICENSE.i915 | 39 + LICENSE.ice | 39 + LICENSE.ice_enhanced | 38 + LICENSE.ipu3_firmware | 36 + LICENSE.nxp | 26 + LICENSE.nxp_mc_firmware | 127 + LICENSE.qcom | 206 + LICENSE.qcom_yamato | 25 + LICENSE.radeon | 51 + LICENSE.sdma_firmware | 47 + Makefile | 21 + README | 43 + RTL8192E/boot.img | Bin 0 -> 344 bytes RTL8192E/data.img | Bin 0 -> 848 bytes RTL8192E/main.img | Bin 0 -> 42944 bytes WHENCE | 6326 +++++++++++++++++ advansys/3550.bin | Bin 0 -> 5026 bytes advansys/38C0800.bin | Bin 0 -> 5340 bytes advansys/38C1600.bin | Bin 0 -> 6334 bytes advansys/mcode.bin | Bin 0 -> 2308 bytes agere_ap_fw.bin | Bin 0 -> 50698 bytes agere_sta_fw.bin | Bin 0 -> 65046 bytes amd/amd_sev_fam17h_model0xh.sbin | Bin 0 -> 33728 bytes amd/amd_sev_fam17h_model3xh.sbin | Bin 0 -> 45440 bytes amd/amd_sev_fam19h_model0xh.sbin | Bin 0 -> 82688 bytes amdgpu/aldebaran_mec.bin | Bin 0 -> 268576 bytes amdgpu/aldebaran_mec2.bin | Bin 0 -> 268576 bytes amdgpu/aldebaran_rlc.bin | Bin 0 -> 46084 bytes amdgpu/aldebaran_sdma.bin | Bin 0 -> 34304 bytes amdgpu/aldebaran_sjt_mec.bin | Bin 0 -> 268576 bytes amdgpu/aldebaran_sjt_mec2.bin | Bin 0 -> 268576 bytes amdgpu/aldebaran_smc.bin | Bin 0 -> 242688 bytes amdgpu/aldebaran_sos.bin | Bin 0 -> 442080 bytes amdgpu/aldebaran_ta.bin | Bin 0 -> 140288 bytes amdgpu/aldebaran_vcn.bin | Bin 0 -> 422400 bytes amdgpu/arcturus_asd.bin | Bin 0 -> 168448 bytes amdgpu/arcturus_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/arcturus_mec.bin | Bin 0 -> 268576 bytes amdgpu/arcturus_mec2.bin | Bin 0 -> 268576 bytes amdgpu/arcturus_rlc.bin | Bin 0 -> 48044 bytes amdgpu/arcturus_sdma.bin | Bin 0 -> 17664 bytes amdgpu/arcturus_smc.bin | Bin 0 -> 270698 bytes amdgpu/arcturus_sos.bin | Bin 0 -> 199248 bytes amdgpu/arcturus_ta.bin | Bin 0 -> 127744 bytes amdgpu/arcturus_vcn.bin | Bin 0 -> 420736 bytes amdgpu/banks_k_2_smc.bin | Bin 0 -> 61932 bytes amdgpu/beige_goby_ce.bin | Bin 0 -> 263296 bytes amdgpu/beige_goby_dmcub.bin | Bin 0 -> 112116 bytes amdgpu/beige_goby_me.bin | Bin 0 -> 263424 bytes amdgpu/beige_goby_mec.bin | Bin 0 -> 268720 bytes amdgpu/beige_goby_mec2.bin | Bin 0 -> 268720 bytes amdgpu/beige_goby_pfp.bin | Bin 0 -> 263424 bytes amdgpu/beige_goby_rlc.bin | Bin 0 -> 130472 bytes amdgpu/beige_goby_sdma.bin | Bin 0 -> 34048 bytes amdgpu/beige_goby_smc.bin | Bin 0 -> 244934 bytes amdgpu/beige_goby_sos.bin | Bin 0 -> 205984 bytes amdgpu/beige_goby_ta.bin | Bin 0 -> 218368 bytes amdgpu/beige_goby_vcn.bin | Bin 0 -> 579568 bytes amdgpu/bonaire_ce.bin | Bin 0 -> 8832 bytes amdgpu/bonaire_k_smc.bin | Bin 0 -> 130796 bytes amdgpu/bonaire_mc.bin | Bin 0 -> 32336 bytes amdgpu/bonaire_me.bin | Bin 0 -> 8832 bytes amdgpu/bonaire_mec.bin | Bin 0 -> 17024 bytes amdgpu/bonaire_pfp.bin | Bin 0 -> 8832 bytes amdgpu/bonaire_rlc.bin | Bin 0 -> 8448 bytes amdgpu/bonaire_sdma.bin | Bin 0 -> 4456 bytes amdgpu/bonaire_sdma1.bin | Bin 0 -> 4456 bytes amdgpu/bonaire_smc.bin | Bin 0 -> 130796 bytes amdgpu/bonaire_uvd.bin | Bin 0 -> 232752 bytes amdgpu/bonaire_vce.bin | Bin 0 -> 101072 bytes amdgpu/carrizo_ce.bin | Bin 0 -> 8832 bytes amdgpu/carrizo_me.bin | Bin 0 -> 17024 bytes amdgpu/carrizo_mec.bin | Bin 0 -> 262784 bytes amdgpu/carrizo_mec2.bin | Bin 0 -> 262784 bytes amdgpu/carrizo_pfp.bin | Bin 0 -> 17024 bytes amdgpu/carrizo_rlc.bin | Bin 0 -> 18836 bytes amdgpu/carrizo_sdma.bin | Bin 0 -> 10624 bytes amdgpu/carrizo_sdma1.bin | Bin 0 -> 10624 bytes amdgpu/carrizo_uvd.bin | Bin 0 -> 271712 bytes amdgpu/carrizo_vce.bin | Bin 0 -> 175840 bytes amdgpu/cyan_skillfish2_ce.bin | Bin 0 -> 263296 bytes amdgpu/cyan_skillfish2_me.bin | Bin 0 -> 263424 bytes amdgpu/cyan_skillfish2_mec.bin | Bin 0 -> 268592 bytes amdgpu/cyan_skillfish2_mec2.bin | Bin 0 -> 268592 bytes amdgpu/cyan_skillfish2_pfp.bin | Bin 0 -> 263424 bytes amdgpu/cyan_skillfish2_rlc.bin | Bin 0 -> 25344 bytes amdgpu/cyan_skillfish2_sdma.bin | Bin 0 -> 33792 bytes amdgpu/cyan_skillfish2_sdma1.bin | Bin 0 -> 33792 bytes amdgpu/dcn_3_1_4_dmcub.bin | Bin 0 -> 301344 bytes amdgpu/dcn_3_1_5_dmcub.bin | Bin 0 -> 301344 bytes amdgpu/dcn_3_1_6_dmcub.bin | Bin 0 -> 215568 bytes amdgpu/dcn_3_2_0_dmcub.bin | Bin 0 -> 283664 bytes amdgpu/dcn_3_2_1_dmcub.bin | Bin 0 -> 231712 bytes amdgpu/dimgrey_cavefish_ce.bin | Bin 0 -> 263296 bytes amdgpu/dimgrey_cavefish_dmcub.bin | Bin 0 -> 112756 bytes amdgpu/dimgrey_cavefish_me.bin | Bin 0 -> 263424 bytes amdgpu/dimgrey_cavefish_mec.bin | Bin 0 -> 268720 bytes amdgpu/dimgrey_cavefish_mec2.bin | Bin 0 -> 268720 bytes amdgpu/dimgrey_cavefish_pfp.bin | Bin 0 -> 263424 bytes amdgpu/dimgrey_cavefish_rlc.bin | Bin 0 -> 137232 bytes amdgpu/dimgrey_cavefish_sdma.bin | Bin 0 -> 34048 bytes amdgpu/dimgrey_cavefish_smc.bin | Bin 0 -> 244902 bytes amdgpu/dimgrey_cavefish_sos.bin | Bin 0 -> 210416 bytes amdgpu/dimgrey_cavefish_ta.bin | Bin 0 -> 218368 bytes amdgpu/dimgrey_cavefish_vcn.bin | Bin 0 -> 579568 bytes amdgpu/fiji_ce.bin | Bin 0 -> 8852 bytes amdgpu/fiji_mc.bin | Bin 0 -> 16028 bytes amdgpu/fiji_me.bin | Bin 0 -> 17044 bytes amdgpu/fiji_mec.bin | Bin 0 -> 262824 bytes amdgpu/fiji_mec2.bin | Bin 0 -> 262824 bytes amdgpu/fiji_pfp.bin | Bin 0 -> 17044 bytes amdgpu/fiji_rlc.bin | Bin 0 -> 16636 bytes amdgpu/fiji_sdma.bin | Bin 0 -> 10644 bytes amdgpu/fiji_sdma1.bin | Bin 0 -> 10644 bytes amdgpu/fiji_smc.bin | Bin 0 -> 129604 bytes amdgpu/fiji_uvd.bin | Bin 0 -> 266768 bytes amdgpu/fiji_vce.bin | Bin 0 -> 161024 bytes amdgpu/gc_10_3_6_ce.bin | Bin 0 -> 263296 bytes amdgpu/gc_10_3_6_me.bin | Bin 0 -> 263424 bytes amdgpu/gc_10_3_6_mec.bin | Bin 0 -> 268592 bytes amdgpu/gc_10_3_6_mec2.bin | Bin 0 -> 268592 bytes amdgpu/gc_10_3_6_pfp.bin | Bin 0 -> 263424 bytes amdgpu/gc_10_3_6_rlc.bin | Bin 0 -> 177088 bytes amdgpu/gc_10_3_7_ce.bin | Bin 0 -> 263296 bytes amdgpu/gc_10_3_7_me.bin | Bin 0 -> 263424 bytes amdgpu/gc_10_3_7_mec.bin | Bin 0 -> 268592 bytes amdgpu/gc_10_3_7_mec2.bin | Bin 0 -> 268592 bytes amdgpu/gc_10_3_7_pfp.bin | Bin 0 -> 263424 bytes amdgpu/gc_10_3_7_rlc.bin | Bin 0 -> 177088 bytes amdgpu/gc_11_0_0_imu.bin | Bin 0 -> 132352 bytes amdgpu/gc_11_0_0_me.bin | Bin 0 -> 189520 bytes amdgpu/gc_11_0_0_mec.bin | Bin 0 -> 407072 bytes amdgpu/gc_11_0_0_mes.bin | Bin 0 -> 286336 bytes amdgpu/gc_11_0_0_mes1.bin | Bin 0 -> 211696 bytes amdgpu/gc_11_0_0_mes_2.bin | Bin 0 -> 289280 bytes amdgpu/gc_11_0_0_pfp.bin | Bin 0 -> 207984 bytes amdgpu/gc_11_0_0_rlc.bin | Bin 0 -> 184992 bytes amdgpu/gc_11_0_1_imu.bin | Bin 0 -> 132352 bytes amdgpu/gc_11_0_1_me.bin | Bin 0 -> 263424 bytes amdgpu/gc_11_0_1_mec.bin | Bin 0 -> 268704 bytes amdgpu/gc_11_0_1_mes.bin | Bin 0 -> 287712 bytes amdgpu/gc_11_0_1_mes1.bin | Bin 0 -> 231344 bytes amdgpu/gc_11_0_1_mes_2.bin | Bin 0 -> 289152 bytes amdgpu/gc_11_0_1_pfp.bin | Bin 0 -> 263424 bytes amdgpu/gc_11_0_1_rlc.bin | Bin 0 -> 160592 bytes amdgpu/gc_11_0_2_imu.bin | Bin 0 -> 132352 bytes amdgpu/gc_11_0_2_me.bin | Bin 0 -> 189552 bytes amdgpu/gc_11_0_2_mec.bin | Bin 0 -> 407072 bytes amdgpu/gc_11_0_2_mes.bin | Bin 0 -> 286336 bytes amdgpu/gc_11_0_2_mes1.bin | Bin 0 -> 212048 bytes amdgpu/gc_11_0_2_mes_2.bin | Bin 0 -> 289408 bytes amdgpu/gc_11_0_2_pfp.bin | Bin 0 -> 207984 bytes amdgpu/gc_11_0_2_rlc.bin | Bin 0 -> 178448 bytes amdgpu/gc_11_0_4_imu.bin | Bin 0 -> 132352 bytes amdgpu/gc_11_0_4_me.bin | Bin 0 -> 263424 bytes amdgpu/gc_11_0_4_mec.bin | Bin 0 -> 268704 bytes amdgpu/gc_11_0_4_mes.bin | Bin 0 -> 287712 bytes amdgpu/gc_11_0_4_mes1.bin | Bin 0 -> 230640 bytes amdgpu/gc_11_0_4_mes_2.bin | Bin 0 -> 289152 bytes amdgpu/gc_11_0_4_pfp.bin | Bin 0 -> 263424 bytes amdgpu/gc_11_0_4_rlc.bin | Bin 0 -> 159472 bytes amdgpu/green_sardine_asd.bin | Bin 0 -> 172544 bytes amdgpu/green_sardine_ce.bin | Bin 0 -> 36608 bytes amdgpu/green_sardine_dmcub.bin | Bin 0 -> 121608 bytes amdgpu/green_sardine_me.bin | Bin 0 -> 69376 bytes amdgpu/green_sardine_mec.bin | Bin 0 -> 268048 bytes amdgpu/green_sardine_mec2.bin | Bin 0 -> 268048 bytes amdgpu/green_sardine_pfp.bin | Bin 0 -> 85760 bytes amdgpu/green_sardine_rlc.bin | Bin 0 -> 39928 bytes amdgpu/green_sardine_sdma.bin | Bin 0 -> 17408 bytes amdgpu/green_sardine_ta.bin | Bin 0 -> 33536 bytes amdgpu/green_sardine_vcn.bin | Bin 0 -> 402624 bytes amdgpu/hainan_ce.bin | Bin 0 -> 8832 bytes amdgpu/hainan_k_smc.bin | Bin 0 -> 61876 bytes amdgpu/hainan_mc.bin | Bin 0 -> 31996 bytes amdgpu/hainan_me.bin | Bin 0 -> 8832 bytes amdgpu/hainan_pfp.bin | Bin 0 -> 8832 bytes amdgpu/hainan_rlc.bin | Bin 0 -> 8448 bytes amdgpu/hainan_smc.bin | Bin 0 -> 61444 bytes amdgpu/hawaii_ce.bin | Bin 0 -> 8832 bytes amdgpu/hawaii_k_smc.bin | Bin 0 -> 130796 bytes amdgpu/hawaii_mc.bin | Bin 0 -> 32796 bytes amdgpu/hawaii_me.bin | Bin 0 -> 8832 bytes amdgpu/hawaii_mec.bin | Bin 0 -> 17024 bytes amdgpu/hawaii_pfp.bin | Bin 0 -> 8832 bytes amdgpu/hawaii_rlc.bin | Bin 0 -> 8448 bytes amdgpu/hawaii_sdma.bin | Bin 0 -> 4456 bytes amdgpu/hawaii_sdma1.bin | Bin 0 -> 4456 bytes amdgpu/hawaii_smc.bin | Bin 0 -> 130796 bytes amdgpu/hawaii_uvd.bin | Bin 0 -> 232752 bytes amdgpu/hawaii_vce.bin | Bin 0 -> 101072 bytes amdgpu/kabini_ce.bin | Bin 0 -> 8832 bytes amdgpu/kabini_me.bin | Bin 0 -> 8832 bytes amdgpu/kabini_mec.bin | Bin 0 -> 17024 bytes amdgpu/kabini_pfp.bin | Bin 0 -> 8832 bytes amdgpu/kabini_rlc.bin | Bin 0 -> 10496 bytes amdgpu/kabini_sdma.bin | Bin 0 -> 4456 bytes amdgpu/kabini_sdma1.bin | Bin 0 -> 4456 bytes amdgpu/kabini_uvd.bin | Bin 0 -> 232752 bytes amdgpu/kabini_vce.bin | Bin 0 -> 101072 bytes amdgpu/kaveri_ce.bin | Bin 0 -> 8832 bytes amdgpu/kaveri_me.bin | Bin 0 -> 8832 bytes amdgpu/kaveri_mec.bin | Bin 0 -> 17024 bytes amdgpu/kaveri_mec2.bin | Bin 0 -> 17024 bytes amdgpu/kaveri_pfp.bin | Bin 0 -> 8832 bytes amdgpu/kaveri_rlc.bin | Bin 0 -> 10496 bytes amdgpu/kaveri_sdma.bin | Bin 0 -> 4456 bytes amdgpu/kaveri_sdma1.bin | Bin 0 -> 4456 bytes amdgpu/kaveri_uvd.bin | Bin 0 -> 232752 bytes amdgpu/kaveri_vce.bin | Bin 0 -> 101072 bytes amdgpu/mullins_ce.bin | Bin 0 -> 8832 bytes amdgpu/mullins_me.bin | Bin 0 -> 8832 bytes amdgpu/mullins_mec.bin | Bin 0 -> 17024 bytes amdgpu/mullins_pfp.bin | Bin 0 -> 8832 bytes amdgpu/mullins_rlc.bin | Bin 0 -> 10496 bytes amdgpu/mullins_sdma.bin | Bin 0 -> 4456 bytes amdgpu/mullins_sdma1.bin | Bin 0 -> 4456 bytes amdgpu/mullins_uvd.bin | Bin 0 -> 232752 bytes amdgpu/mullins_vce.bin | Bin 0 -> 101072 bytes amdgpu/navi10_asd.bin | Bin 0 -> 172544 bytes amdgpu/navi10_ce.bin | Bin 0 -> 263296 bytes amdgpu/navi10_gpu_info.bin | Bin 0 -> 772 bytes amdgpu/navi10_me.bin | Bin 0 -> 263424 bytes amdgpu/navi10_mec.bin | Bin 0 -> 268592 bytes amdgpu/navi10_mec2.bin | Bin 0 -> 268592 bytes amdgpu/navi10_pfp.bin | Bin 0 -> 263424 bytes amdgpu/navi10_rlc.bin | Bin 0 -> 43952 bytes amdgpu/navi10_sdma.bin | Bin 0 -> 33792 bytes amdgpu/navi10_sdma1.bin | Bin 0 -> 33792 bytes amdgpu/navi10_smc.bin | Bin 0 -> 267970 bytes amdgpu/navi10_sos.bin | Bin 0 -> 184512 bytes amdgpu/navi10_ta.bin | Bin 0 -> 33536 bytes amdgpu/navi10_vcn.bin | Bin 0 -> 402112 bytes amdgpu/navi12_asd.bin | Bin 0 -> 172544 bytes amdgpu/navi12_ce.bin | Bin 0 -> 263296 bytes amdgpu/navi12_dmcu.bin | Bin 0 -> 23904 bytes amdgpu/navi12_gpu_info.bin | Bin 0 -> 772 bytes amdgpu/navi12_me.bin | Bin 0 -> 263424 bytes amdgpu/navi12_mec.bin | Bin 0 -> 268592 bytes amdgpu/navi12_mec2.bin | Bin 0 -> 268592 bytes amdgpu/navi12_pfp.bin | Bin 0 -> 263424 bytes amdgpu/navi12_rlc.bin | Bin 0 -> 43720 bytes amdgpu/navi12_sdma.bin | Bin 0 -> 33792 bytes amdgpu/navi12_sdma1.bin | Bin 0 -> 33792 bytes amdgpu/navi12_smc.bin | Bin 0 -> 264586 bytes amdgpu/navi12_sos.bin | Bin 0 -> 204656 bytes amdgpu/navi12_ta.bin | Bin 0 -> 33536 bytes amdgpu/navi12_vcn.bin | Bin 0 -> 402112 bytes amdgpu/navi14_asd.bin | Bin 0 -> 172544 bytes amdgpu/navi14_ce.bin | Bin 0 -> 263296 bytes amdgpu/navi14_ce_wks.bin | Bin 0 -> 263296 bytes amdgpu/navi14_gpu_info.bin | Bin 0 -> 772 bytes amdgpu/navi14_me.bin | Bin 0 -> 263424 bytes amdgpu/navi14_me_wks.bin | Bin 0 -> 263424 bytes amdgpu/navi14_mec.bin | Bin 0 -> 268592 bytes amdgpu/navi14_mec2.bin | Bin 0 -> 268592 bytes amdgpu/navi14_mec2_wks.bin | Bin 0 -> 268592 bytes amdgpu/navi14_mec_wks.bin | Bin 0 -> 268592 bytes amdgpu/navi14_pfp.bin | Bin 0 -> 263424 bytes amdgpu/navi14_pfp_wks.bin | Bin 0 -> 263424 bytes amdgpu/navi14_rlc.bin | Bin 0 -> 42856 bytes amdgpu/navi14_sdma.bin | Bin 0 -> 33792 bytes amdgpu/navi14_sdma1.bin | Bin 0 -> 33792 bytes amdgpu/navi14_smc.bin | Bin 0 -> 264586 bytes amdgpu/navi14_sos.bin | Bin 0 -> 184176 bytes amdgpu/navi14_ta.bin | Bin 0 -> 33536 bytes amdgpu/navi14_vcn.bin | Bin 0 -> 402112 bytes amdgpu/navy_flounder_ce.bin | Bin 0 -> 263296 bytes amdgpu/navy_flounder_dmcub.bin | Bin 0 -> 112756 bytes amdgpu/navy_flounder_me.bin | Bin 0 -> 263424 bytes amdgpu/navy_flounder_mec.bin | Bin 0 -> 268720 bytes amdgpu/navy_flounder_mec2.bin | Bin 0 -> 268720 bytes amdgpu/navy_flounder_pfp.bin | Bin 0 -> 263424 bytes amdgpu/navy_flounder_rlc.bin | Bin 0 -> 137336 bytes amdgpu/navy_flounder_sdma.bin | Bin 0 -> 34048 bytes amdgpu/navy_flounder_smc.bin | Bin 0 -> 244902 bytes amdgpu/navy_flounder_sos.bin | Bin 0 -> 218608 bytes amdgpu/navy_flounder_ta.bin | Bin 0 -> 218368 bytes amdgpu/navy_flounder_vcn.bin | Bin 0 -> 579568 bytes amdgpu/oland_ce.bin | Bin 0 -> 8832 bytes amdgpu/oland_k_smc.bin | Bin 0 -> 62692 bytes amdgpu/oland_mc.bin | Bin 0 -> 31996 bytes amdgpu/oland_me.bin | Bin 0 -> 8832 bytes amdgpu/oland_pfp.bin | Bin 0 -> 8832 bytes amdgpu/oland_rlc.bin | Bin 0 -> 8448 bytes amdgpu/oland_smc.bin | Bin 0 -> 62260 bytes amdgpu/oland_uvd.bin | Bin 0 -> 219928 bytes amdgpu/picasso_asd.bin | Bin 0 -> 172544 bytes amdgpu/picasso_ce.bin | Bin 0 -> 9344 bytes amdgpu/picasso_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/picasso_me.bin | Bin 0 -> 17536 bytes amdgpu/picasso_mec.bin | Bin 0 -> 268064 bytes amdgpu/picasso_mec2.bin | Bin 0 -> 268064 bytes amdgpu/picasso_pfp.bin | Bin 0 -> 21632 bytes amdgpu/picasso_rlc.bin | Bin 0 -> 39140 bytes amdgpu/picasso_rlc_am4.bin | Bin 0 -> 39140 bytes amdgpu/picasso_sdma.bin | Bin 0 -> 17408 bytes amdgpu/picasso_ta.bin | Bin 0 -> 41984 bytes amdgpu/picasso_vcn.bin | Bin 0 -> 365536 bytes amdgpu/pitcairn_ce.bin | Bin 0 -> 8832 bytes amdgpu/pitcairn_k_smc.bin | Bin 0 -> 61712 bytes amdgpu/pitcairn_mc.bin | Bin 0 -> 31644 bytes amdgpu/pitcairn_me.bin | Bin 0 -> 8832 bytes amdgpu/pitcairn_pfp.bin | Bin 0 -> 8832 bytes amdgpu/pitcairn_rlc.bin | Bin 0 -> 8448 bytes amdgpu/pitcairn_smc.bin | Bin 0 -> 61280 bytes amdgpu/pitcairn_uvd.bin | Bin 0 -> 219928 bytes amdgpu/polaris10_ce.bin | Bin 0 -> 8852 bytes amdgpu/polaris10_ce_2.bin | Bin 0 -> 8852 bytes amdgpu/polaris10_k2_smc.bin | Bin 0 -> 130228 bytes amdgpu/polaris10_k_mc.bin | Bin 0 -> 32832 bytes amdgpu/polaris10_k_smc.bin | Bin 0 -> 130244 bytes amdgpu/polaris10_mc.bin | Bin 0 -> 32732 bytes amdgpu/polaris10_me.bin | Bin 0 -> 17044 bytes amdgpu/polaris10_me_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris10_mec.bin | Bin 0 -> 262824 bytes amdgpu/polaris10_mec2.bin | Bin 0 -> 262824 bytes amdgpu/polaris10_mec2_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris10_mec_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris10_pfp.bin | Bin 0 -> 17044 bytes amdgpu/polaris10_pfp_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris10_rlc.bin | Bin 0 -> 23488 bytes amdgpu/polaris10_sdma.bin | Bin 0 -> 12692 bytes amdgpu/polaris10_sdma1.bin | Bin 0 -> 12692 bytes amdgpu/polaris10_smc.bin | Bin 0 -> 130216 bytes amdgpu/polaris10_smc_sk.bin | Bin 0 -> 130196 bytes amdgpu/polaris10_uvd.bin | Bin 0 -> 375424 bytes amdgpu/polaris10_vce.bin | Bin 0 -> 166816 bytes amdgpu/polaris11_ce.bin | Bin 0 -> 8852 bytes amdgpu/polaris11_ce_2.bin | Bin 0 -> 8852 bytes amdgpu/polaris11_k2_smc.bin | Bin 0 -> 130228 bytes amdgpu/polaris11_k_mc.bin | Bin 0 -> 32832 bytes amdgpu/polaris11_k_smc.bin | Bin 0 -> 130228 bytes amdgpu/polaris11_mc.bin | Bin 0 -> 33104 bytes amdgpu/polaris11_me.bin | Bin 0 -> 17044 bytes amdgpu/polaris11_me_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris11_mec.bin | Bin 0 -> 262824 bytes amdgpu/polaris11_mec2.bin | Bin 0 -> 262824 bytes amdgpu/polaris11_mec2_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris11_mec_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris11_pfp.bin | Bin 0 -> 17044 bytes amdgpu/polaris11_pfp_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris11_rlc.bin | Bin 0 -> 22688 bytes amdgpu/polaris11_sdma.bin | Bin 0 -> 12692 bytes amdgpu/polaris11_sdma1.bin | Bin 0 -> 12692 bytes amdgpu/polaris11_smc.bin | Bin 0 -> 130196 bytes amdgpu/polaris11_smc_sk.bin | Bin 0 -> 130196 bytes amdgpu/polaris11_uvd.bin | Bin 0 -> 375424 bytes amdgpu/polaris11_vce.bin | Bin 0 -> 166816 bytes amdgpu/polaris12_32_mc.bin | Bin 0 -> 32876 bytes amdgpu/polaris12_ce.bin | Bin 0 -> 8852 bytes amdgpu/polaris12_ce_2.bin | Bin 0 -> 8852 bytes amdgpu/polaris12_k_mc.bin | Bin 0 -> 32832 bytes amdgpu/polaris12_k_smc.bin | Bin 0 -> 130388 bytes amdgpu/polaris12_mc.bin | Bin 0 -> 32608 bytes amdgpu/polaris12_me.bin | Bin 0 -> 17044 bytes amdgpu/polaris12_me_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris12_mec.bin | Bin 0 -> 262824 bytes amdgpu/polaris12_mec2.bin | Bin 0 -> 262824 bytes amdgpu/polaris12_mec2_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris12_mec_2.bin | Bin 0 -> 262824 bytes amdgpu/polaris12_pfp.bin | Bin 0 -> 17044 bytes amdgpu/polaris12_pfp_2.bin | Bin 0 -> 17044 bytes amdgpu/polaris12_rlc.bin | Bin 0 -> 16660 bytes amdgpu/polaris12_sdma.bin | Bin 0 -> 12692 bytes amdgpu/polaris12_sdma1.bin | Bin 0 -> 12692 bytes amdgpu/polaris12_smc.bin | Bin 0 -> 130388 bytes amdgpu/polaris12_uvd.bin | Bin 0 -> 375424 bytes amdgpu/polaris12_vce.bin | Bin 0 -> 166816 bytes amdgpu/psp_13_0_0_sos.bin | Bin 0 -> 268304 bytes amdgpu/psp_13_0_0_ta.bin | Bin 0 -> 242944 bytes amdgpu/psp_13_0_11_ta.bin | Bin 0 -> 271808 bytes amdgpu/psp_13_0_11_toc.bin | Bin 0 -> 2560 bytes amdgpu/psp_13_0_4_ta.bin | Bin 0 -> 271808 bytes amdgpu/psp_13_0_4_toc.bin | Bin 0 -> 2560 bytes amdgpu/psp_13_0_5_asd.bin | Bin 0 -> 172544 bytes amdgpu/psp_13_0_5_ta.bin | Bin 0 -> 205824 bytes amdgpu/psp_13_0_5_toc.bin | Bin 0 -> 1792 bytes amdgpu/psp_13_0_7_sos.bin | Bin 0 -> 248496 bytes amdgpu/psp_13_0_7_ta.bin | Bin 0 -> 218112 bytes amdgpu/psp_13_0_8_asd.bin | Bin 0 -> 168448 bytes amdgpu/psp_13_0_8_ta.bin | Bin 0 -> 205824 bytes amdgpu/psp_13_0_8_toc.bin | Bin 0 -> 1792 bytes amdgpu/raven2_asd.bin | Bin 0 -> 168448 bytes amdgpu/raven2_ce.bin | Bin 0 -> 9344 bytes amdgpu/raven2_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/raven2_me.bin | Bin 0 -> 17536 bytes amdgpu/raven2_mec.bin | Bin 0 -> 268048 bytes amdgpu/raven2_mec2.bin | Bin 0 -> 268048 bytes amdgpu/raven2_pfp.bin | Bin 0 -> 21632 bytes amdgpu/raven2_rlc.bin | Bin 0 -> 38324 bytes amdgpu/raven2_sdma.bin | Bin 0 -> 17408 bytes amdgpu/raven2_ta.bin | Bin 0 -> 33536 bytes amdgpu/raven2_vcn.bin | Bin 0 -> 365536 bytes amdgpu/raven_asd.bin | Bin 0 -> 168448 bytes amdgpu/raven_ce.bin | Bin 0 -> 9344 bytes amdgpu/raven_dmcu.bin | Bin 0 -> 23184 bytes amdgpu/raven_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/raven_kicker_rlc.bin | Bin 0 -> 39140 bytes amdgpu/raven_me.bin | Bin 0 -> 17536 bytes amdgpu/raven_mec.bin | Bin 0 -> 268048 bytes amdgpu/raven_mec2.bin | Bin 0 -> 268048 bytes amdgpu/raven_pfp.bin | Bin 0 -> 21632 bytes amdgpu/raven_rlc.bin | Bin 0 -> 39140 bytes amdgpu/raven_sdma.bin | Bin 0 -> 17408 bytes amdgpu/raven_ta.bin | Bin 0 -> 33536 bytes amdgpu/raven_vcn.bin | Bin 0 -> 365536 bytes amdgpu/renoir_asd.bin | Bin 0 -> 172544 bytes amdgpu/renoir_ce.bin | Bin 0 -> 9344 bytes amdgpu/renoir_dmcub.bin | Bin 0 -> 121608 bytes amdgpu/renoir_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/renoir_me.bin | Bin 0 -> 17536 bytes amdgpu/renoir_mec.bin | Bin 0 -> 268064 bytes amdgpu/renoir_mec2.bin | Bin 0 -> 268064 bytes amdgpu/renoir_pfp.bin | Bin 0 -> 21632 bytes amdgpu/renoir_rlc.bin | Bin 0 -> 39928 bytes amdgpu/renoir_sdma.bin | Bin 0 -> 17408 bytes amdgpu/renoir_ta.bin | Bin 0 -> 41984 bytes amdgpu/renoir_vcn.bin | Bin 0 -> 402624 bytes amdgpu/sdma_5_2_6.bin | Bin 0 -> 34048 bytes amdgpu/sdma_5_2_7.bin | Bin 0 -> 34048 bytes amdgpu/sdma_6_0_0.bin | Bin 0 -> 34560 bytes amdgpu/sdma_6_0_1.bin | Bin 0 -> 34560 bytes amdgpu/sdma_6_0_2.bin | Bin 0 -> 34560 bytes amdgpu/si58_mc.bin | Bin 0 -> 32488 bytes amdgpu/sienna_cichlid_ce.bin | Bin 0 -> 263296 bytes amdgpu/sienna_cichlid_dmcub.bin | Bin 0 -> 112756 bytes amdgpu/sienna_cichlid_me.bin | Bin 0 -> 263424 bytes amdgpu/sienna_cichlid_mec.bin | Bin 0 -> 268720 bytes amdgpu/sienna_cichlid_mec2.bin | Bin 0 -> 268720 bytes amdgpu/sienna_cichlid_pfp.bin | Bin 0 -> 263424 bytes amdgpu/sienna_cichlid_rlc.bin | Bin 0 -> 132960 bytes amdgpu/sienna_cichlid_sdma.bin | Bin 0 -> 34048 bytes amdgpu/sienna_cichlid_smc.bin | Bin 0 -> 247396 bytes amdgpu/sienna_cichlid_sos.bin | Bin 0 -> 227440 bytes amdgpu/sienna_cichlid_ta.bin | Bin 0 -> 345856 bytes amdgpu/sienna_cichlid_vcn.bin | Bin 0 -> 579568 bytes amdgpu/smu_13_0_0.bin | Bin 0 -> 292452 bytes amdgpu/smu_13_0_7.bin | Bin 0 -> 287080 bytes amdgpu/stoney_ce.bin | Bin 0 -> 8832 bytes amdgpu/stoney_me.bin | Bin 0 -> 17024 bytes amdgpu/stoney_mec.bin | Bin 0 -> 262784 bytes amdgpu/stoney_pfp.bin | Bin 0 -> 17024 bytes amdgpu/stoney_rlc.bin | Bin 0 -> 17236 bytes amdgpu/stoney_sdma.bin | Bin 0 -> 10624 bytes amdgpu/stoney_uvd.bin | Bin 0 -> 277216 bytes amdgpu/stoney_vce.bin | Bin 0 -> 166816 bytes amdgpu/tahiti_ce.bin | Bin 0 -> 8832 bytes amdgpu/tahiti_k_smc.bin | Bin 0 -> 64364 bytes amdgpu/tahiti_mc.bin | Bin 0 -> 31776 bytes amdgpu/tahiti_me.bin | Bin 0 -> 8832 bytes amdgpu/tahiti_pfp.bin | Bin 0 -> 8832 bytes amdgpu/tahiti_rlc.bin | Bin 0 -> 8448 bytes amdgpu/tahiti_smc.bin | Bin 0 -> 63932 bytes amdgpu/tahiti_uvd.bin | Bin 0 -> 219928 bytes amdgpu/tonga_ce.bin | Bin 0 -> 8852 bytes amdgpu/tonga_k_smc.bin | Bin 0 -> 130460 bytes amdgpu/tonga_mc.bin | Bin 0 -> 31352 bytes amdgpu/tonga_me.bin | Bin 0 -> 17044 bytes amdgpu/tonga_mec.bin | Bin 0 -> 262824 bytes amdgpu/tonga_mec2.bin | Bin 0 -> 262824 bytes amdgpu/tonga_pfp.bin | Bin 0 -> 17044 bytes amdgpu/tonga_rlc.bin | Bin 0 -> 14756 bytes amdgpu/tonga_sdma.bin | Bin 0 -> 10644 bytes amdgpu/tonga_sdma1.bin | Bin 0 -> 10644 bytes amdgpu/tonga_smc.bin | Bin 0 -> 130460 bytes amdgpu/tonga_uvd.bin | Bin 0 -> 325312 bytes amdgpu/tonga_vce.bin | Bin 0 -> 161024 bytes amdgpu/topaz_ce.bin | Bin 0 -> 8832 bytes amdgpu/topaz_k_smc.bin | Bin 0 -> 80544 bytes amdgpu/topaz_mc.bin | Bin 0 -> 32100 bytes amdgpu/topaz_me.bin | Bin 0 -> 17024 bytes amdgpu/topaz_mec.bin | Bin 0 -> 262784 bytes amdgpu/topaz_mec2.bin | Bin 0 -> 262784 bytes amdgpu/topaz_pfp.bin | Bin 0 -> 17024 bytes amdgpu/topaz_rlc.bin | Bin 0 -> 8448 bytes amdgpu/topaz_sdma.bin | Bin 0 -> 8576 bytes amdgpu/topaz_sdma1.bin | Bin 0 -> 8576 bytes amdgpu/topaz_smc.bin | Bin 0 -> 80544 bytes amdgpu/vangogh_asd.bin | Bin 0 -> 172544 bytes amdgpu/vangogh_ce.bin | Bin 0 -> 263296 bytes amdgpu/vangogh_dmcub.bin | Bin 0 -> 85620 bytes amdgpu/vangogh_me.bin | Bin 0 -> 263424 bytes amdgpu/vangogh_mec.bin | Bin 0 -> 268720 bytes amdgpu/vangogh_mec2.bin | Bin 0 -> 268720 bytes amdgpu/vangogh_pfp.bin | Bin 0 -> 263424 bytes amdgpu/vangogh_rlc.bin | Bin 0 -> 45368 bytes amdgpu/vangogh_sdma.bin | Bin 0 -> 135424 bytes amdgpu/vangogh_toc.bin | Bin 0 -> 1792 bytes amdgpu/vangogh_vcn.bin | Bin 0 -> 579568 bytes amdgpu/vcn_3_1_2.bin | Bin 0 -> 571824 bytes amdgpu/vcn_4_0_0.bin | Bin 0 -> 379056 bytes amdgpu/vcn_4_0_2.bin | Bin 0 -> 367136 bytes amdgpu/vcn_4_0_4.bin | Bin 0 -> 379056 bytes amdgpu/vega10_acg_smc.bin | Bin 0 -> 262912 bytes amdgpu/vega10_asd.bin | Bin 0 -> 172544 bytes amdgpu/vega10_ce.bin | Bin 0 -> 9344 bytes amdgpu/vega10_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/vega10_me.bin | Bin 0 -> 17536 bytes amdgpu/vega10_mec.bin | Bin 0 -> 268064 bytes amdgpu/vega10_mec2.bin | Bin 0 -> 268064 bytes amdgpu/vega10_pfp.bin | Bin 0 -> 21632 bytes amdgpu/vega10_rlc.bin | Bin 0 -> 17152 bytes amdgpu/vega10_sdma.bin | Bin 0 -> 17408 bytes amdgpu/vega10_sdma1.bin | Bin 0 -> 17408 bytes amdgpu/vega10_smc.bin | Bin 0 -> 262912 bytes amdgpu/vega10_sos.bin | Bin 0 -> 166800 bytes amdgpu/vega10_uvd.bin | Bin 0 -> 380832 bytes amdgpu/vega10_vce.bin | Bin 0 -> 173856 bytes amdgpu/vega12_asd.bin | Bin 0 -> 172544 bytes amdgpu/vega12_ce.bin | Bin 0 -> 9344 bytes amdgpu/vega12_gpu_info.bin | Bin 0 -> 316 bytes amdgpu/vega12_me.bin | Bin 0 -> 17536 bytes amdgpu/vega12_mec.bin | Bin 0 -> 268064 bytes amdgpu/vega12_mec2.bin | Bin 0 -> 268064 bytes amdgpu/vega12_pfp.bin | Bin 0 -> 21632 bytes amdgpu/vega12_rlc.bin | Bin 0 -> 28636 bytes amdgpu/vega12_sdma.bin | Bin 0 -> 17408 bytes amdgpu/vega12_sdma1.bin | Bin 0 -> 17408 bytes amdgpu/vega12_smc.bin | Bin 0 -> 262912 bytes amdgpu/vega12_sos.bin | Bin 0 -> 166800 bytes amdgpu/vega12_uvd.bin | Bin 0 -> 380832 bytes amdgpu/vega12_vce.bin | Bin 0 -> 173856 bytes amdgpu/vega20_asd.bin | Bin 0 -> 172544 bytes amdgpu/vega20_ce.bin | Bin 0 -> 9344 bytes amdgpu/vega20_me.bin | Bin 0 -> 17536 bytes amdgpu/vega20_mec.bin | Bin 0 -> 268064 bytes amdgpu/vega20_mec2.bin | Bin 0 -> 268064 bytes amdgpu/vega20_pfp.bin | Bin 0 -> 21632 bytes amdgpu/vega20_rlc.bin | Bin 0 -> 49436 bytes amdgpu/vega20_sdma.bin | Bin 0 -> 17408 bytes amdgpu/vega20_sdma1.bin | Bin 0 -> 17408 bytes amdgpu/vega20_smc.bin | Bin 0 -> 262912 bytes amdgpu/vega20_sos.bin | Bin 0 -> 174992 bytes amdgpu/vega20_ta.bin | Bin 0 -> 90880 bytes amdgpu/vega20_uvd.bin | Bin 0 -> 383520 bytes amdgpu/vega20_vce.bin | Bin 0 -> 173856 bytes amdgpu/vegam_ce.bin | Bin 0 -> 8852 bytes amdgpu/vegam_me.bin | Bin 0 -> 17044 bytes amdgpu/vegam_mec.bin | Bin 0 -> 262824 bytes amdgpu/vegam_mec2.bin | Bin 0 -> 262824 bytes amdgpu/vegam_pfp.bin | Bin 0 -> 17044 bytes amdgpu/vegam_rlc.bin | Bin 0 -> 16660 bytes amdgpu/vegam_sdma.bin | Bin 0 -> 12692 bytes amdgpu/vegam_sdma1.bin | Bin 0 -> 12692 bytes amdgpu/vegam_smc.bin | Bin 0 -> 130964 bytes amdgpu/vegam_uvd.bin | Bin 0 -> 375424 bytes amdgpu/vegam_vce.bin | Bin 0 -> 166816 bytes amdgpu/verde_ce.bin | Bin 0 -> 8832 bytes amdgpu/verde_k_smc.bin | Bin 0 -> 63804 bytes amdgpu/verde_mc.bin | Bin 0 -> 32044 bytes amdgpu/verde_me.bin | Bin 0 -> 8832 bytes amdgpu/verde_pfp.bin | Bin 0 -> 8832 bytes amdgpu/verde_rlc.bin | Bin 0 -> 8448 bytes amdgpu/verde_smc.bin | Bin 0 -> 61776 bytes amdgpu/verde_uvd.bin | Bin 0 -> 219928 bytes amdgpu/yellow_carp_asd.bin | Bin 0 -> 168448 bytes amdgpu/yellow_carp_ce.bin | Bin 0 -> 263296 bytes amdgpu/yellow_carp_dmcub.bin | Bin 0 -> 234000 bytes amdgpu/yellow_carp_me.bin | Bin 0 -> 263424 bytes amdgpu/yellow_carp_mec.bin | Bin 0 -> 268720 bytes amdgpu/yellow_carp_mec2.bin | Bin 0 -> 268720 bytes amdgpu/yellow_carp_pfp.bin | Bin 0 -> 263424 bytes amdgpu/yellow_carp_rlc.bin | Bin 0 -> 178128 bytes amdgpu/yellow_carp_sdma.bin | Bin 0 -> 34048 bytes amdgpu/yellow_carp_ta.bin | Bin 0 -> 205824 bytes amdgpu/yellow_carp_toc.bin | Bin 0 -> 1792 bytes amdgpu/yellow_carp_vcn.bin | Bin 0 -> 571824 bytes amphion/vpu/vpu_fw_imx8_dec.bin | Bin 0 -> 416876 bytes amphion/vpu/vpu_fw_imx8_enc.bin | Bin 0 -> 93728 bytes ar3k/AthrBT_0x01020001.dfu | Bin 0 -> 55244 bytes ar3k/AthrBT_0x01020200.dfu | Bin 0 -> 40724 bytes ar3k/AthrBT_0x01020201.dfu | Bin 0 -> 48188 bytes ar3k/AthrBT_0x11020000.dfu | Bin 0 -> 36828 bytes ar3k/AthrBT_0x11020100.dfu | Bin 0 -> 46852 bytes ar3k/AthrBT_0x31010000.dfu | Bin 0 -> 40652 bytes ar3k/AthrBT_0x31010100.dfu | Bin 0 -> 37796 bytes ar3k/AthrBT_0x41020000.dfu | Bin 0 -> 31500 bytes ar3k/ramps_0x01020001_26.dfu | Bin 0 -> 1224 bytes ar3k/ramps_0x01020200_26.dfu | Bin 0 -> 1274 bytes ar3k/ramps_0x01020200_40.dfu | Bin 0 -> 1204 bytes ar3k/ramps_0x01020201_26.dfu | Bin 0 -> 264 bytes ar3k/ramps_0x01020201_40.dfu | Bin 0 -> 264 bytes ar3k/ramps_0x11020000_40.dfu | Bin 0 -> 1796 bytes ar3k/ramps_0x11020100_40.dfu | Bin 0 -> 1802 bytes ar3k/ramps_0x31010000_40.dfu | Bin 0 -> 1926 bytes ar3k/ramps_0x31010100_40.dfu | Bin 0 -> 1922 bytes ar3k/ramps_0x41020000_40.dfu | Bin 0 -> 1820 bytes ar5523.bin | Bin 0 -> 153416 bytes ar7010.fw | Bin 0 -> 70624 bytes ar7010_1_1.fw | Bin 0 -> 70624 bytes ar9271.fw | Bin 0 -> 51312 bytes as102_data1_st.hex | 1259 ++++ as102_data2_st.hex | 1087 +++ ath10k/QCA4019/hw1.0/board-2.bin | Bin 0 -> 1798148 bytes ath10k/QCA4019/hw1.0/firmware-5.bin | Bin 0 -> 583344 bytes ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt | 589 ++ ath10k/QCA6174/hw2.1/board-2.bin | Bin 0 -> 263188 bytes ath10k/QCA6174/hw2.1/board.bin | Bin 0 -> 8124 bytes ath10k/QCA6174/hw2.1/firmware-5.bin | Bin 0 -> 498172 bytes ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt | 1126 +++ ath10k/QCA6174/hw3.0/board-2.bin | Bin 0 -> 740076 bytes ath10k/QCA6174/hw3.0/board.bin | Bin 0 -> 8124 bytes ath10k/QCA6174/hw3.0/firmware-4.bin | Bin 0 -> 733784 bytes ath10k/QCA6174/hw3.0/firmware-6.bin | Bin 0 -> 706004 bytes ath10k/QCA6174/hw3.0/firmware-sdio-6.bin | Bin 0 -> 607252 bytes ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt | 1748 +++++ ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt | 1352 ++++ .../hw3.0/notice_ath10k_firmware-sdio-6.txt | 1352 ++++ ath10k/QCA9377/hw1.0/board-2.bin | Bin 0 -> 304308 bytes ath10k/QCA9377/hw1.0/board.bin | Bin 0 -> 8124 bytes ath10k/QCA9377/hw1.0/firmware-5.bin | Bin 0 -> 783336 bytes ath10k/QCA9377/hw1.0/firmware-6.bin | Bin 0 -> 751436 bytes ath10k/QCA9377/hw1.0/firmware-sdio-5.bin | Bin 0 -> 617852 bytes ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt | 1128 +++ ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt | 1352 ++++ .../hw1.0/notice_ath10k_firmware-sdio-5.txt | 1128 +++ ath10k/QCA9887/hw1.0/board.bin | Bin 0 -> 1024 bytes ath10k/QCA9887/hw1.0/firmware-5.bin | Bin 0 -> 238548 bytes ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt | 328 + ath10k/QCA9888/hw2.0/board-2.bin | Bin 0 -> 206444 bytes ath10k/QCA9888/hw2.0/firmware-5.bin | Bin 0 -> 693700 bytes ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt | 589 ++ ath10k/QCA988X/hw2.0/board.bin | Bin 0 -> 2116 bytes ath10k/QCA988X/hw2.0/firmware-4.bin | Bin 0 -> 241892 bytes ath10k/QCA988X/hw2.0/firmware-5.bin | Bin 0 -> 249044 bytes ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt | 301 + ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt | 328 + ath10k/QCA9984/hw1.0/board-2.bin | Bin 0 -> 281312 bytes ath10k/QCA9984/hw1.0/firmware-5.bin | Bin 0 -> 681672 bytes ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt | 589 ++ ath10k/QCA99X0/hw2.0/board-2.bin | Bin 0 -> 169824 bytes ath10k/QCA99X0/hw2.0/firmware-5.bin | Bin 0 -> 479332 bytes ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt | 612 ++ ath10k/WCN3990/hw1.0/board-2.bin | Bin 0 -> 513892 bytes ath10k/WCN3990/hw1.0/firmware-5.bin | Bin 0 -> 60 bytes ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp | 571 ++ ath10k/WCN3990/hw1.0/wlanmdsp.mbn | Bin 0 -> 3725044 bytes ath11k/IPQ5018/hw1.0/Notice.txt | 4094 +++++++++++ ath11k/IPQ5018/hw1.0/board-2.bin | Bin 0 -> 524564 bytes ath11k/IPQ5018/hw1.0/m3_fw.b00 | Bin 0 -> 148 bytes ath11k/IPQ5018/hw1.0/m3_fw.b01 | Bin 0 -> 136 bytes ath11k/IPQ5018/hw1.0/m3_fw.b02 | Bin 0 -> 262144 bytes ath11k/IPQ5018/hw1.0/m3_fw.flist | 3 + ath11k/IPQ5018/hw1.0/m3_fw.mdt | Bin 0 -> 284 bytes ath11k/IPQ5018/hw1.0/q6_fw.b00 | Bin 0 -> 532 bytes ath11k/IPQ5018/hw1.0/q6_fw.b01 | Bin 0 -> 520 bytes ath11k/IPQ5018/hw1.0/q6_fw.b02 | Bin 0 -> 7552 bytes ath11k/IPQ5018/hw1.0/q6_fw.b03 | Bin 0 -> 545008 bytes ath11k/IPQ5018/hw1.0/q6_fw.b04 | Bin 0 -> 86788 bytes ath11k/IPQ5018/hw1.0/q6_fw.b05 | Bin 0 -> 17776 bytes ath11k/IPQ5018/hw1.0/q6_fw.b07 | Bin 0 -> 1488 bytes ath11k/IPQ5018/hw1.0/q6_fw.b08 | Bin 0 -> 4096 bytes ath11k/IPQ5018/hw1.0/q6_fw.b09 | Bin 0 -> 2330624 bytes ath11k/IPQ5018/hw1.0/q6_fw.b10 | Bin 0 -> 269028 bytes ath11k/IPQ5018/hw1.0/q6_fw.b11 | Bin 0 -> 99436 bytes ath11k/IPQ5018/hw1.0/q6_fw.b13 | Bin 0 -> 7024 bytes ath11k/IPQ5018/hw1.0/q6_fw.b14 | Bin 0 -> 1668 bytes ath11k/IPQ5018/hw1.0/q6_fw.flist | 13 + ath11k/IPQ5018/hw1.0/q6_fw.mdt | Bin 0 -> 1052 bytes ath11k/IPQ6018/hw1.0/Notice.txt | 4094 +++++++++++ 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 -> 2602320 bytes ath11k/IPQ6018/hw1.0/q6_fw.b04 | Bin 0 -> 386016 bytes ath11k/IPQ6018/hw1.0/q6_fw.b05 | Bin 0 -> 202532 bytes ath11k/IPQ6018/hw1.0/q6_fw.b07 | Bin 0 -> 9912 bytes ath11k/IPQ6018/hw1.0/q6_fw.b08 | Bin 0 -> 464564 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 | 4094 +++++++++++ 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 -> 2978704 bytes ath11k/IPQ8074/hw2.0/q6_fw.b04 | Bin 0 -> 982944 bytes ath11k/IPQ8074/hw2.0/q6_fw.b05 | Bin 0 -> 248260 bytes ath11k/IPQ8074/hw2.0/q6_fw.b07 | Bin 0 -> 10112 bytes ath11k/IPQ8074/hw2.0/q6_fw.b08 | Bin 0 -> 504104 bytes ath11k/IPQ8074/hw2.0/q6_fw.flist | 8 + ath11k/IPQ8074/hw2.0/q6_fw.mdt | Bin 0 -> 668 bytes ath11k/QCA6390/hw2.0/Notice.txt | 4160 +++++++++++ ath11k/QCA6390/hw2.0/amss.bin | Bin 0 -> 3628672 bytes ath11k/QCA6390/hw2.0/board-2.bin | Bin 0 -> 115984 bytes ath11k/QCA6390/hw2.0/m3.bin | Bin 0 -> 266684 bytes ath11k/QCN9074/hw1.0/Notice.txt | 4094 +++++++++++ ath11k/QCN9074/hw1.0/amss.bin | Bin 0 -> 3963336 bytes ath11k/QCN9074/hw1.0/board-2.bin | Bin 0 -> 786836 bytes ath11k/QCN9074/hw1.0/m3.bin | Bin 0 -> 340108 bytes ath11k/WCN6750/hw1.0/Notice.txt | 7402 ++++++++++++++++++++ ath11k/WCN6750/hw1.0/board-2.bin | Bin 0 -> 843548 bytes ath11k/WCN6750/hw1.0/wpss.b00 | Bin 0 -> 340 bytes ath11k/WCN6750/hw1.0/wpss.b01 | Bin 0 -> 6848 bytes ath11k/WCN6750/hw1.0/wpss.b02 | Bin 0 -> 10300 bytes ath11k/WCN6750/hw1.0/wpss.b03 | Bin 0 -> 4096 bytes ath11k/WCN6750/hw1.0/wpss.b04 | Bin 0 -> 5819999 bytes ath11k/WCN6750/hw1.0/wpss.b05 | Bin 0 -> 164332 bytes ath11k/WCN6750/hw1.0/wpss.b06 | Bin 0 -> 266684 bytes ath11k/WCN6750/hw1.0/wpss.b07 | Bin 0 -> 1176368 bytes ath11k/WCN6750/hw1.0/wpss.b08 | 0 ath11k/WCN6750/hw1.0/wpss.mdt | Bin 0 -> 7188 bytes ath11k/WCN6855/hw2.0/Notice.txt | 3658 ++++++++++ ath11k/WCN6855/hw2.0/amss.bin | Bin 0 -> 4980736 bytes ath11k/WCN6855/hw2.0/board-2.bin | Bin 0 -> 6278772 bytes ath11k/WCN6855/hw2.0/m3.bin | Bin 0 -> 266684 bytes ath11k/WCN6855/hw2.0/regdb.bin | Bin 0 -> 24310 bytes ath3k-1.fw | Bin 0 -> 246804 bytes ath6k/AR6003.1/hw2.1.1/athwlan.bin | Bin 0 -> 69434 bytes ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin | Bin 0 -> 1792 bytes ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin | Bin 0 -> 1792 bytes ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin | Bin 0 -> 1792 bytes ath6k/AR6003.1/hw2.1.1/data.patch.bin | Bin 0 -> 140 bytes ath6k/AR6003.1/hw2.1.1/endpointping.bin | Bin 0 -> 12893 bytes ath6k/AR6003.1/hw2.1.1/otp.bin | Bin 0 -> 2784 bytes ath6k/AR6003/hw1.0/athwlan.bin.z77 | Bin 0 -> 122209 bytes ath6k/AR6003/hw1.0/bdata.SD31.bin | Bin 0 -> 1024 bytes ath6k/AR6003/hw1.0/bdata.SD32.bin | Bin 0 -> 1024 bytes ath6k/AR6003/hw1.0/bdata.WB31.bin | Bin 0 -> 1024 bytes ath6k/AR6003/hw1.0/data.patch.bin | Bin 0 -> 5524 bytes ath6k/AR6003/hw1.0/otp.bin.z77 | Bin 0 -> 1665 bytes ath6k/AR6003/hw2.0/athwlan.bin.z77 | Bin 0 -> 100694 bytes ath6k/AR6003/hw2.0/bdata.SD31.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.0/bdata.SD32.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.0/bdata.WB31.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.0/data.patch.bin | Bin 0 -> 6012 bytes ath6k/AR6003/hw2.0/otp.bin.z77 | Bin 0 -> 3689 bytes ath6k/AR6003/hw2.1.1/athwlan.bin | Bin 0 -> 68975 bytes ath6k/AR6003/hw2.1.1/bdata.SD31.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.1.1/bdata.SD32.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.1.1/bdata.WB31.bin | Bin 0 -> 1792 bytes ath6k/AR6003/hw2.1.1/data.patch.bin | Bin 0 -> 140 bytes ath6k/AR6003/hw2.1.1/endpointping.bin | Bin 0 -> 12810 bytes ath6k/AR6003/hw2.1.1/fw-2.bin | Bin 0 -> 89844 bytes ath6k/AR6003/hw2.1.1/fw-3.bin | Bin 0 -> 104562 bytes ath6k/AR6003/hw2.1.1/otp.bin | Bin 0 -> 2783 bytes ath6k/AR6004/hw1.2/bdata.bin | Bin 0 -> 6144 bytes ath6k/AR6004/hw1.2/fw-2.bin | Bin 0 -> 53122 bytes ath6k/AR6004/hw1.3/bdata.bin | Bin 0 -> 6144 bytes ath6k/AR6004/hw1.3/fw-3.bin | Bin 0 -> 50662 bytes atusb/ChangeLog | 24 + av7110/Boot.S | 109 + av7110/Makefile | 11 + av7110/bootcode.bin | Bin 0 -> 212 bytes bnx2/bnx2-mips-06-6.2.3.fw | Bin 0 -> 92824 bytes bnx2/bnx2-mips-09-6.2.1b.fw | Bin 0 -> 103904 bytes bnx2/bnx2-rv2p-06-6.0.15.fw | Bin 0 -> 5696 bytes bnx2/bnx2-rv2p-09-6.0.17.fw | Bin 0 -> 6104 bytes bnx2/bnx2-rv2p-09ax-6.0.17.fw | Bin 0 -> 6616 bytes bnx2x/bnx2x-e1-7.13.1.0.fw | Bin 0 -> 170096 bytes bnx2x/bnx2x-e1-7.13.15.0.fw | Bin 0 -> 170168 bytes bnx2x/bnx2x-e1-7.13.21.0.fw | Bin 0 -> 170200 bytes bnx2x/bnx2x-e1h-7.13.1.0.fw | Bin 0 -> 178992 bytes bnx2x/bnx2x-e1h-7.13.15.0.fw | Bin 0 -> 178608 bytes bnx2x/bnx2x-e1h-7.13.21.0.fw | Bin 0 -> 178616 bytes bnx2x/bnx2x-e2-7.13.1.0.fw | Bin 0 -> 320936 bytes bnx2x/bnx2x-e2-7.13.15.0.fw | Bin 0 -> 323360 bytes bnx2x/bnx2x-e2-7.13.21.0.fw | Bin 0 -> 323416 bytes brcm/BCM-0bb4-0306.hcd | Bin 0 -> 54734 bytes brcm/bcm43xx-0.fw | Bin 0 -> 96224 bytes brcm/bcm43xx_hdr-0.fw | Bin 0 -> 180 bytes brcm/brcmfmac43143-sdio.bin | Bin 0 -> 385067 bytes brcm/brcmfmac43143.bin | Bin 0 -> 397312 bytes brcm/brcmfmac43236b.bin | Bin 0 -> 348160 bytes brcm/brcmfmac43241b0-sdio.bin | Bin 0 -> 459988 bytes brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt | 147 + ...1b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt | 149 + brcm/brcmfmac43241b4-sdio.bin | Bin 0 -> 403855 bytes brcm/brcmfmac43241b5-sdio.bin | Bin 0 -> 408682 bytes brcm/brcmfmac43242a.bin | Bin 0 -> 479232 bytes brcm/brcmfmac4329-sdio.bin | Bin 0 -> 253748 bytes brcm/brcmfmac4330-sdio.Prowise-PT301.txt | 89 + brcm/brcmfmac4330-sdio.bin | Bin 0 -> 223581 bytes brcm/brcmfmac4334-sdio.bin | Bin 0 -> 451566 bytes ...mac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.txt | 103 + brcm/brcmfmac43340-sdio.meegopad-t08.txt | 98 + brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt | 98 + brcm/brcmfmac43340-sdio.predia-basic.txt | 98 + brcm/brcmfmac4335-sdio.bin | Bin 0 -> 569291 bytes brcm/brcmfmac43362-sdio.WC121.txt | 36 + brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt | 45 + brcm/brcmfmac43430-sdio.AP6212.txt | 44 + brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt | 48 + brcm/brcmfmac43430-sdio.MUR1DX.txt | 44 + brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt | 47 + brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt | 51 + brcm/brcmfmac43430a0-sdio.bin | Bin 0 -> 382455 bytes brcm/brcmfmac43430a0-sdio.ilife-S806.txt | 47 + brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt | 49 + brcm/brcmfmac43455-sdio.AW-CM256SM.txt | 66 + brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt | 122 + brcm/brcmfmac43455-sdio.acepc-t8.txt | 73 + ...cmfmac43455-sdio.raspberrypi,3-model-b-plus.txt | 83 + brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt | 83 + brcm/brcmfmac4350-pcie.bin | Bin 0 -> 626140 bytes brcm/brcmfmac4350c2-pcie.bin | Bin 0 -> 623304 bytes ...ie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt | 139 + brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt | 137 + brcm/brcmfmac4356-pcie.gpd-win-pocket.txt | 121 + brcm/brcmfmac4356-sdio.AP6356S.txt | 122 + brcm/brcmfmac43569.bin | Bin 0 -> 557056 bytes brcm/brcmfmac4358-pcie.bin | Bin 0 -> 634361 bytes brcm/brcmfmac43602-pcie.ap.bin | Bin 0 -> 595472 bytes brcm/brcmfmac43602-pcie.bin | Bin 0 -> 635449 bytes brcm/brcmfmac4366b-pcie.bin | Bin 0 -> 1105361 bytes brcm/brcmfmac4366c-pcie.bin | Bin 0 -> 1120971 bytes brcm/brcmfmac4371-pcie.bin | Bin 0 -> 623448 bytes brcm/brcmfmac4373.bin | Bin 0 -> 479232 bytes cadence/mhdp8546.bin | Bin 0 -> 131072 bytes carl9170-1.fw | Bin 0 -> 13388 bytes carl9170fw/CMakeLists.txt | 19 + carl9170fw/COPYRIGHT | 19 + carl9170fw/GPL | 339 + carl9170fw/Kconfig | 5 + carl9170fw/README | 43 + carl9170fw/autogen.sh | 47 + carl9170fw/carlfw/CMakeLists.txt | 67 + carl9170fw/carlfw/Kconfig | 233 + carl9170fw/carlfw/carl9170.lds | 59 + carl9170fw/carlfw/include/cam.h | 49 + carl9170fw/carlfw/include/carl9170.h | 222 + carl9170fw/carlfw/include/cmd.h | 55 + carl9170fw/carlfw/include/config.h | 64 + carl9170fw/carlfw/include/dma.h | 349 + carl9170fw/carlfw/include/fwdsc.h | 50 + carl9170fw/carlfw/include/gpio.h | 45 + carl9170fw/carlfw/include/hostif.h | 47 + carl9170fw/carlfw/include/io.h | 153 + carl9170fw/carlfw/include/printf.h | 107 + carl9170fw/carlfw/include/rf.h | 37 + carl9170fw/carlfw/include/rom.h | 82 + carl9170fw/carlfw/include/timer.h | 88 + carl9170fw/carlfw/include/uart.h | 37 + carl9170fw/carlfw/include/usb.h | 191 + carl9170fw/carlfw/include/usb_fifo.h | 244 + carl9170fw/carlfw/include/wl.h | 296 + carl9170fw/carlfw/include/wol.h | 67 + carl9170fw/carlfw/src/ashlsi3.S | 193 + carl9170fw/carlfw/src/cam.c | 161 + carl9170fw/carlfw/src/cmd.c | 154 + carl9170fw/carlfw/src/dma.c | 255 + carl9170fw/carlfw/src/fw.c | 116 + carl9170fw/carlfw/src/gpio.c | 52 + carl9170fw/carlfw/src/hostif.c | 165 + carl9170fw/carlfw/src/main.c | 256 + carl9170fw/carlfw/src/memcpy.S | 228 + carl9170fw/carlfw/src/memset.S | 58 + carl9170fw/carlfw/src/printf.c | 161 + carl9170fw/carlfw/src/reboot.S | 11 + carl9170fw/carlfw/src/rf.c | 277 + carl9170fw/carlfw/src/uart.c | 76 + carl9170fw/carlfw/src/udivsi3_i4i-Os.S | 149 + carl9170fw/carlfw/src/wlan.c | 1211 ++++ carl9170fw/carlfw/src/wol.c | 287 + carl9170fw/carlfw/usb/Kconfig | 37 + carl9170fw/carlfw/usb/fifo.c | 206 + carl9170fw/carlfw/usb/main.c | 432 ++ carl9170fw/carlfw/usb/usb.c | 758 ++ carl9170fw/config/CMakeLists.txt | 27 + carl9170fw/config/conf.c | 646 ++ carl9170fw/config/confdata.c | 1170 ++++ carl9170fw/config/expr.c | 1168 +++ carl9170fw/config/expr.h | 225 + carl9170fw/config/lkc.h | 190 + carl9170fw/config/lkc_proto.h | 54 + carl9170fw/config/menu.c | 607 ++ carl9170fw/config/symbol.c | 1310 ++++ carl9170fw/config/util.c | 140 + carl9170fw/config/zconf.gperf | 47 + carl9170fw/config/zconf.l | 364 + carl9170fw/config/zconf.y | 740 ++ carl9170fw/extra/FindGPERF.cmake | 160 + .../extra/FindPackageHandleStandardArgs.cmake | 278 + carl9170fw/extra/FindUSB-1.0.cmake | 112 + carl9170fw/extra/GCCVersion.cmake | 60 + carl9170fw/extra/libusb-zeropacket.diff | 38 + carl9170fw/extra/sh-elf-linux.cmake | 21 + carl9170fw/genapi.sh | 11 + carl9170fw/include/linux/ch9.h | 803 +++ carl9170fw/include/linux/compiler.h | 107 + carl9170fw/include/linux/ieee80211.h | 1918 +++++ carl9170fw/include/linux/types.h | 61 + carl9170fw/include/shared/eeprom.h | 216 + carl9170fw/include/shared/fwcmd.h | 318 + carl9170fw/include/shared/fwdesc.h | 277 + carl9170fw/include/shared/hw.h | 817 +++ carl9170fw/include/shared/phy.h | 564 ++ carl9170fw/include/shared/version.h | 7 + carl9170fw/include/shared/wlan.h | 435 ++ carl9170fw/minifw/CMakeLists.txt | 20 + carl9170fw/minifw/Kconfig | 3 + carl9170fw/minifw/miniboot.S | 7 + carl9170fw/minifw/miniboot.lds | 20 + carl9170fw/toolchain/Makefile | 66 + carl9170fw/toolchain/SHA256SUMS | 3 + carl9170fw/tools/CMakeLists.txt | 38 + carl9170fw/tools/Kconfig | 12 + carl9170fw/tools/carlu/CMakeLists.txt | 18 + carl9170fw/tools/carlu/src/carlu.h | 147 + carl9170fw/tools/carlu/src/cmd.c | 189 + carl9170fw/tools/carlu/src/cmd.h | 135 + carl9170fw/tools/carlu/src/debug.c | 101 + carl9170fw/tools/carlu/src/debug.h | 72 + carl9170fw/tools/carlu/src/fw.c | 131 + carl9170fw/tools/carlu/src/main.c | 307 + carl9170fw/tools/carlu/src/rx.c | 181 + carl9170fw/tools/carlu/src/test.c | 237 + carl9170fw/tools/carlu/src/test.h | 35 + carl9170fw/tools/carlu/src/tx.c | 213 + carl9170fw/tools/carlu/src/usb.c | 793 +++ carl9170fw/tools/carlu/src/usb.h | 68 + carl9170fw/tools/include/frame.h | 401 ++ carl9170fw/tools/include/list.h | 92 + carl9170fw/tools/lib/CMakeLists.txt | 7 + carl9170fw/tools/lib/carlfw.c | 630 ++ carl9170fw/tools/lib/carlfw.h | 67 + carl9170fw/tools/src/CMakeLists.txt | 13 + carl9170fw/tools/src/checksum.c | 89 + carl9170fw/tools/src/eeprom_fix.c | 326 + carl9170fw/tools/src/fwinfo.c | 331 + carl9170fw/tools/src/miniboot.c | 200 + carl9170fw/tools/src/wol.c | 209 + cavium/cnn55xx_ae.fw | Bin 0 -> 15794 bytes cavium/cnn55xx_se.fw | Bin 0 -> 35010 bytes cbfw-3.2.5.1.bin | Bin 0 -> 414480 bytes check_whence.py | 110 + cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin | Bin 0 -> 1976 bytes cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin | Bin 0 -> 1976 bytes cirrus/cs35l41-dsp1-spk-cali-103c8971.bin | Bin 0 -> 1868 bytes cirrus/cs35l41-dsp1-spk-cali-103c8972.bin | Bin 0 -> 1868 bytes cirrus/cs35l41-dsp1-spk-cali-103c8973.bin | Bin 0 -> 1888 bytes cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin | Bin 0 -> 1920 bytes cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin | Bin 0 -> 1920 bytes cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin | Bin 0 -> 2012 bytes cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin | Bin 0 -> 1968 bytes cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin | Bin 0 -> 2012 bytes cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin | Bin 0 -> 1968 bytes cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin | Bin 0 -> 1972 bytes cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin | Bin 0 -> 1960 bytes cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin | Bin 0 -> 1776 bytes cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin | Bin 0 -> 1776 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin | Bin 0 -> 1868 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin | Bin 0 -> 1892 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin | Bin 0 -> 1884 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin | Bin 0 -> 1868 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin | Bin 0 -> 1888 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin | Bin 0 -> 1964 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin | Bin 0 -> 1968 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin | Bin 0 -> 1964 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin | Bin 0 -> 1968 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin | Bin 0 -> 1952 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin | Bin 0 -> 1952 bytes cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin | Bin 0 -> 1856 bytes .../cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin | Bin 0 -> 1976 bytes .../cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin | Bin 0 -> 1976 bytes .../cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin | Bin 0 -> 1976 bytes .../cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin | Bin 0 -> 1976 bytes .../cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin | Bin 0 -> 1968 bytes .../cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin | Bin 0 -> 1972 bytes .../cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin | Bin 0 -> 1968 bytes .../cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin | Bin 0 -> 1972 bytes .../cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin | Bin 0 -> 1876 bytes .../cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin | Bin 0 -> 1996 bytes .../cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin | Bin 0 -> 1996 bytes .../cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin | Bin 0 -> 1996 bytes .../cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin | Bin 0 -> 1996 bytes .../cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin | Bin 0 -> 2012 bytes .../cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin | Bin 0 -> 2012 bytes .../cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin | Bin 0 -> 2012 bytes .../cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin | Bin 0 -> 2012 bytes .../cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin | Bin 0 -> 1956 bytes .../cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin | Bin 0 -> 1932 bytes .../cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin | Bin 0 -> 1940 bytes .../cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin | Bin 0 -> 1916 bytes .../cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin | Bin 0 -> 1876 bytes .../cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin | Bin 0 -> 1884 bytes .../cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin | Bin 0 -> 1888 bytes .../cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin | Bin 0 -> 1888 bytes cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin | Bin 0 -> 1564 bytes cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin | Bin 0 -> 1564 bytes cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin | Bin 0 -> 1556 bytes cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin | Bin 0 -> 1556 bytes .../cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin | Bin 0 -> 1592 bytes .../cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin | Bin 0 -> 1592 bytes .../cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin | Bin 0 -> 1608 bytes .../cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin | Bin 0 -> 1608 bytes cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin | Bin 0 -> 1528 bytes cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin | Bin 0 -> 1520 bytes cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin | Bin 0 -> 1528 bytes cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin | Bin 0 -> 1520 bytes cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin | Bin 0 -> 5420 bytes cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin | Bin 0 -> 5424 bytes cirrus/cs35l41-dsp1-spk-prot-103c8971.bin | Bin 0 -> 4904 bytes cirrus/cs35l41-dsp1-spk-prot-103c8972.bin | Bin 0 -> 4904 bytes cirrus/cs35l41-dsp1-spk-prot-103c8973.bin | Bin 0 -> 4924 bytes cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin | Bin 0 -> 5364 bytes cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin | Bin 0 -> 5364 bytes cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin | Bin 0 -> 5456 bytes cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin | Bin 0 -> 5448 bytes cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin | Bin 0 -> 5456 bytes cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin | Bin 0 -> 5448 bytes cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin | Bin 0 -> 5432 bytes cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin | Bin 0 -> 5404 bytes cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin | Bin 0 -> 4000 bytes cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin | Bin 0 -> 4000 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin | Bin 0 -> 4816 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin | Bin 0 -> 4840 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin | Bin 0 -> 4928 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin | Bin 0 -> 4820 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin | Bin 0 -> 4920 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin | Bin 0 -> 5408 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin | Bin 0 -> 5448 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin | Bin 0 -> 5408 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin | Bin 0 -> 5448 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin | Bin 0 -> 5416 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin | Bin 0 -> 5388 bytes cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin | Bin 0 -> 4816 bytes .../cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin | Bin 0 -> 4920 bytes .../cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin | Bin 0 -> 4920 bytes .../cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin | Bin 0 -> 4920 bytes .../cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin | Bin 0 -> 4920 bytes .../cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin | Bin 0 -> 4944 bytes .../cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin | Bin 0 -> 4948 bytes .../cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin | Bin 0 -> 4944 bytes .../cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin | Bin 0 -> 4948 bytes .../cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin | Bin 0 -> 4648 bytes .../cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin | Bin 0 -> 4656 bytes .../cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin | Bin 0 -> 5516 bytes .../cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin | Bin 0 -> 5516 bytes .../cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin | Bin 0 -> 5516 bytes .../cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin | Bin 0 -> 5516 bytes .../cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin | Bin 0 -> 5532 bytes .../cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin | Bin 0 -> 5532 bytes .../cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin | Bin 0 -> 5532 bytes .../cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin | Bin 0 -> 5532 bytes .../cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin | Bin 0 -> 4932 bytes .../cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin | Bin 0 -> 4908 bytes .../cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin | Bin 0 -> 4916 bytes .../cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin | Bin 0 -> 4892 bytes .../cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin | Bin 0 -> 4656 bytes .../cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin | Bin 0 -> 4648 bytes .../cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin | Bin 0 -> 4656 bytes .../cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin | Bin 0 -> 4656 bytes .../cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin | Bin 0 -> 4660 bytes .../cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin | Bin 0 -> 4660 bytes cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin | Bin 0 -> 5016 bytes cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin | Bin 0 -> 5016 bytes cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin | Bin 0 -> 4868 bytes cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin | Bin 0 -> 4868 bytes .../cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin | Bin 0 -> 4908 bytes .../cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin | Bin 0 -> 4908 bytes .../cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin | Bin 0 -> 4924 bytes .../cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin | Bin 0 -> 4876 bytes .../cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin | Bin 0 -> 5392 bytes .../cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin | Bin 0 -> 5392 bytes .../cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin | Bin 0 -> 4984 bytes .../cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin | Bin 0 -> 4984 bytes .../cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin | Bin 0 -> 5008 bytes .../cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin | Bin 0 -> 5012 bytes .../cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin | Bin 0 -> 5008 bytes .../cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin | Bin 0 -> 5012 bytes cirrus/cs35l41-dsp1-spk-prot.bin | Bin 0 -> 948 bytes cirrus/cs35l41-dsp1-spk-prot.wmfw | Bin 0 -> 34056 bytes .../v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw | Bin 0 -> 31060 bytes .../v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw | Bin 0 -> 33988 bytes .../v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw | Bin 0 -> 34068 bytes .../v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw | Bin 0 -> 34060 bytes cis/3CCFEM556.cis | Bin 0 -> 137 bytes cis/3CXEM556.cis | Bin 0 -> 134 bytes cis/COMpad2.cis | Bin 0 -> 109 bytes cis/COMpad4.cis | Bin 0 -> 76 bytes cis/DP83903.cis | Bin 0 -> 136 bytes cis/LA-PCM.cis | Bin 0 -> 253 bytes cis/MT5634ZLX.cis | Bin 0 -> 107 bytes cis/Makefile | 14 + cis/NE2K.cis | Bin 0 -> 54 bytes cis/PCMLM28.cis | Bin 0 -> 210 bytes cis/PE-200.cis | Bin 0 -> 68 bytes cis/PE520.cis | Bin 0 -> 74 bytes cis/RS-COM-2P.cis | Bin 0 -> 86 bytes cis/SW_555_SER.cis | Bin 0 -> 122 bytes cis/SW_7xx_SER.cis | Bin 0 -> 140 bytes cis/SW_8xx_SER.cis | Bin 0 -> 132 bytes cis/src/3CCFEM556.cis | 22 + cis/src/3CXEM556.cis | 22 + cis/src/COMpad2.cis | 20 + cis/src/COMpad4.cis | 14 + cis/src/DP83903.cis | 24 + cis/src/LA-PCM.cis | 44 + cis/src/MT5634ZLX.cis | 18 + cis/src/NE2K.cis | 10 + cis/src/PCMLM28.cis | 37 + cis/src/PE-200.cis | 11 + cis/src/PE520.cis | 11 + cis/src/RS-COM-2P.cis | 14 + cis/src/tamarack.cis | 17 + cis/tamarack.cis | Bin 0 -> 85 bytes cmmb_vega_12mhz.inp | Bin 0 -> 62780 bytes cmmb_venice_12mhz.inp | Bin 0 -> 97016 bytes cnm/wave521c_k3_codec_fw.bin | Bin 0 -> 998848 bytes configure | 4 + copy-firmware.sh | 105 + ct2fw-3.2.5.1.bin | Bin 0 -> 584216 bytes ctefx.bin | Bin 0 -> 655436 bytes ctfw-3.2.5.1.bin | Bin 0 -> 539144 bytes ctspeq.bin | Bin 0 -> 4120 bytes cxgb3/ael2005_opt_edc.bin | Bin 0 -> 1088 bytes cxgb3/ael2005_twx_edc.bin | Bin 0 -> 1468 bytes cxgb3/ael2020_twx_edc.bin | Bin 0 -> 1584 bytes cxgb3/t3b_psram-1.1.0.bin | Bin 0 -> 2564 bytes cxgb3/t3c_psram-1.1.0.bin | Bin 0 -> 2564 bytes cxgb3/t3fw-7.10.0.bin | Bin 0 -> 30932 bytes cxgb3/t3fw-7.12.0.bin | Bin 0 -> 31812 bytes cxgb3/t3fw-7.4.0.bin | Bin 0 -> 30648 bytes cxgb4/aq1202_fw.cld | Bin 0 -> 179202 bytes cxgb4/bcm8483.bin | Bin 0 -> 208900 bytes cxgb4/configs/t4-config-default.txt | 562 ++ cxgb4/configs/t5-config-default.txt | 613 ++ cxgb4/configs/t5-config-hashfilter.txt | 467 ++ cxgb4/configs/t6-config-default.txt | 603 ++ cxgb4/configs/t6-config-hashfilter.txt | 430 ++ cxgb4/t4fw-1.27.3.0.bin | Bin 0 -> 570880 bytes cxgb4/t5fw-1.27.3.0.bin | Bin 0 -> 678912 bytes cxgb4/t6fw-1.27.3.0.bin | Bin 0 -> 730624 bytes cypress/cyfmac43012-sdio.bin | Bin 0 -> 490686 bytes cypress/cyfmac43012-sdio.clm_blob | Bin 0 -> 4692 bytes cypress/cyfmac43340-sdio.bin | Bin 0 -> 409717 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 -> 615882 bytes cypress/cyfmac54591-pcie.clm_blob | Bin 0 -> 5764 bytes dabusb/bitstream.bin | Bin 0 -> 12042 bytes dabusb/firmware.fw | Bin 0 -> 9822 bytes dsp56k/Makefile | 6 + dsp56k/bootstrap.asm | 98 + dsp56k/bootstrap.bin | Bin 0 -> 375 bytes dsp56k/concat-bootstrap.pl | 33 + dvb-fe-xc4000-1.4.1.fw | Bin 0 -> 18643 bytes dvb-fe-xc5000-1.6.114.fw | Bin 0 -> 12401 bytes dvb-fe-xc5000c-4.1.30.7.fw | Bin 0 -> 16497 bytes dvb-usb-dib0700-1.20.fw | Bin 0 -> 33768 bytes dvb-usb-it9135-01.fw | Bin 0 -> 8128 bytes dvb-usb-it9135-02.fw | Bin 0 -> 5834 bytes dvb-usb-terratec-h5-drxk.fw | Bin 0 -> 50222 bytes dvb_nova_12mhz.inp | Bin 0 -> 93516 bytes dvb_nova_12mhz_b0.inp | Bin 0 -> 101888 bytes e100/d101m_ucode.bin | Bin 0 -> 539 bytes e100/d101s_ucode.bin | Bin 0 -> 539 bytes e100/d102e_ucode.bin | Bin 0 -> 539 bytes ene-ub6250/ms_init.bin | Bin 0 -> 2048 bytes ene-ub6250/ms_rdwr.bin | Bin 0 -> 2048 bytes ene-ub6250/msp_rdwr.bin | Bin 0 -> 2048 bytes ene-ub6250/sd_init1.bin | Bin 0 -> 2048 bytes ene-ub6250/sd_init2.bin | Bin 0 -> 2048 bytes ene-ub6250/sd_rdwr.bin | Bin 0 -> 2048 bytes f2255usb.bin | Bin 0 -> 181312 bytes go7007/go7007fw.bin | Bin 0 -> 30800 bytes go7007/go7007tv.bin | Bin 0 -> 124668 bytes go7007/lr192.fw | Bin 0 -> 5793 bytes go7007/px-m402u.fw | Bin 0 -> 5838 bytes go7007/px-tv402u.fw | Bin 0 -> 6581 bytes go7007/s2250-1.fw | Bin 0 -> 1092 bytes go7007/s2250-2.fw | Bin 0 -> 9508 bytes go7007/wis-startrek.fw | Bin 0 -> 6381 bytes hfi1_dc8051.fw | Bin 0 -> 32348 bytes hfi1_fabric.fw | Bin 0 -> 16848 bytes hfi1_pcie.fw | Bin 0 -> 33296 bytes hfi1_sbus.fw | Bin 0 -> 5360 bytes htc_7010.fw | Bin 0 -> 72684 bytes htc_9271.fw | Bin 0 -> 50980 bytes i915/adlp_dmc.bin | Bin 0 -> 79044 bytes i915/adlp_dmc_ver2_09.bin | Bin 0 -> 44636 bytes i915/adlp_dmc_ver2_10.bin | Bin 0 -> 44616 bytes i915/adlp_dmc_ver2_12.bin | Bin 0 -> 72104 bytes i915/adlp_dmc_ver2_14.bin | Bin 0 -> 77300 bytes i915/adlp_dmc_ver2_16.bin | Bin 0 -> 77084 bytes i915/adlp_guc_62.0.3.bin | Bin 0 -> 336704 bytes i915/adlp_guc_69.0.3.bin | Bin 0 -> 356416 bytes i915/adlp_guc_70.1.1.bin | Bin 0 -> 289472 bytes i915/adlp_guc_70.bin | Bin 0 -> 297984 bytes i915/adls_dmc_ver2_01.bin | Bin 0 -> 18704 bytes i915/bxt_dmc_ver1_07.bin | Bin 0 -> 8380 bytes i915/bxt_guc_32.0.3.bin | Bin 0 -> 176256 bytes i915/bxt_guc_33.0.0.bin | Bin 0 -> 181888 bytes i915/bxt_guc_49.0.1.bin | Bin 0 -> 196224 bytes i915/bxt_guc_62.0.0.bin | Bin 0 -> 199616 bytes i915/bxt_guc_69.0.3.bin | Bin 0 -> 216768 bytes i915/bxt_guc_70.1.1.bin | Bin 0 -> 206464 bytes i915/bxt_guc_ver8_7.bin | Bin 0 -> 140928 bytes i915/bxt_guc_ver9_29.bin | Bin 0 -> 146432 bytes i915/bxt_huc_2.0.0.bin | Bin 0 -> 149824 bytes i915/bxt_huc_ver01_07_1398.bin | Bin 0 -> 154432 bytes i915/bxt_huc_ver01_8_2893.bin | Bin 0 -> 146880 bytes i915/cml_guc_33.0.0.bin | Bin 0 -> 182912 bytes i915/cml_guc_49.0.1.bin | Bin 0 -> 197184 bytes i915/cml_guc_62.0.0.bin | Bin 0 -> 200448 bytes i915/cml_guc_69.0.3.bin | Bin 0 -> 217664 bytes i915/cml_guc_70.1.1.bin | Bin 0 -> 206976 bytes i915/cml_huc_4.0.0.bin | Bin 0 -> 226048 bytes i915/cnl_dmc_ver1_07.bin | Bin 0 -> 11268 bytes i915/dg1_dmc_ver2_02.bin | Bin 0 -> 16624 bytes i915/dg1_guc_49.0.1.bin | Bin 0 -> 311872 bytes i915/dg1_guc_62.0.0.bin | Bin 0 -> 315648 bytes i915/dg1_guc_69.0.3.bin | Bin 0 -> 323968 bytes i915/dg1_guc_70.1.1.bin | Bin 0 -> 265152 bytes i915/dg1_guc_70.bin | Bin 0 -> 272512 bytes i915/dg1_huc.bin | Bin 0 -> 589888 bytes i915/dg1_huc_7.7.1.bin | Bin 0 -> 582400 bytes i915/dg1_huc_7.9.3.bin | Bin 0 -> 589888 bytes i915/dg2_dmc_ver2_06.bin | Bin 0 -> 22416 bytes i915/dg2_dmc_ver2_07.bin | Bin 0 -> 22488 bytes i915/dg2_dmc_ver2_08.bin | Bin 0 -> 22540 bytes i915/dg2_guc_70.1.2.bin | Bin 0 -> 365568 bytes i915/dg2_guc_70.4.1.bin | Bin 0 -> 369600 bytes i915/dg2_guc_70.bin | Bin 0 -> 369600 bytes i915/dg2_huc_gsc.bin | Bin 0 -> 622592 bytes i915/ehl_guc_33.0.4.bin | Bin 0 -> 396288 bytes i915/ehl_guc_49.0.1.bin | Bin 0 -> 324160 bytes i915/ehl_guc_62.0.0.bin | Bin 0 -> 327488 bytes i915/ehl_guc_69.0.3.bin | Bin 0 -> 343360 bytes i915/ehl_guc_70.1.1.bin | Bin 0 -> 274496 bytes i915/ehl_huc_9.0.0.bin | Bin 0 -> 498880 bytes i915/glk_dmc_ver1_04.bin | Bin 0 -> 8800 bytes i915/glk_guc_32.0.3.bin | Bin 0 -> 176640 bytes i915/glk_guc_33.0.0.bin | Bin 0 -> 182336 bytes i915/glk_guc_49.0.1.bin | Bin 0 -> 196672 bytes i915/glk_guc_62.0.0.bin | Bin 0 -> 200000 bytes i915/glk_guc_69.0.3.bin | Bin 0 -> 217216 bytes i915/glk_guc_70.1.1.bin | Bin 0 -> 206784 bytes i915/glk_huc_4.0.0.bin | Bin 0 -> 226048 bytes i915/glk_huc_ver03_01_2893.bin | Bin 0 -> 222080 bytes i915/icl_dmc_ver1_07.bin | Bin 0 -> 25716 bytes i915/icl_dmc_ver1_09.bin | Bin 0 -> 25952 bytes i915/icl_guc_32.0.3.bin | Bin 0 -> 380096 bytes i915/icl_guc_33.0.0.bin | Bin 0 -> 385280 bytes i915/icl_guc_49.0.1.bin | Bin 0 -> 324160 bytes i915/icl_guc_62.0.0.bin | Bin 0 -> 327488 bytes i915/icl_guc_69.0.3.bin | Bin 0 -> 343360 bytes i915/icl_guc_70.1.1.bin | Bin 0 -> 274496 bytes i915/icl_huc_9.0.0.bin | Bin 0 -> 498880 bytes i915/icl_huc_ver8_4_3238.bin | Bin 0 -> 488960 bytes i915/kbl_dmc_ver1_01.bin | Bin 0 -> 8616 bytes i915/kbl_dmc_ver1_04.bin | Bin 0 -> 8840 bytes i915/kbl_guc_32.0.3.bin | Bin 0 -> 176448 bytes i915/kbl_guc_33.0.0.bin | Bin 0 -> 182912 bytes i915/kbl_guc_49.0.1.bin | Bin 0 -> 197184 bytes i915/kbl_guc_62.0.0.bin | Bin 0 -> 200448 bytes i915/kbl_guc_69.0.3.bin | Bin 0 -> 217664 bytes i915/kbl_guc_70.1.1.bin | Bin 0 -> 206976 bytes i915/kbl_guc_ver9_14.bin | Bin 0 -> 142656 bytes i915/kbl_guc_ver9_39.bin | Bin 0 -> 147776 bytes i915/kbl_huc_4.0.0.bin | Bin 0 -> 226048 bytes i915/kbl_huc_ver02_00_1810.bin | Bin 0 -> 218688 bytes i915/mtl_dmc.bin | Bin 0 -> 49104 bytes i915/mtl_dmc_ver2_10.bin | Bin 0 -> 48112 bytes i915/mtl_guc_70.bin | Bin 0 -> 303936 bytes i915/mtl_huc_gsc.bin | Bin 0 -> 565248 bytes i915/rkl_dmc_ver2_02.bin | Bin 0 -> 18204 bytes i915/rkl_dmc_ver2_03.bin | Bin 0 -> 18476 bytes i915/skl_dmc_ver1_23.bin | Bin 0 -> 8824 bytes i915/skl_dmc_ver1_26.bin | Bin 0 -> 8928 bytes i915/skl_dmc_ver1_27.bin | Bin 0 -> 8928 bytes i915/skl_guc_32.0.3.bin | Bin 0 -> 175552 bytes i915/skl_guc_33.0.0.bin | Bin 0 -> 182080 bytes i915/skl_guc_49.0.1.bin | Bin 0 -> 196288 bytes i915/skl_guc_62.0.0.bin | Bin 0 -> 199552 bytes i915/skl_guc_69.0.3.bin | Bin 0 -> 216704 bytes i915/skl_guc_70.1.1.bin | Bin 0 -> 206208 bytes i915/skl_guc_ver1.bin | Bin 0 -> 109636 bytes i915/skl_guc_ver4.bin | Bin 0 -> 128320 bytes i915/skl_guc_ver6_1.bin | Bin 0 -> 129024 bytes i915/skl_guc_ver9_33.bin | Bin 0 -> 147520 bytes i915/skl_huc_2.0.0.bin | Bin 0 -> 136320 bytes i915/skl_huc_ver01_07_1398.bin | Bin 0 -> 140992 bytes i915/tgl_dmc_ver2_04.bin | Bin 0 -> 18436 bytes i915/tgl_dmc_ver2_06.bin | Bin 0 -> 18660 bytes i915/tgl_dmc_ver2_08.bin | Bin 0 -> 18932 bytes i915/tgl_dmc_ver2_12.bin | Bin 0 -> 19760 bytes i915/tgl_guc_35.2.0.bin | Bin 0 -> 417728 bytes i915/tgl_guc_49.0.1.bin | Bin 0 -> 321792 bytes i915/tgl_guc_62.0.0.bin | Bin 0 -> 326016 bytes i915/tgl_guc_69.0.3.bin | Bin 0 -> 343296 bytes i915/tgl_guc_70.1.1.bin | Bin 0 -> 277440 bytes i915/tgl_guc_70.bin | Bin 0 -> 285888 bytes i915/tgl_huc.bin | Bin 0 -> 589888 bytes i915/tgl_huc_7.0.12.bin | Bin 0 -> 530368 bytes i915/tgl_huc_7.0.3.bin | Bin 0 -> 521408 bytes i915/tgl_huc_7.5.0.bin | Bin 0 -> 580736 bytes i915/tgl_huc_7.9.3.bin | Bin 0 -> 589888 bytes imx/sdma/sdma-imx6q.bin | Bin 0 -> 2746 bytes imx/sdma/sdma-imx7d.bin | Bin 0 -> 2862 bytes inside-secure/eip197_minifw/ifpp.bin | Bin 0 -> 100 bytes inside-secure/eip197_minifw/ipue.bin | Bin 0 -> 108 bytes intel/avs/apl/dsp_basefw.bin | Bin 0 -> 505632 bytes intel/avs/cnl/dsp_basefw.bin | Bin 0 -> 588040 bytes intel/avs/skl/dsp_basefw.bin | Bin 0 -> 243016 bytes ...sp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin | Bin 0 -> 12288 bytes intel/catpt/bdw/dsp_basefw.bin | Bin 0 -> 260936 bytes intel/dsp_fw_bxtn_v3366.bin | Bin 0 -> 505608 bytes intel/dsp_fw_cnl_v1191.bin | Bin 0 -> 583852 bytes intel/dsp_fw_cnl_v1858.bin | Bin 0 -> 583852 bytes intel/dsp_fw_glk_v3366.bin | Bin 0 -> 505608 bytes intel/dsp_fw_kbl_v3402.bin | Bin 0 -> 247112 bytes intel/dsp_fw_kbl_v3420.bin | Bin 0 -> 243016 bytes intel/dsp_fw_release_v3402.bin | Bin 0 -> 247112 bytes intel/fw_sst_0f28.bin | Bin 0 -> 701622 bytes intel/fw_sst_0f28.bin-48kHz_i2s_master | Bin 0 -> 265684 bytes intel/fw_sst_0f28_ssp0.bin | Bin 0 -> 701622 bytes intel/fw_sst_22a8.bin | Bin 0 -> 701694 bytes intel/ibt-0040-0041.ddc | Bin 0 -> 13 bytes intel/ibt-0040-0041.sfi | Bin 0 -> 779712 bytes intel/ibt-0040-1020.ddc | Bin 0 -> 9 bytes intel/ibt-0040-1020.sfi | Bin 0 -> 764668 bytes intel/ibt-0040-2120.ddc | Bin 0 -> 9 bytes intel/ibt-0040-2120.sfi | Bin 0 -> 764668 bytes intel/ibt-0040-4150.ddc | Bin 0 -> 9 bytes intel/ibt-0040-4150.sfi | Bin 0 -> 779712 bytes intel/ibt-0041-0041.ddc | Bin 0 -> 9 bytes intel/ibt-0041-0041.sfi | Bin 0 -> 712688 bytes intel/ibt-1040-0041.ddc | Bin 0 -> 9 bytes intel/ibt-1040-0041.sfi | Bin 0 -> 779712 bytes intel/ibt-1040-1020.ddc | Bin 0 -> 9 bytes intel/ibt-1040-1020.sfi | Bin 0 -> 764668 bytes intel/ibt-1040-2120.ddc | Bin 0 -> 9 bytes intel/ibt-1040-2120.sfi | Bin 0 -> 764668 bytes intel/ibt-1040-4150.ddc | Bin 0 -> 9 bytes intel/ibt-1040-4150.sfi | Bin 0 -> 779712 bytes intel/ibt-11-5.ddc | Bin 0 -> 18 bytes intel/ibt-11-5.sfi | Bin 0 -> 586916 bytes intel/ibt-12-16.ddc | Bin 0 -> 14 bytes intel/ibt-12-16.sfi | Bin 0 -> 584092 bytes intel/ibt-17-0-1.ddc | Bin 0 -> 14 bytes intel/ibt-17-0-1.sfi | Bin 0 -> 625216 bytes intel/ibt-17-16-1.ddc | Bin 0 -> 9 bytes intel/ibt-17-16-1.sfi | Bin 0 -> 675372 bytes intel/ibt-18-0-1.ddc | Bin 0 -> 14 bytes intel/ibt-18-0-1.sfi | Bin 0 -> 625216 bytes intel/ibt-18-16-1.ddc | Bin 0 -> 9 bytes intel/ibt-18-16-1.sfi | Bin 0 -> 675372 bytes intel/ibt-19-0-0.ddc | Bin 0 -> 9 bytes intel/ibt-19-0-0.sfi | Bin 0 -> 801132 bytes intel/ibt-19-0-1.ddc | Bin 0 -> 9 bytes intel/ibt-19-0-1.sfi | Bin 0 -> 801132 bytes intel/ibt-19-0-3.ddc | Bin 0 -> 9 bytes intel/ibt-19-0-3.sfi | Bin 0 -> 801128 bytes intel/ibt-19-0-4.ddc | Bin 0 -> 9 bytes intel/ibt-19-0-4.sfi | Bin 0 -> 801132 bytes intel/ibt-19-16-4.ddc | Bin 0 -> 9 bytes intel/ibt-19-16-4.sfi | Bin 0 -> 801132 bytes intel/ibt-19-240-1.ddc | Bin 0 -> 9 bytes intel/ibt-19-240-1.sfi | Bin 0 -> 801132 bytes intel/ibt-19-240-4.ddc | Bin 0 -> 9 bytes intel/ibt-19-240-4.sfi | Bin 0 -> 801132 bytes intel/ibt-19-32-0.ddc | Bin 0 -> 9 bytes intel/ibt-19-32-0.sfi | Bin 0 -> 801132 bytes intel/ibt-19-32-1.ddc | Bin 0 -> 9 bytes intel/ibt-19-32-1.sfi | Bin 0 -> 801132 bytes intel/ibt-19-32-4.ddc | Bin 0 -> 9 bytes intel/ibt-19-32-4.sfi | Bin 0 -> 801132 bytes intel/ibt-20-0-3.ddc | Bin 0 -> 9 bytes intel/ibt-20-0-3.sfi | Bin 0 -> 799756 bytes intel/ibt-20-1-3.ddc | Bin 0 -> 9 bytes intel/ibt-20-1-3.sfi | Bin 0 -> 799756 bytes intel/ibt-20-1-4.ddc | Bin 0 -> 9 bytes intel/ibt-20-1-4.sfi | Bin 0 -> 799756 bytes intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq | Bin 0 -> 22069 bytes intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq | Bin 0 -> 25853 bytes intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq | Bin 0 -> 23105 bytes intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq | Bin 0 -> 25775 bytes intel/ibt-hw-37.7.bseq | Bin 0 -> 96 bytes intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq | Bin 0 -> 31056 bytes intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq | Bin 0 -> 39295 bytes intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq | Bin 0 -> 46893 bytes intel/ibt-hw-37.8.bseq | Bin 0 -> 96 bytes intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg | Bin 0 -> 725428 bytes .../ice_wireless_edge-1.3.10.0.pkg | Bin 0 -> 725428 bytes intel/ice/ddp/ice-1.3.30.0.pkg | Bin 0 -> 692660 bytes ...irci_ecr-master_20161208_0213_20170112_1500.bin | Bin 0 -> 1212984 bytes isci/Makefile | 23 + isci/README | 36 + isci/create_fw.c | 99 + isci/create_fw.h | 86 + isci/isci_firmware.bin | Bin 0 -> 232 bytes isci/probe_roms.h | 332 + isdbt_nova_12mhz.inp | Bin 0 -> 75876 bytes isdbt_nova_12mhz_b0.inp | Bin 0 -> 98384 bytes isdbt_rio.inp | Bin 0 -> 85840 bytes iwlwifi-100-5.ucode | Bin 0 -> 337572 bytes iwlwifi-1000-5.ucode | Bin 0 -> 337520 bytes iwlwifi-105-6.ucode | Bin 0 -> 689680 bytes iwlwifi-135-6.ucode | Bin 0 -> 701228 bytes iwlwifi-2000-6.ucode | Bin 0 -> 695876 bytes iwlwifi-2030-6.ucode | Bin 0 -> 707392 bytes iwlwifi-3160-17.ucode | Bin 0 -> 918268 bytes iwlwifi-3168-29.ucode | Bin 0 -> 1036288 bytes iwlwifi-3945-2.ucode | Bin 0 -> 150100 bytes iwlwifi-4965-2.ucode | Bin 0 -> 187972 bytes iwlwifi-5000-5.ucode | Bin 0 -> 340696 bytes iwlwifi-5150-2.ucode | Bin 0 -> 337400 bytes iwlwifi-6000-4.ucode | Bin 0 -> 454608 bytes iwlwifi-6000g2a-6.ucode | Bin 0 -> 677296 bytes iwlwifi-6000g2b-6.ucode | Bin 0 -> 679436 bytes iwlwifi-6050-5.ucode | Bin 0 -> 469780 bytes iwlwifi-7260-17.ucode | Bin 0 -> 1049340 bytes iwlwifi-7265-17.ucode | Bin 0 -> 1180412 bytes iwlwifi-7265D-29.ucode | Bin 0 -> 1036772 bytes iwlwifi-8000C-36.ucode | Bin 0 -> 2428004 bytes iwlwifi-8265-36.ucode | Bin 0 -> 2436632 bytes iwlwifi-9000-pu-b0-jf-b0-34.ucode | Bin 0 -> 2678284 bytes iwlwifi-9000-pu-b0-jf-b0-38.ucode | Bin 0 -> 2520568 bytes iwlwifi-9000-pu-b0-jf-b0-46.ucode | Bin 0 -> 1518772 bytes iwlwifi-9260-th-b0-jf-b0-34.ucode | Bin 0 -> 2678092 bytes iwlwifi-9260-th-b0-jf-b0-38.ucode | Bin 0 -> 2521412 bytes iwlwifi-9260-th-b0-jf-b0-46.ucode | Bin 0 -> 1489652 bytes iwlwifi-Qu-b0-hr-b0-50.ucode | Bin 0 -> 1103952 bytes iwlwifi-Qu-b0-hr-b0-59.ucode | Bin 0 -> 1300764 bytes iwlwifi-Qu-b0-hr-b0-66.ucode | Bin 0 -> 1344220 bytes iwlwifi-Qu-b0-hr-b0-72.ucode | Bin 0 -> 1370236 bytes iwlwifi-Qu-b0-hr-b0-73.ucode | Bin 0 -> 1369840 bytes iwlwifi-Qu-b0-hr-b0-74.ucode | Bin 0 -> 1371532 bytes iwlwifi-Qu-b0-hr-b0-77.ucode | Bin 0 -> 1404676 bytes iwlwifi-Qu-b0-jf-b0-50.ucode | Bin 0 -> 1053004 bytes iwlwifi-Qu-b0-jf-b0-59.ucode | Bin 0 -> 1226208 bytes iwlwifi-Qu-b0-jf-b0-66.ucode | Bin 0 -> 1262312 bytes iwlwifi-Qu-b0-jf-b0-72.ucode | Bin 0 -> 1285968 bytes iwlwifi-Qu-b0-jf-b0-73.ucode | Bin 0 -> 1290084 bytes iwlwifi-Qu-b0-jf-b0-74.ucode | Bin 0 -> 1290892 bytes iwlwifi-Qu-b0-jf-b0-77.ucode | Bin 0 -> 1321900 bytes iwlwifi-Qu-c0-hr-b0-50.ucode | Bin 0 -> 1103968 bytes iwlwifi-Qu-c0-hr-b0-59.ucode | Bin 0 -> 1300780 bytes iwlwifi-Qu-c0-hr-b0-66.ucode | Bin 0 -> 1344236 bytes iwlwifi-Qu-c0-hr-b0-72.ucode | Bin 0 -> 1370252 bytes iwlwifi-Qu-c0-hr-b0-73.ucode | Bin 0 -> 1369856 bytes iwlwifi-Qu-c0-hr-b0-74.ucode | Bin 0 -> 1371548 bytes iwlwifi-Qu-c0-hr-b0-77.ucode | Bin 0 -> 1404692 bytes iwlwifi-Qu-c0-jf-b0-50.ucode | Bin 0 -> 1053020 bytes iwlwifi-Qu-c0-jf-b0-59.ucode | Bin 0 -> 1226224 bytes iwlwifi-Qu-c0-jf-b0-66.ucode | Bin 0 -> 1262328 bytes iwlwifi-Qu-c0-jf-b0-72.ucode | Bin 0 -> 1285984 bytes iwlwifi-Qu-c0-jf-b0-73.ucode | Bin 0 -> 1290100 bytes iwlwifi-Qu-c0-jf-b0-74.ucode | Bin 0 -> 1290908 bytes iwlwifi-Qu-c0-jf-b0-77.ucode | Bin 0 -> 1321916 bytes iwlwifi-QuZ-a0-hr-b0-50.ucode | Bin 0 -> 1103952 bytes iwlwifi-QuZ-a0-hr-b0-59.ucode | Bin 0 -> 1299660 bytes iwlwifi-QuZ-a0-hr-b0-66.ucode | Bin 0 -> 1344216 bytes iwlwifi-QuZ-a0-hr-b0-72.ucode | Bin 0 -> 1370356 bytes iwlwifi-QuZ-a0-hr-b0-73.ucode | Bin 0 -> 1369976 bytes iwlwifi-QuZ-a0-hr-b0-74.ucode | Bin 0 -> 1371668 bytes iwlwifi-QuZ-a0-hr-b0-77.ucode | Bin 0 -> 1404820 bytes iwlwifi-QuZ-a0-jf-b0-50.ucode | Bin 0 -> 1053004 bytes iwlwifi-QuZ-a0-jf-b0-59.ucode | Bin 0 -> 1226064 bytes iwlwifi-QuZ-a0-jf-b0-66.ucode | Bin 0 -> 1262244 bytes iwlwifi-QuZ-a0-jf-b0-72.ucode | Bin 0 -> 1286088 bytes iwlwifi-QuZ-a0-jf-b0-73.ucode | Bin 0 -> 1290220 bytes iwlwifi-QuZ-a0-jf-b0-74.ucode | Bin 0 -> 1290972 bytes iwlwifi-QuZ-a0-jf-b0-77.ucode | Bin 0 -> 1321956 bytes iwlwifi-cc-a0-50.ucode | Bin 0 -> 1101228 bytes iwlwifi-cc-a0-59.ucode | Bin 0 -> 1261280 bytes iwlwifi-cc-a0-66.ucode | Bin 0 -> 1307180 bytes iwlwifi-cc-a0-72.ucode | Bin 0 -> 1329780 bytes iwlwifi-cc-a0-73.ucode | Bin 0 -> 1333296 bytes iwlwifi-cc-a0-74.ucode | Bin 0 -> 1334780 bytes iwlwifi-cc-a0-77.ucode | Bin 0 -> 1366120 bytes iwlwifi-so-a0-gf-a0-72.ucode | Bin 0 -> 1560532 bytes iwlwifi-so-a0-gf-a0-73.ucode | Bin 0 -> 1563692 bytes iwlwifi-so-a0-gf-a0-74.ucode | Bin 0 -> 1577460 bytes iwlwifi-so-a0-gf-a0-77.ucode | Bin 0 -> 1641260 bytes iwlwifi-so-a0-gf-a0-78.ucode | Bin 0 -> 1667236 bytes iwlwifi-so-a0-gf-a0-79.ucode | Bin 0 -> 1672988 bytes iwlwifi-so-a0-gf-a0-81.ucode | Bin 0 -> 1682852 bytes iwlwifi-so-a0-gf-a0.pnvm | Bin 0 -> 56048 bytes iwlwifi-so-a0-gf4-a0-72.ucode | Bin 0 -> 1580900 bytes iwlwifi-so-a0-gf4-a0-73.ucode | Bin 0 -> 1587800 bytes iwlwifi-so-a0-gf4-a0-74.ucode | Bin 0 -> 1602068 bytes iwlwifi-so-a0-gf4-a0-77.ucode | Bin 0 -> 1669164 bytes iwlwifi-so-a0-gf4-a0-78.ucode | Bin 0 -> 1711100 bytes iwlwifi-so-a0-gf4-a0-79.ucode | Bin 0 -> 1712776 bytes iwlwifi-so-a0-gf4-a0-81.ucode | Bin 0 -> 1691804 bytes iwlwifi-so-a0-gf4-a0.pnvm | Bin 0 -> 28252 bytes iwlwifi-so-a0-hr-b0-72.ucode | Bin 0 -> 1470384 bytes iwlwifi-so-a0-hr-b0-73.ucode | Bin 0 -> 1465208 bytes iwlwifi-so-a0-hr-b0-74.ucode | Bin 0 -> 1475876 bytes iwlwifi-so-a0-hr-b0-77.ucode | Bin 0 -> 1500532 bytes iwlwifi-so-a0-hr-b0-79.ucode | Bin 0 -> 1517148 bytes iwlwifi-so-a0-hr-b0-81.ucode | Bin 0 -> 1539288 bytes iwlwifi-so-a0-jf-b0-72.ucode | Bin 0 -> 1406312 bytes iwlwifi-so-a0-jf-b0-73.ucode | Bin 0 -> 1409336 bytes iwlwifi-so-a0-jf-b0-74.ucode | Bin 0 -> 1417940 bytes iwlwifi-so-a0-jf-b0-77.ucode | Bin 0 -> 1446036 bytes iwlwifi-ty-a0-gf-a0-59.ucode | Bin 0 -> 1413868 bytes iwlwifi-ty-a0-gf-a0-66.ucode | Bin 0 -> 1481960 bytes iwlwifi-ty-a0-gf-a0-72.ucode | Bin 0 -> 1499284 bytes iwlwifi-ty-a0-gf-a0-73.ucode | Bin 0 -> 1502900 bytes iwlwifi-ty-a0-gf-a0-74.ucode | Bin 0 -> 1533444 bytes iwlwifi-ty-a0-gf-a0-77.ucode | Bin 0 -> 1594276 bytes iwlwifi-ty-a0-gf-a0-78.ucode | Bin 0 -> 1620004 bytes iwlwifi-ty-a0-gf-a0-79.ucode | Bin 0 -> 1620704 bytes iwlwifi-ty-a0-gf-a0-81.ucode | Bin 0 -> 1628828 bytes iwlwifi-ty-a0-gf-a0.pnvm | Bin 0 -> 41876 bytes kaweth/new_code.bin | Bin 0 -> 3276 bytes kaweth/new_code_fix.bin | Bin 0 -> 622 bytes kaweth/trigger_code.bin | Bin 0 -> 182 bytes kaweth/trigger_code_fix.bin | Bin 0 -> 22 bytes keyspan_pda/Makefile | 12 + keyspan_pda/keyspan_pda.S | 1129 +++ keyspan_pda/keyspan_pda.fw | Bin 0 -> 1914 bytes keyspan_pda/xircom_pgs.S | 1192 ++++ keyspan_pda/xircom_pgs.fw | Bin 0 -> 2018 bytes lbtf_usb.bin | Bin 0 -> 118888 bytes libertas/cf8381.bin | Bin 0 -> 95132 bytes libertas/cf8381_helper.bin | Bin 0 -> 2132 bytes libertas/cf8385.bin | Bin 0 -> 97128 bytes libertas/cf8385_helper.bin | Bin 0 -> 2140 bytes libertas/gspi8686_v9.bin | Bin 0 -> 126652 bytes libertas/gspi8686_v9_helper.bin | Bin 0 -> 2140 bytes libertas/gspi8688.bin | Bin 0 -> 261596 bytes libertas/gspi8688_helper.bin | Bin 0 -> 2140 bytes libertas/sd8385.bin | Bin 0 -> 96716 bytes libertas/sd8385_helper.bin | Bin 0 -> 2140 bytes libertas/sd8686_v8.bin | Bin 0 -> 122800 bytes libertas/sd8686_v8_helper.bin | Bin 0 -> 2464 bytes libertas/sd8686_v9.bin | Bin 0 -> 124252 bytes libertas/sd8686_v9_helper.bin | Bin 0 -> 2516 bytes libertas/usb8388_olpc.bin | Bin 0 -> 127824 bytes libertas/usb8388_v5.bin | Bin 0 -> 100292 bytes libertas/usb8388_v9.bin | Bin 0 -> 126644 bytes libertas/usb8682.bin | Bin 0 -> 174332 bytes liquidio/lio_210nv_nic.bin | Bin 0 -> 1281464 bytes liquidio/lio_210sv_nic.bin | Bin 0 -> 1179352 bytes liquidio/lio_23xx_nic.bin | Bin 0 -> 1287264 bytes liquidio/lio_410nv_nic.bin | Bin 0 -> 1281464 bytes lt9611uxc_fw.bin | Bin 0 -> 17932 bytes matrox/g200_warp.fw | Bin 0 -> 11214 bytes matrox/g400_warp.fw | Bin 0 -> 16790 bytes mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin | Bin 0 -> 509974 bytes mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin | Bin 0 -> 532846 bytes mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin | Bin 0 -> 137632 bytes mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin | Bin 0 -> 92192 bytes mediatek/WIFI_RAM_CODE_MT7922_1.bin | Bin 0 -> 830324 bytes mediatek/WIFI_RAM_CODE_MT7961_1.bin | Bin 0 -> 722420 bytes mediatek/mt7601u.bin | Bin 0 -> 45412 bytes mediatek/mt7610e.bin | Bin 0 -> 80680 bytes mediatek/mt7610u.bin | Bin 0 -> 80288 bytes mediatek/mt7615_cr4.bin | Bin 0 -> 122644 bytes mediatek/mt7615_n9.bin | Bin 0 -> 457992 bytes mediatek/mt7615_rom_patch.bin | Bin 0 -> 11102 bytes mediatek/mt7622_n9.bin | Bin 0 -> 300376 bytes mediatek/mt7622_rom_patch.bin | Bin 0 -> 82110 bytes mediatek/mt7622pr2h.bin | Bin 0 -> 78158 bytes mediatek/mt7650.bin | Bin 0 -> 368220 bytes mediatek/mt7650e.bin | Bin 0 -> 382212 bytes mediatek/mt7662.bin | Bin 0 -> 81908 bytes mediatek/mt7662_rom_patch.bin | Bin 0 -> 26350 bytes mediatek/mt7662u.bin | Bin 0 -> 91412 bytes mediatek/mt7662u_rom_patch.bin | Bin 0 -> 20686 bytes mediatek/mt7663_n9_rebb.bin | Bin 0 -> 335072 bytes mediatek/mt7663_n9_v3.bin | Bin 0 -> 441688 bytes mediatek/mt7663pr2h.bin | Bin 0 -> 278558 bytes mediatek/mt7663pr2h_rebb.bin | Bin 0 -> 209230 bytes mediatek/mt7668pr2h.bin | Bin 0 -> 170990 bytes mediatek/mt7915_eeprom.bin | Bin 0 -> 3584 bytes mediatek/mt7915_eeprom_dbdc.bin | Bin 0 -> 3584 bytes mediatek/mt7915_rom_patch.bin | Bin 0 -> 144544 bytes mediatek/mt7915_wa.bin | Bin 0 -> 116160 bytes mediatek/mt7915_wm.bin | Bin 0 -> 1260960 bytes mediatek/mt7916_eeprom.bin | Bin 0 -> 4096 bytes mediatek/mt7916_rom_patch.bin | Bin 0 -> 8672 bytes mediatek/mt7916_wa.bin | Bin 0 -> 507856 bytes mediatek/mt7916_wm.bin | Bin 0 -> 1710304 bytes mediatek/mt7981_rom_patch.bin | Bin 0 -> 8736 bytes mediatek/mt7981_wa.bin | Bin 0 -> 492336 bytes mediatek/mt7981_wm.bin | Bin 0 -> 2052592 bytes mediatek/mt7981_wo.bin | Bin 0 -> 2427600 bytes mediatek/mt7986_eeprom_mt7975_dual.bin | Bin 0 -> 4096 bytes mediatek/mt7986_eeprom_mt7976.bin | Bin 0 -> 4096 bytes mediatek/mt7986_eeprom_mt7976_dbdc.bin | Bin 0 -> 4096 bytes mediatek/mt7986_eeprom_mt7976_dual.bin | Bin 0 -> 4096 bytes mediatek/mt7986_rom_patch.bin | Bin 0 -> 12768 bytes mediatek/mt7986_rom_patch_mt7975.bin | Bin 0 -> 12768 bytes mediatek/mt7986_wa.bin | Bin 0 -> 518784 bytes mediatek/mt7986_wm.bin | Bin 0 -> 2226016 bytes mediatek/mt7986_wm_mt7975.bin | Bin 0 -> 2226016 bytes mediatek/mt7986_wo_0.bin | Bin 0 -> 2428032 bytes mediatek/mt7986_wo_1.bin | Bin 0 -> 2428032 bytes mediatek/mt8173/vpu_d.bin | Bin 0 -> 2977184 bytes mediatek/mt8173/vpu_p.bin | Bin 0 -> 131180 bytes mediatek/mt8183/scp.img | Bin 0 -> 1030776 bytes mediatek/mt8186/scp.img | Bin 0 -> 419488 bytes mediatek/mt8192/scp.img | Bin 0 -> 309164 bytes mediatek/mt8195/scp.img | Bin 0 -> 639700 bytes mediatek/sof-tplg/sof-mt8186.tplg | Bin 0 -> 16191 bytes .../sof-mt8195-mt6359-rt1019-rt5682-dts.tplg | Bin 0 -> 20895 bytes .../sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg | Bin 0 -> 16191 bytes mediatek/sof/sof-mt8186.ldc | Bin 0 -> 48436 bytes mediatek/sof/sof-mt8186.ri | Bin 0 -> 128712 bytes mediatek/sof/sof-mt8195.ldc | Bin 0 -> 51168 bytes mediatek/sof/sof-mt8195.ri | Bin 0 -> 173832 bytes mellanox/lc_ini_bundle_2010_1006.bin | Bin 0 -> 12300 bytes mellanox/lc_ini_bundle_2010_1502.bin | Bin 0 -> 12300 bytes mellanox/lc_ini_bundle_2010_3020.bin | Bin 0 -> 12300 bytes mellanox/lc_ini_bundle_2010_3146.bin | Bin 0 -> 12300 bytes mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 | Bin 0 -> 932040 bytes mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 | Bin 0 -> 943856 bytes mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 | Bin 0 -> 984460 bytes mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 | Bin 0 -> 1072412 bytes mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 | Bin 0 -> 1005392 bytes mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 | Bin 0 -> 1131284 bytes mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 | Bin 0 -> 1265680 bytes mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 | Bin 0 -> 1263732 bytes mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 | Bin 0 -> 1154800 bytes mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 | Bin 0 -> 1147628 bytes mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 | Bin 0 -> 1303288 bytes mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 | Bin 0 -> 1309228 bytes mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 | Bin 0 -> 1359116 bytes mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 | Bin 0 -> 1365604 bytes mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 | Bin 0 -> 1239708 bytes mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 | Bin 0 -> 1262896 bytes mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 | Bin 0 -> 1512876 bytes mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 | Bin 0 -> 1510044 bytes mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 | Bin 0 -> 816704 bytes mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 | Bin 0 -> 841984 bytes mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 | Bin 0 -> 849228 bytes mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 | Bin 0 -> 846828 bytes mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 | Bin 0 -> 975888 bytes mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 | Bin 0 -> 985312 bytes mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 | Bin 0 -> 995788 bytes mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 | Bin 0 -> 983012 bytes mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 | Bin 0 -> 1036792 bytes mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 | Bin 0 -> 1083560 bytes mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 | Bin 0 -> 1127648 bytes mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 | Bin 0 -> 1153748 bytes mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 | Bin 0 -> 1164968 bytes mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 | Bin 0 -> 1170380 bytes mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 | Bin 0 -> 1270492 bytes mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 | Bin 0 -> 1291684 bytes meson/vdec/g12a_h264.bin | Bin 0 -> 36864 bytes meson/vdec/g12a_hevc_mmu.bin | Bin 0 -> 16384 bytes meson/vdec/g12a_vp9.bin | Bin 0 -> 16384 bytes meson/vdec/gxbb_h264.bin | Bin 0 -> 36864 bytes meson/vdec/gxl_h263.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_h264.bin | Bin 0 -> 36864 bytes meson/vdec/gxl_hevc.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_hevc_mmu.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_mjpeg.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_mpeg12.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_mpeg4_5.bin | Bin 0 -> 16384 bytes meson/vdec/gxl_vp9.bin | Bin 0 -> 16384 bytes meson/vdec/gxm_h264.bin | Bin 0 -> 36864 bytes meson/vdec/sm1_hevc_mmu.bin | Bin 0 -> 16384 bytes meson/vdec/sm1_vp9_mmu.bin | Bin 0 -> 16384 bytes microchip/mscc_vsc8574_revb_int8051_29e8.bin | Bin 0 -> 1655 bytes microchip/mscc_vsc8584_revb_int8051_fb48.bin | Bin 0 -> 92 bytes moxa/moxa-1110.fw | Bin 0 -> 12462 bytes moxa/moxa-1130.fw | Bin 0 -> 12462 bytes moxa/moxa-1131.fw | Bin 0 -> 12462 bytes moxa/moxa-1150.fw | Bin 0 -> 12462 bytes moxa/moxa-1151.fw | Bin 0 -> 12462 bytes moxa/moxa-1250.fw | Bin 0 -> 33681 bytes moxa/moxa-1251.fw | Bin 0 -> 33685 bytes moxa/moxa-1410.fw | Bin 0 -> 33521 bytes moxa/moxa-1450.fw | Bin 0 -> 33521 bytes moxa/moxa-1451.fw | Bin 0 -> 33525 bytes moxa/moxa-1613.fw | Bin 0 -> 33529 bytes moxa/moxa-1618.fw | Bin 0 -> 33525 bytes moxa/moxa-1653.fw | Bin 0 -> 33529 bytes moxa/moxa-1658.fw | Bin 0 -> 33525 bytes mrvl/cpt01/ae.out | Bin 0 -> 9376 bytes mrvl/cpt01/ie.out | Bin 0 -> 51312 bytes mrvl/cpt01/se.out | Bin 0 -> 55600 bytes mrvl/cpt02/ae.out | Bin 0 -> 16192 bytes mrvl/cpt02/ie.out | Bin 0 -> 52896 bytes mrvl/cpt02/se.out | Bin 0 -> 58080 bytes mrvl/cpt03/ae.out | Bin 0 -> 10560 bytes mrvl/cpt03/ie.out | Bin 0 -> 52560 bytes mrvl/cpt03/se.out | Bin 0 -> 56784 bytes mrvl/cpt04/ae.out | Bin 0 -> 10592 bytes mrvl/cpt04/ie.out | Bin 0 -> 29872 bytes mrvl/cpt04/se.out | Bin 0 -> 34768 bytes mrvl/pcie8897_uapsta.bin | Bin 0 -> 723540 bytes mrvl/pcie8997_wlan_v4.bin | Bin 0 -> 456488 bytes mrvl/pcieuart8997_combo_v4.bin | Bin 0 -> 632240 bytes mrvl/pcieusb8997_combo_v4.bin | Bin 0 -> 638992 bytes mrvl/prestera/mvsw_prestera_fw-v2.0.img | Bin 0 -> 13686596 bytes mrvl/prestera/mvsw_prestera_fw-v3.0.img | Bin 0 -> 13721584 bytes mrvl/prestera/mvsw_prestera_fw-v4.0.img | Bin 0 -> 14965408 bytes mrvl/prestera/mvsw_prestera_fw-v4.1.img | Bin 0 -> 15369292 bytes mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img | Bin 0 -> 17505368 bytes mrvl/sd8688.bin | Bin 0 -> 259172 bytes mrvl/sd8688_helper.bin | Bin 0 -> 2616 bytes mrvl/sd8787_uapsta.bin | Bin 0 -> 466592 bytes mrvl/sd8797_uapsta.bin | Bin 0 -> 533976 bytes mrvl/sd8801_uapsta.bin | Bin 0 -> 255988 bytes mrvl/sd8887_uapsta.bin | Bin 0 -> 616840 bytes mrvl/sd8897_uapsta.bin | Bin 0 -> 717068 bytes mrvl/sdsd8977_combo_v2.bin | Bin 0 -> 587052 bytes mrvl/sdsd8997_combo_v4.bin | Bin 0 -> 623240 bytes mrvl/usb8766_uapsta.bin | Bin 0 -> 478836 bytes mrvl/usb8797_uapsta.bin | Bin 0 -> 553940 bytes mrvl/usb8801_uapsta.bin | Bin 0 -> 252260 bytes mrvl/usb8897_uapsta.bin | Bin 0 -> 752340 bytes mrvl/usbusb8997_combo_v4.bin | Bin 0 -> 610252 bytes mts_cdma.fw | Bin 0 -> 13847 bytes mts_edge.fw | Bin 0 -> 14067 bytes mts_gsm.fw | Bin 0 -> 13847 bytes mwl8k/fmimage_8366.fw | Bin 0 -> 96664 bytes mwl8k/fmimage_8366_ap-2.fw | Bin 0 -> 101976 bytes mwl8k/fmimage_8366_ap-3.fw | Bin 0 -> 105552 bytes mwl8k/fmimage_8687.fw | Bin 0 -> 73252 bytes mwl8k/fmimage_8764_ap-1.fw | Bin 0 -> 121380 bytes mwl8k/helper_8366.fw | Bin 0 -> 2476 bytes mwl8k/helper_8687.fw | Bin 0 -> 2476 bytes myri10ge_eth_big_z8e.dat | Bin 0 -> 378832 bytes myri10ge_eth_z8e.dat | Bin 0 -> 378736 bytes myri10ge_ethp_big_z8e.dat | Bin 0 -> 389144 bytes myri10ge_ethp_z8e.dat | Bin 0 -> 389056 bytes myri10ge_rss_eth_big_z8e.dat | Bin 0 -> 536192 bytes myri10ge_rss_eth_z8e.dat | Bin 0 -> 536176 bytes myri10ge_rss_ethp_big_z8e.dat | Bin 0 -> 545936 bytes myri10ge_rss_ethp_z8e.dat | Bin 0 -> 545920 bytes netronome/bpf/nic_AMDA0058-0011_2x40.nffw | Bin 0 -> 2240160 bytes netronome/bpf/nic_AMDA0058-0012_2x40.nffw | Bin 0 -> 2240160 bytes netronome/bpf/nic_AMDA0078-0011_1x100.nffw | Bin 0 -> 2173816 bytes netronome/bpf/nic_AMDA0081-0001_1x40.nffw | Bin 0 -> 2174120 bytes netronome/bpf/nic_AMDA0081-0001_4x10.nffw | Bin 0 -> 2362248 bytes netronome/bpf/nic_AMDA0096-0001_2x10.nffw | Bin 0 -> 2239192 bytes netronome/bpf/nic_AMDA0097-0001_2x40.nffw | Bin 0 -> 2239384 bytes netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw | Bin 0 -> 2423968 bytes netronome/bpf/nic_AMDA0097-0001_8x10.nffw | Bin 0 -> 2608288 bytes netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw | Bin 0 -> 2240440 bytes netronome/bpf/nic_AMDA0099-0001_2x10.nffw | Bin 0 -> 2239192 bytes netronome/bpf/nic_AMDA0099-0001_2x25.nffw | Bin 0 -> 2240088 bytes netronome/flower/nic_AMDA0058.nffw | Bin 0 -> 6857912 bytes netronome/flower/nic_AMDA0096.nffw | Bin 0 -> 4417672 bytes netronome/flower/nic_AMDA0097.nffw | Bin 0 -> 4417672 bytes netronome/flower/nic_AMDA0099.nffw | Bin 0 -> 4420040 bytes netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw | Bin 0 -> 4958776 bytes netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw | Bin 0 -> 4958776 bytes netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw | Bin 0 -> 5203752 bytes netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw | Bin 0 -> 5204048 bytes netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw | Bin 0 -> 5033952 bytes netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw | Bin 0 -> 4958016 bytes netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw | Bin 0 -> 4958128 bytes .../nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw | Bin 0 -> 5072120 bytes netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw | Bin 0 -> 5185472 bytes .../nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw | Bin 0 -> 4959328 bytes netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw | Bin 0 -> 4958000 bytes netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw | Bin 0 -> 4958832 bytes netronome/nic/nic_AMDA0058-0011_2x40.nffw | Bin 0 -> 3222512 bytes netronome/nic/nic_AMDA0058-0012_2x40.nffw | Bin 0 -> 3222512 bytes netronome/nic/nic_AMDA0078-0011_1x100.nffw | Bin 0 -> 3180672 bytes netronome/nic/nic_AMDA0081-0001_1x40.nffw | Bin 0 -> 3181080 bytes netronome/nic/nic_AMDA0081-0001_4x10.nffw | Bin 0 -> 3297408 bytes netronome/nic/nic_AMDA0096-0001_2x10.nffw | Bin 0 -> 3221848 bytes netronome/nic/nic_AMDA0097-0001_2x40.nffw | Bin 0 -> 3221944 bytes netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw | Bin 0 -> 3335048 bytes netronome/nic/nic_AMDA0097-0001_8x10.nffw | Bin 0 -> 3449264 bytes netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw | Bin 0 -> 3222856 bytes netronome/nic/nic_AMDA0099-0001_2x10.nffw | Bin 0 -> 3221832 bytes netronome/nic/nic_AMDA0099-0001_2x25.nffw | Bin 0 -> 3222648 bytes nvidia/ga102/acr/ucode_ahesasc.bin | Bin 0 -> 57088 bytes nvidia/ga102/acr/ucode_asb.bin | Bin 0 -> 28672 bytes nvidia/ga102/acr/ucode_unload.bin | Bin 0 -> 17920 bytes nvidia/ga102/gr/NET_img.bin | Bin 0 -> 146088 bytes nvidia/ga102/gr/fecs_bl.bin | Bin 0 -> 288 bytes nvidia/ga102/gr/fecs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga102/gr/gpccs_bl.bin | Bin 0 -> 288 bytes nvidia/ga102/gr/gpccs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga102/nvdec/scrubber.bin | Bin 0 -> 8704 bytes nvidia/ga102/sec2/desc.bin | Bin 0 -> 660 bytes nvidia/ga102/sec2/hs_bl_sig.bin | Bin 0 -> 1280 bytes nvidia/ga102/sec2/image.bin | Bin 0 -> 99584 bytes nvidia/ga102/sec2/sig.bin | Bin 0 -> 2248 bytes nvidia/ga103/gr/NET_img.bin | Bin 0 -> 137280 bytes nvidia/ga103/gr/fecs_bl.bin | Bin 0 -> 288 bytes nvidia/ga103/gr/fecs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga103/gr/gpccs_bl.bin | Bin 0 -> 288 bytes nvidia/ga103/gr/gpccs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga104/gr/NET_img.bin | Bin 0 -> 137280 bytes nvidia/ga104/gr/fecs_bl.bin | Bin 0 -> 288 bytes nvidia/ga104/gr/fecs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga104/gr/gpccs_bl.bin | Bin 0 -> 288 bytes nvidia/ga104/gr/gpccs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga106/gr/NET_img.bin | Bin 0 -> 137280 bytes nvidia/ga106/gr/fecs_bl.bin | Bin 0 -> 288 bytes nvidia/ga106/gr/fecs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga106/gr/gpccs_bl.bin | Bin 0 -> 288 bytes nvidia/ga106/gr/gpccs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga107/gr/NET_img.bin | Bin 0 -> 137280 bytes nvidia/ga107/gr/fecs_bl.bin | Bin 0 -> 288 bytes nvidia/ga107/gr/fecs_sig.bin | Bin 0 -> 2248 bytes nvidia/ga107/gr/gpccs_bl.bin | Bin 0 -> 288 bytes nvidia/ga107/gr/gpccs_sig.bin | Bin 0 -> 2248 bytes nvidia/gk20a/fecs_data.bin | Bin 0 -> 1920 bytes nvidia/gk20a/fecs_inst.bin | Bin 0 -> 15356 bytes nvidia/gk20a/gpccs_data.bin | Bin 0 -> 1800 bytes nvidia/gk20a/gpccs_inst.bin | Bin 0 -> 8171 bytes nvidia/gk20a/sw_bundle_init.bin | Bin 0 -> 6696 bytes nvidia/gk20a/sw_ctx.bin | Bin 0 -> 4464 bytes nvidia/gk20a/sw_method_init.bin | Bin 0 -> 10304 bytes nvidia/gk20a/sw_nonctx.bin | Bin 0 -> 1360 bytes nvidia/gm200/acr/bl.bin | Bin 0 -> 832 bytes nvidia/gm200/acr/ucode_load.bin | Bin 0 -> 10144 bytes nvidia/gm200/acr/ucode_unload.bin | Bin 0 -> 1440 bytes nvidia/gm200/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gm200/gr/fecs_data.bin | Bin 0 -> 1968 bytes nvidia/gm200/gr/fecs_inst.bin | Bin 0 -> 16271 bytes nvidia/gm200/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gm200/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/gm200/gr/gpccs_data.bin | Bin 0 -> 2056 bytes nvidia/gm200/gr/gpccs_inst.bin | Bin 0 -> 9768 bytes nvidia/gm200/gr/gpccs_sig.bin | Bin 0 -> 76 bytes nvidia/gm200/gr/sw_bundle_init.bin | Bin 0 -> 7616 bytes nvidia/gm200/gr/sw_ctx.bin | Bin 0 -> 5592 bytes nvidia/gm200/gr/sw_method_init.bin | Bin 0 -> 10800 bytes nvidia/gm200/gr/sw_nonctx.bin | Bin 0 -> 1440 bytes nvidia/gm204/gr/fecs_data.bin | Bin 0 -> 1968 bytes nvidia/gm204/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gm204/gr/gpccs_data.bin | Bin 0 -> 2056 bytes nvidia/gm204/gr/gpccs_sig.bin | Bin 0 -> 76 bytes nvidia/gm206/acr/ucode_load.bin | Bin 0 -> 10144 bytes nvidia/gm206/acr/ucode_unload.bin | Bin 0 -> 1440 bytes nvidia/gm206/gr/fecs_data.bin | Bin 0 -> 1968 bytes nvidia/gm206/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gm206/gr/gpccs_data.bin | Bin 0 -> 2056 bytes nvidia/gm206/gr/gpccs_sig.bin | Bin 0 -> 76 bytes nvidia/gm20b/acr/bl.bin | Bin 0 -> 832 bytes nvidia/gm20b/acr/ucode_load.bin | Bin 0 -> 18592 bytes nvidia/gm20b/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gm20b/gr/fecs_data.bin | Bin 0 -> 1964 bytes nvidia/gm20b/gr/fecs_inst.bin | Bin 0 -> 17021 bytes nvidia/gm20b/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gm20b/gr/gpccs_data.bin | Bin 0 -> 2068 bytes nvidia/gm20b/gr/gpccs_inst.bin | Bin 0 -> 9964 bytes nvidia/gm20b/gr/sw_bundle_init.bin | Bin 0 -> 7616 bytes nvidia/gm20b/gr/sw_ctx.bin | Bin 0 -> 5448 bytes nvidia/gm20b/gr/sw_nonctx.bin | Bin 0 -> 1432 bytes nvidia/gm20b/pmu/desc.bin | Bin 0 -> 652 bytes nvidia/gm20b/pmu/image.bin | Bin 0 -> 47872 bytes nvidia/gm20b/pmu/sig.bin | Bin 0 -> 76 bytes nvidia/gp100/acr/bl.bin | Bin 0 -> 832 bytes nvidia/gp100/acr/ucode_load.bin | Bin 0 -> 9632 bytes nvidia/gp100/acr/ucode_unload.bin | Bin 0 -> 1440 bytes nvidia/gp100/gr/fecs_data.bin | Bin 0 -> 2028 bytes nvidia/gp100/gr/fecs_inst.bin | Bin 0 -> 20955 bytes nvidia/gp100/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gp100/gr/gpccs_data.bin | Bin 0 -> 2080 bytes nvidia/gp100/gr/gpccs_inst.bin | Bin 0 -> 12458 bytes nvidia/gp100/gr/gpccs_sig.bin | Bin 0 -> 76 bytes nvidia/gp100/gr/sw_bundle_init.bin | Bin 0 -> 7664 bytes nvidia/gp100/gr/sw_ctx.bin | Bin 0 -> 6240 bytes nvidia/gp100/gr/sw_method_init.bin | Bin 0 -> 11928 bytes nvidia/gp100/gr/sw_nonctx.bin | Bin 0 -> 2248 bytes nvidia/gp102/acr/bl.bin | Bin 0 -> 1280 bytes nvidia/gp102/acr/ucode_load.bin | Bin 0 -> 17152 bytes nvidia/gp102/acr/ucode_unload.bin | Bin 0 -> 3328 bytes nvidia/gp102/acr/unload_bl.bin | Bin 0 -> 1280 bytes nvidia/gp102/gr/fecs_data.bin | Bin 0 -> 2256 bytes nvidia/gp102/gr/fecs_inst.bin | Bin 0 -> 20927 bytes nvidia/gp102/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gp102/gr/gpccs_data.bin | Bin 0 -> 1832 bytes nvidia/gp102/gr/gpccs_inst.bin | Bin 0 -> 13307 bytes nvidia/gp102/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gp102/gr/sw_bundle_init.bin | Bin 0 -> 7680 bytes nvidia/gp102/gr/sw_ctx.bin | Bin 0 -> 6216 bytes nvidia/gp102/gr/sw_method_init.bin | Bin 0 -> 12288 bytes nvidia/gp102/gr/sw_nonctx.bin | Bin 0 -> 2496 bytes nvidia/gp102/nvdec/scrubber.bin | Bin 0 -> 3840 bytes nvidia/gp102/sec2/desc-1.bin | Bin 0 -> 656 bytes nvidia/gp102/sec2/desc.bin | Bin 0 -> 656 bytes nvidia/gp102/sec2/image-1.bin | Bin 0 -> 109568 bytes nvidia/gp102/sec2/image.bin | Bin 0 -> 99072 bytes nvidia/gp102/sec2/sig-1.bin | Bin 0 -> 192 bytes nvidia/gp102/sec2/sig.bin | Bin 0 -> 192 bytes nvidia/gp104/gr/fecs_data.bin | Bin 0 -> 2576 bytes nvidia/gp104/gr/fecs_inst.bin | Bin 0 -> 22760 bytes nvidia/gp104/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gp104/gr/gpccs_data.bin | Bin 0 -> 1832 bytes nvidia/gp104/gr/gpccs_inst.bin | Bin 0 -> 13307 bytes nvidia/gp104/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gp106/gr/fecs_data.bin | Bin 0 -> 2256 bytes nvidia/gp106/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gp106/gr/gpccs_data.bin | Bin 0 -> 1832 bytes nvidia/gp106/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gp107/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gp107/gr/fecs_data.bin | Bin 0 -> 2756 bytes nvidia/gp107/gr/fecs_inst.bin | Bin 0 -> 22879 bytes nvidia/gp107/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gp107/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/gp107/gr/gpccs_data.bin | Bin 0 -> 2100 bytes nvidia/gp107/gr/gpccs_inst.bin | Bin 0 -> 12587 bytes nvidia/gp107/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gp107/gr/sw_ctx.bin | Bin 0 -> 6000 bytes nvidia/gp107/gr/sw_nonctx.bin | Bin 0 -> 2496 bytes nvidia/gp108/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gp108/gr/fecs_data.bin | Bin 0 -> 2248 bytes nvidia/gp108/gr/fecs_inst.bin | Bin 0 -> 21161 bytes nvidia/gp108/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gp108/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/gp108/gr/gpccs_data.bin | Bin 0 -> 2092 bytes nvidia/gp108/gr/gpccs_inst.bin | Bin 0 -> 13095 bytes nvidia/gp108/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gp108/gr/sw_bundle_init.bin | Bin 0 -> 7680 bytes nvidia/gp108/gr/sw_ctx.bin | Bin 0 -> 6000 bytes nvidia/gp108/gr/sw_method_init.bin | Bin 0 -> 12288 bytes nvidia/gp108/gr/sw_nonctx.bin | Bin 0 -> 2496 bytes nvidia/gp10b/acr/bl.bin | Bin 0 -> 1280 bytes nvidia/gp10b/acr/ucode_load.bin | Bin 0 -> 19456 bytes nvidia/gp10b/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gp10b/gr/fecs_data.bin | Bin 0 -> 3668 bytes nvidia/gp10b/gr/fecs_inst.bin | Bin 0 -> 22306 bytes nvidia/gp10b/gr/fecs_sig.bin | Bin 0 -> 76 bytes nvidia/gp10b/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/gp10b/gr/gpccs_data.bin | Bin 0 -> 2340 bytes nvidia/gp10b/gr/gpccs_inst.bin | Bin 0 -> 12921 bytes nvidia/gp10b/gr/gpccs_sig.bin | Bin 0 -> 76 bytes nvidia/gp10b/gr/sw_bundle_init.bin | Bin 0 -> 7664 bytes nvidia/gp10b/gr/sw_ctx.bin | Bin 0 -> 6036 bytes nvidia/gp10b/gr/sw_method_init.bin | Bin 0 -> 11928 bytes nvidia/gp10b/gr/sw_nonctx.bin | Bin 0 -> 2744 bytes nvidia/gp10b/pmu/desc.bin | Bin 0 -> 652 bytes nvidia/gp10b/pmu/image.bin | Bin 0 -> 49408 bytes nvidia/gp10b/pmu/sig.bin | Bin 0 -> 76 bytes nvidia/gv100/acr/bl.bin | Bin 0 -> 1280 bytes nvidia/gv100/acr/ucode_load.bin | Bin 0 -> 18688 bytes nvidia/gv100/acr/ucode_unload.bin | Bin 0 -> 6400 bytes nvidia/gv100/acr/unload_bl.bin | Bin 0 -> 1280 bytes nvidia/gv100/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/gv100/gr/fecs_data.bin | Bin 0 -> 4788 bytes nvidia/gv100/gr/fecs_inst.bin | Bin 0 -> 25632 bytes nvidia/gv100/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/gv100/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/gv100/gr/gpccs_data.bin | Bin 0 -> 2128 bytes nvidia/gv100/gr/gpccs_inst.bin | Bin 0 -> 12643 bytes nvidia/gv100/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/gv100/gr/sw_bundle_init.bin | Bin 0 -> 7664 bytes nvidia/gv100/gr/sw_ctx.bin | Bin 0 -> 9756 bytes nvidia/gv100/gr/sw_method_init.bin | Bin 0 -> 12296 bytes nvidia/gv100/gr/sw_nonctx.bin | Bin 0 -> 2728 bytes nvidia/gv100/nvdec/scrubber.bin | Bin 0 -> 4352 bytes nvidia/gv100/sec2/desc.bin | Bin 0 -> 656 bytes nvidia/gv100/sec2/image.bin | Bin 0 -> 91136 bytes nvidia/gv100/sec2/sig.bin | Bin 0 -> 192 bytes nvidia/tegra124/vic03_ucode.bin | Bin 0 -> 16128 bytes nvidia/tegra124/xusb.bin | Bin 0 -> 134656 bytes nvidia/tegra186/vic04_ucode.bin | Bin 0 -> 19200 bytes nvidia/tegra186/xusb.bin | Bin 0 -> 124416 bytes nvidia/tegra194/vic.bin | Bin 0 -> 22784 bytes nvidia/tegra194/xusb.bin | Bin 0 -> 129024 bytes nvidia/tegra210/vic04_ucode.bin | Bin 0 -> 16640 bytes nvidia/tegra210/xusb.bin | Bin 0 -> 126464 bytes nvidia/tu102/acr/bl.bin | Bin 0 -> 1280 bytes nvidia/tu102/acr/ucode_ahesasc.bin | Bin 0 -> 22784 bytes nvidia/tu102/acr/ucode_asb.bin | Bin 0 -> 13312 bytes nvidia/tu102/acr/ucode_unload.bin | Bin 0 -> 12288 bytes nvidia/tu102/acr/unload_bl.bin | Bin 0 -> 1280 bytes nvidia/tu102/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/tu102/gr/fecs_data.bin | Bin 0 -> 5256 bytes nvidia/tu102/gr/fecs_inst.bin | Bin 0 -> 29080 bytes nvidia/tu102/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/tu102/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/tu102/gr/gpccs_data.bin | Bin 0 -> 2640 bytes nvidia/tu102/gr/gpccs_inst.bin | Bin 0 -> 12717 bytes nvidia/tu102/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/tu102/gr/sw_bundle_init.bin | Bin 0 -> 7456 bytes nvidia/tu102/gr/sw_ctx.bin | Bin 0 -> 6936 bytes nvidia/tu102/gr/sw_method_init.bin | Bin 0 -> 13424 bytes nvidia/tu102/gr/sw_nonctx.bin | Bin 0 -> 3856 bytes nvidia/tu102/gr/sw_veid_bundle_init.bin | Bin 0 -> 176 bytes nvidia/tu102/nvdec/scrubber.bin | Bin 0 -> 4864 bytes nvidia/tu102/sec2/desc.bin | Bin 0 -> 656 bytes nvidia/tu102/sec2/image.bin | Bin 0 -> 61184 bytes nvidia/tu102/sec2/sig.bin | Bin 0 -> 192 bytes nvidia/tu104/gr/fecs_data.bin | Bin 0 -> 5256 bytes nvidia/tu104/gr/fecs_inst.bin | Bin 0 -> 29080 bytes nvidia/tu104/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/tu104/gr/gpccs_data.bin | Bin 0 -> 2640 bytes nvidia/tu104/gr/gpccs_inst.bin | Bin 0 -> 12717 bytes nvidia/tu104/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/tu104/gr/sw_bundle_init.bin | Bin 0 -> 7456 bytes nvidia/tu104/gr/sw_ctx.bin | Bin 0 -> 6936 bytes nvidia/tu104/gr/sw_method_init.bin | Bin 0 -> 13424 bytes nvidia/tu104/gr/sw_nonctx.bin | Bin 0 -> 3856 bytes nvidia/tu104/gr/sw_veid_bundle_init.bin | Bin 0 -> 176 bytes nvidia/tu106/gr/fecs_data.bin | Bin 0 -> 5256 bytes nvidia/tu106/gr/fecs_inst.bin | Bin 0 -> 29080 bytes nvidia/tu106/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/tu106/gr/gpccs_data.bin | Bin 0 -> 2640 bytes nvidia/tu106/gr/gpccs_inst.bin | Bin 0 -> 12717 bytes nvidia/tu106/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/tu106/gr/sw_bundle_init.bin | Bin 0 -> 7456 bytes nvidia/tu106/gr/sw_ctx.bin | Bin 0 -> 6936 bytes nvidia/tu106/gr/sw_method_init.bin | Bin 0 -> 13424 bytes nvidia/tu106/gr/sw_nonctx.bin | Bin 0 -> 3856 bytes nvidia/tu106/gr/sw_veid_bundle_init.bin | Bin 0 -> 176 bytes nvidia/tu10x/typec/ccg_boot.cyacd | 173 + nvidia/tu10x/typec/ccg_primary.cyacd | 281 + nvidia/tu10x/typec/ccg_secondary.cyacd | 189 + nvidia/tu116/acr/bl.bin | Bin 0 -> 1280 bytes nvidia/tu116/acr/ucode_ahesasc.bin | Bin 0 -> 22784 bytes nvidia/tu116/acr/ucode_asb.bin | Bin 0 -> 13312 bytes nvidia/tu116/acr/ucode_unload.bin | Bin 0 -> 12288 bytes nvidia/tu116/acr/unload_bl.bin | Bin 0 -> 1280 bytes nvidia/tu116/gr/fecs_bl.bin | Bin 0 -> 576 bytes nvidia/tu116/gr/fecs_data.bin | Bin 0 -> 5256 bytes nvidia/tu116/gr/fecs_inst.bin | Bin 0 -> 28783 bytes nvidia/tu116/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/tu116/gr/gpccs_bl.bin | Bin 0 -> 576 bytes nvidia/tu116/gr/gpccs_data.bin | Bin 0 -> 2640 bytes nvidia/tu116/gr/gpccs_inst.bin | Bin 0 -> 12717 bytes nvidia/tu116/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/tu116/gr/sw_bundle_init.bin | Bin 0 -> 7456 bytes nvidia/tu116/gr/sw_ctx.bin | Bin 0 -> 6936 bytes nvidia/tu116/gr/sw_method_init.bin | Bin 0 -> 13424 bytes nvidia/tu116/gr/sw_nonctx.bin | Bin 0 -> 3856 bytes nvidia/tu116/gr/sw_veid_bundle_init.bin | Bin 0 -> 176 bytes nvidia/tu116/nvdec/scrubber.bin | Bin 0 -> 4352 bytes nvidia/tu116/sec2/desc.bin | Bin 0 -> 656 bytes nvidia/tu116/sec2/image.bin | Bin 0 -> 61184 bytes nvidia/tu116/sec2/sig.bin | Bin 0 -> 192 bytes nvidia/tu117/gr/fecs_data.bin | Bin 0 -> 5256 bytes nvidia/tu117/gr/fecs_inst.bin | Bin 0 -> 28783 bytes nvidia/tu117/gr/fecs_sig.bin | Bin 0 -> 192 bytes nvidia/tu117/gr/gpccs_data.bin | Bin 0 -> 2640 bytes nvidia/tu117/gr/gpccs_inst.bin | Bin 0 -> 12717 bytes nvidia/tu117/gr/gpccs_sig.bin | Bin 0 -> 192 bytes nvidia/tu117/gr/sw_bundle_init.bin | Bin 0 -> 7456 bytes nvidia/tu117/gr/sw_ctx.bin | Bin 0 -> 6936 bytes nvidia/tu117/gr/sw_method_init.bin | Bin 0 -> 13424 bytes nvidia/tu117/gr/sw_nonctx.bin | Bin 0 -> 3856 bytes nvidia/tu117/gr/sw_veid_bundle_init.bin | Bin 0 -> 176 bytes nxp/helper_uart_3000000.bin | Bin 0 -> 2764 bytes nxp/sr150_fw.bin | Bin 0 -> 212032 bytes nxp/uartiw416_bt_v0.bin | Bin 0 -> 153388 bytes nxp/uartspi_n61x_v1.bin.se | Bin 0 -> 252104 bytes nxp/uartuart8987_bt.bin | Bin 0 -> 209536 bytes nxp/uartuart8997_bt_v4.bin | Bin 0 -> 183160 bytes nxp/uartuart9098_bt_v1.bin | Bin 0 -> 191736 bytes phanfw.bin | Bin 0 -> 1845305 bytes qat_4xxx.bin | Bin 0 -> 665356 bytes qat_4xxx_mmp.bin | Bin 0 -> 150084 bytes qat_895xcc.bin | Bin 0 -> 356764 bytes qat_895xcc_mmp.bin | Bin 0 -> 119808 bytes qat_c3xxx.bin | Bin 0 -> 265444 bytes qat_c3xxx_mmp.bin | Bin 0 -> 120452 bytes qat_c62x.bin | Bin 0 -> 398144 bytes qat_c62x_mmp.bin | Bin 0 -> 120452 bytes qca/NOTICE.txt | 426 ++ qca/crbtfw21.tlv | Bin 0 -> 177060 bytes qca/crbtfw32.tlv | Bin 0 -> 117664 bytes qca/crnv21.bin | Bin 0 -> 4587 bytes qca/crnv32.bin | Bin 0 -> 5407 bytes qca/crnv32u.bin | Bin 0 -> 5407 bytes qca/hpbtfw21.tlv | Bin 0 -> 145904 bytes qca/hpnv21.301 | Bin 0 -> 6830 bytes qca/hpnv21.302 | Bin 0 -> 6830 bytes qca/hpnv21.bin | Bin 0 -> 6596 bytes qca/hpnv21g.301 | Bin 0 -> 6670 bytes qca/hpnv21g.302 | Bin 0 -> 6670 bytes qca/hpnv21g.bin | Bin 0 -> 6436 bytes qca/htbtfw20.tlv | Bin 0 -> 210704 bytes qca/htnv20.bin | Bin 0 -> 5857 bytes qca/msbtfw11.mbn | Bin 0 -> 167552 bytes qca/msbtfw11.tlv | Bin 0 -> 155340 bytes qca/msnv11.b09 | Bin 0 -> 5847 bytes qca/msnv11.b0a | Bin 0 -> 5847 bytes qca/msnv11.bin | Bin 0 -> 5847 bytes qca/nvm_00130300.bin | Bin 0 -> 1937 bytes qca/nvm_00130302.bin | Bin 0 -> 1968 bytes qca/nvm_00230302.bin | Bin 0 -> 1996 bytes qca/nvm_00440302.bin | Bin 0 -> 2041 bytes qca/nvm_00440302_eu.bin | Bin 0 -> 2041 bytes qca/nvm_00440302_i2s_eu.bin | Bin 0 -> 2041 bytes qca/nvm_usb_00000200.bin | Bin 0 -> 1859 bytes qca/nvm_usb_00000201.bin | Bin 0 -> 1859 bytes qca/nvm_usb_00000300.bin | Bin 0 -> 1857 bytes qca/nvm_usb_00000302.bin | Bin 0 -> 1998 bytes qca/nvm_usb_00000302_eu.bin | Bin 0 -> 1998 bytes qca/nvm_usb_00130200.bin | Bin 0 -> 6332 bytes qca/nvm_usb_00130200_0104.bin | Bin 0 -> 6316 bytes qca/nvm_usb_00130200_0105.bin | Bin 0 -> 6316 bytes qca/nvm_usb_00130200_0106.bin | Bin 0 -> 6332 bytes qca/nvm_usb_00130200_0107.bin | Bin 0 -> 6400 bytes qca/nvm_usb_00130200_0109.bin | Bin 0 -> 6332 bytes qca/nvm_usb_00130200_0110.bin | Bin 0 -> 6316 bytes qca/nvm_usb_00130201.bin | Bin 0 -> 6623 bytes qca/nvm_usb_00130201_010a.bin | Bin 0 -> 6623 bytes qca/nvm_usb_00130201_010b.bin | Bin 0 -> 6623 bytes qca/nvm_usb_00130201_0303.bin | Bin 0 -> 6623 bytes qca/nvm_usb_00130201_gf.bin | Bin 0 -> 6463 bytes qca/nvm_usb_00130201_gf_010a.bin | Bin 0 -> 6463 bytes qca/nvm_usb_00130201_gf_010b.bin | Bin 0 -> 6463 bytes qca/nvm_usb_00130201_gf_0303.bin | Bin 0 -> 6463 bytes qca/nvm_usb_00190200.bin | Bin 0 -> 9145 bytes qca/rampatch_00130300.bin | Bin 0 -> 65864 bytes qca/rampatch_00130302.bin | Bin 0 -> 32064 bytes qca/rampatch_00230302.bin | Bin 0 -> 33064 bytes qca/rampatch_00440302.bin | Bin 0 -> 67948 bytes qca/rampatch_usb_00000200.bin | Bin 0 -> 54432 bytes qca/rampatch_usb_00000201.bin | Bin 0 -> 54432 bytes qca/rampatch_usb_00000300.bin | Bin 0 -> 65776 bytes qca/rampatch_usb_00000302.bin | Bin 0 -> 68644 bytes qca/rampatch_usb_00130200.bin | Bin 0 -> 197448 bytes qca/rampatch_usb_00130201.bin | Bin 0 -> 142192 bytes qca/rampatch_usb_00190200.bin | Bin 0 -> 206176 bytes qcom/NOTICE.txt | 506 ++ qcom/a300_pfp.fw | Bin 0 -> 1156 bytes qcom/a300_pm4.fw | Bin 0 -> 9220 bytes qcom/a330_pfp.fw | Bin 0 -> 2212 bytes qcom/a330_pm4.fw | Bin 0 -> 9220 bytes qcom/a420_pfp.fw | Bin 0 -> 4292 bytes qcom/a420_pm4.fw | Bin 0 -> 9556 bytes qcom/a530_pfp.fw | Bin 0 -> 16144 bytes qcom/a530_pm4.fw | Bin 0 -> 19572 bytes qcom/a530v3_gpmu.fw2 | Bin 0 -> 8184 bytes qcom/a630_gmu.bin | Bin 0 -> 32768 bytes qcom/a630_sqe.fw | Bin 0 -> 32304 bytes qcom/a650_gmu.bin | Bin 0 -> 41548 bytes qcom/a650_sqe.fw | Bin 0 -> 31804 bytes qcom/a660_gmu.bin | Bin 0 -> 55444 bytes qcom/a660_sqe.fw | Bin 0 -> 40496 bytes qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin | Bin 0 -> 31723 bytes qcom/apq8016/mba.mbn | Bin 0 -> 230272 bytes qcom/apq8016/modem.mbn | Bin 0 -> 10678876 bytes qcom/apq8016/wcnss.mbn | Bin 0 -> 4111376 bytes qcom/apq8096/a530_zap.mbn | Bin 0 -> 17188 bytes qcom/apq8096/adsp.mbn | Bin 0 -> 10533521 bytes qcom/apq8096/adspr.jsn | 21 + qcom/apq8096/adspua.jsn | 21 + qcom/apq8096/mba.mbn | Bin 0 -> 213888 bytes qcom/apq8096/modem.mbn | Bin 0 -> 7434352 bytes qcom/apq8096/modemr.jsn | 21 + qcom/leia_pfp_470.fw | Bin 0 -> 1156 bytes qcom/leia_pm4_470.fw | Bin 0 -> 9220 bytes qcom/sc8280xp/LENOVO/21BX/adspr.jsn | 28 + qcom/sc8280xp/LENOVO/21BX/adspua.jsn | 29 + qcom/sc8280xp/LENOVO/21BX/battmgr.jsn | 22 + qcom/sc8280xp/LENOVO/21BX/cdspr.jsn | 22 + qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn | Bin 0 -> 14367860 bytes qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn | Bin 0 -> 3575808 bytes qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn | Bin 0 -> 14392 bytes qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn | Bin 0 -> 6213632 bytes qcom/sdm845/a630_zap.mbn | Bin 0 -> 14256 bytes qcom/sdm845/adsp.mbn | Bin 0 -> 10425168 bytes qcom/sdm845/adspr.jsn | 21 + qcom/sdm845/adspua.jsn | 27 + qcom/sdm845/cdsp.mbn | Bin 0 -> 2709012 bytes qcom/sdm845/cdspr.jsn | 21 + qcom/sdm845/mba.mbn | Bin 0 -> 242400 bytes qcom/sdm845/modem_nm.mbn | Bin 0 -> 5673184 bytes qcom/sdm845/modemuw.jsn | 33 + qcom/sm8250/a650_zap.mbn | Bin 0 -> 13964 bytes qcom/sm8250/adsp.mbn | Bin 0 -> 15515796 bytes qcom/sm8250/adspr.jsn | 21 + qcom/sm8250/adspua.jsn | 27 + qcom/sm8250/cdsp.mbn | Bin 0 -> 5822228 bytes qcom/sm8250/cdspr.jsn | 21 + qcom/venus-1.8/venus.mbn | Bin 0 -> 992976 bytes qcom/venus-4.2/venus.mbn | Bin 0 -> 925432 bytes qcom/venus-5.2/venus.mbn | Bin 0 -> 883264 bytes qcom/venus-5.4/venus.mbn | Bin 0 -> 921236 bytes qcom/vpu-1.0/venus.mbn | Bin 0 -> 1973540 bytes qcom/vpu-2.0/venus.mbn | Bin 0 -> 2031620 bytes qcom/yamato_pfp.fw | Bin 0 -> 1156 bytes qcom/yamato_pm4.fw | Bin 0 -> 9220 bytes qed/qed_init_values_zipped-8.10.10.0.bin | Bin 0 -> 780576 bytes qed/qed_init_values_zipped-8.33.1.0.bin | Bin 0 -> 838612 bytes qed/qed_init_values_zipped-8.33.11.0.bin | Bin 0 -> 852456 bytes qed/qed_init_values_zipped-8.37.2.0.bin | Bin 0 -> 867472 bytes qed/qed_init_values_zipped-8.37.7.0.bin | Bin 0 -> 872296 bytes qed/qed_init_values_zipped-8.42.2.0.bin | Bin 0 -> 890336 bytes qed/qed_init_values_zipped-8.59.1.0.bin | Bin 0 -> 943352 bytes ql2100_fw.bin | Bin 0 -> 76802 bytes ql2200_fw.bin | Bin 0 -> 84566 bytes ql2300_fw.bin | Bin 0 -> 125252 bytes ql2322_fw.bin | Bin 0 -> 136038 bytes ql2400_fw.bin | Bin 0 -> 265300 bytes ql2500_fw.bin | Bin 0 -> 275128 bytes qlogic/1040.bin | Bin 0 -> 33462 bytes qlogic/12160.bin | Bin 0 -> 28056 bytes qlogic/1280.bin | Bin 0 -> 31842 bytes qlogic/sd7220.fw | Bin 0 -> 8192 bytes r128/r128_cce.bin | Bin 0 -> 2048 bytes r8a779x_usb3_v1.dlmem | Bin 0 -> 9452 bytes r8a779x_usb3_v2.dlmem | Bin 0 -> 9416 bytes r8a779x_usb3_v3.dlmem | Bin 0 -> 9416 bytes radeon/ARUBA_me.bin | Bin 0 -> 8704 bytes radeon/ARUBA_pfp.bin | Bin 0 -> 8704 bytes radeon/ARUBA_rlc.bin | Bin 0 -> 6144 bytes radeon/BARTS_mc.bin | Bin 0 -> 24096 bytes radeon/BARTS_me.bin | Bin 0 -> 5504 bytes radeon/BARTS_pfp.bin | Bin 0 -> 4480 bytes radeon/BARTS_smc.bin | Bin 0 -> 24840 bytes radeon/BONAIRE_ce.bin | Bin 0 -> 8576 bytes radeon/BONAIRE_mc.bin | Bin 0 -> 31464 bytes radeon/BONAIRE_mc2.bin | Bin 0 -> 31792 bytes radeon/BONAIRE_me.bin | Bin 0 -> 8576 bytes radeon/BONAIRE_mec.bin | Bin 0 -> 16768 bytes radeon/BONAIRE_pfp.bin | Bin 0 -> 8576 bytes radeon/BONAIRE_rlc.bin | Bin 0 -> 8192 bytes radeon/BONAIRE_sdma.bin | Bin 0 -> 4200 bytes radeon/BONAIRE_smc.bin | Bin 0 -> 130540 bytes radeon/BONAIRE_uvd.bin | Bin 0 -> 232240 bytes radeon/BONAIRE_vce.bin | Bin 0 -> 78248 bytes radeon/BTC_rlc.bin | Bin 0 -> 3072 bytes radeon/CAICOS_mc.bin | Bin 0 -> 24096 bytes radeon/CAICOS_me.bin | Bin 0 -> 5504 bytes radeon/CAICOS_pfp.bin | Bin 0 -> 4480 bytes radeon/CAICOS_smc.bin | Bin 0 -> 24512 bytes radeon/CAYMAN_mc.bin | Bin 0 -> 24148 bytes radeon/CAYMAN_me.bin | Bin 0 -> 8704 bytes radeon/CAYMAN_pfp.bin | Bin 0 -> 8704 bytes radeon/CAYMAN_rlc.bin | Bin 0 -> 4096 bytes radeon/CAYMAN_smc.bin | Bin 0 -> 31212 bytes radeon/CEDAR_me.bin | Bin 0 -> 5504 bytes radeon/CEDAR_pfp.bin | Bin 0 -> 4480 bytes radeon/CEDAR_rlc.bin | Bin 0 -> 3072 bytes radeon/CEDAR_smc.bin | Bin 0 -> 23888 bytes radeon/CYPRESS_me.bin | Bin 0 -> 5504 bytes radeon/CYPRESS_pfp.bin | Bin 0 -> 4480 bytes radeon/CYPRESS_rlc.bin | Bin 0 -> 3072 bytes radeon/CYPRESS_smc.bin | Bin 0 -> 25080 bytes radeon/CYPRESS_uvd.bin | Bin 0 -> 115736 bytes radeon/HAINAN_ce.bin | Bin 0 -> 8576 bytes radeon/HAINAN_mc.bin | Bin 0 -> 31452 bytes radeon/HAINAN_mc2.bin | Bin 0 -> 31452 bytes radeon/HAINAN_me.bin | Bin 0 -> 8576 bytes radeon/HAINAN_pfp.bin | Bin 0 -> 8576 bytes radeon/HAINAN_rlc.bin | Bin 0 -> 8192 bytes radeon/HAINAN_smc.bin | Bin 0 -> 59004 bytes radeon/HAWAII_ce.bin | Bin 0 -> 8576 bytes radeon/HAWAII_mc.bin | Bin 0 -> 31732 bytes radeon/HAWAII_mc2.bin | Bin 0 -> 32364 bytes radeon/HAWAII_me.bin | Bin 0 -> 8576 bytes radeon/HAWAII_mec.bin | Bin 0 -> 16768 bytes radeon/HAWAII_pfp.bin | Bin 0 -> 8576 bytes radeon/HAWAII_rlc.bin | Bin 0 -> 8192 bytes radeon/HAWAII_sdma.bin | Bin 0 -> 4200 bytes radeon/HAWAII_smc.bin | Bin 0 -> 130540 bytes radeon/JUNIPER_me.bin | Bin 0 -> 5504 bytes radeon/JUNIPER_pfp.bin | Bin 0 -> 4480 bytes radeon/JUNIPER_rlc.bin | Bin 0 -> 3072 bytes radeon/JUNIPER_smc.bin | Bin 0 -> 24352 bytes radeon/KABINI_ce.bin | Bin 0 -> 8576 bytes radeon/KABINI_me.bin | Bin 0 -> 8576 bytes radeon/KABINI_mec.bin | Bin 0 -> 16768 bytes radeon/KABINI_pfp.bin | Bin 0 -> 8576 bytes radeon/KABINI_rlc.bin | Bin 0 -> 10240 bytes radeon/KABINI_sdma.bin | Bin 0 -> 4200 bytes radeon/KAVERI_ce.bin | Bin 0 -> 8576 bytes radeon/KAVERI_me.bin | Bin 0 -> 8576 bytes radeon/KAVERI_mec.bin | Bin 0 -> 16768 bytes radeon/KAVERI_pfp.bin | Bin 0 -> 8576 bytes radeon/KAVERI_rlc.bin | Bin 0 -> 10240 bytes radeon/KAVERI_sdma.bin | Bin 0 -> 4200 bytes radeon/MULLINS_ce.bin | Bin 0 -> 8576 bytes radeon/MULLINS_me.bin | Bin 0 -> 8576 bytes radeon/MULLINS_mec.bin | Bin 0 -> 16768 bytes radeon/MULLINS_pfp.bin | Bin 0 -> 8576 bytes radeon/MULLINS_rlc.bin | Bin 0 -> 10240 bytes radeon/MULLINS_sdma.bin | Bin 0 -> 4200 bytes radeon/OLAND_ce.bin | Bin 0 -> 8576 bytes radeon/OLAND_mc.bin | Bin 0 -> 31452 bytes radeon/OLAND_mc2.bin | Bin 0 -> 31452 bytes radeon/OLAND_me.bin | Bin 0 -> 8576 bytes radeon/OLAND_pfp.bin | Bin 0 -> 8576 bytes radeon/OLAND_rlc.bin | Bin 0 -> 8192 bytes radeon/OLAND_smc.bin | Bin 0 -> 59316 bytes radeon/PALM_me.bin | Bin 0 -> 5504 bytes radeon/PALM_pfp.bin | Bin 0 -> 4480 bytes radeon/PITCAIRN_ce.bin | Bin 0 -> 8576 bytes radeon/PITCAIRN_mc.bin | Bin 0 -> 31076 bytes radeon/PITCAIRN_mc2.bin | Bin 0 -> 31100 bytes radeon/PITCAIRN_me.bin | Bin 0 -> 8576 bytes radeon/PITCAIRN_pfp.bin | Bin 0 -> 8576 bytes radeon/PITCAIRN_rlc.bin | Bin 0 -> 8192 bytes radeon/PITCAIRN_smc.bin | Bin 0 -> 59892 bytes radeon/R100_cp.bin | Bin 0 -> 2048 bytes radeon/R200_cp.bin | Bin 0 -> 2048 bytes radeon/R300_cp.bin | Bin 0 -> 2048 bytes radeon/R420_cp.bin | Bin 0 -> 2048 bytes radeon/R520_cp.bin | Bin 0 -> 2048 bytes radeon/R600_me.bin | Bin 0 -> 21504 bytes radeon/R600_pfp.bin | Bin 0 -> 2304 bytes radeon/R600_rlc.bin | Bin 0 -> 3072 bytes radeon/R600_uvd.bin | Bin 0 -> 74188 bytes radeon/R700_rlc.bin | Bin 0 -> 4096 bytes radeon/REDWOOD_me.bin | Bin 0 -> 5504 bytes radeon/REDWOOD_pfp.bin | Bin 0 -> 4480 bytes radeon/REDWOOD_rlc.bin | Bin 0 -> 3072 bytes radeon/REDWOOD_smc.bin | Bin 0 -> 24332 bytes radeon/RS600_cp.bin | Bin 0 -> 2048 bytes radeon/RS690_cp.bin | Bin 0 -> 2048 bytes radeon/RS780_me.bin | Bin 0 -> 21504 bytes radeon/RS780_pfp.bin | Bin 0 -> 2304 bytes radeon/RS780_uvd.bin | Bin 0 -> 90164 bytes radeon/RV610_me.bin | Bin 0 -> 21504 bytes radeon/RV610_pfp.bin | Bin 0 -> 2304 bytes radeon/RV620_me.bin | Bin 0 -> 21504 bytes radeon/RV620_pfp.bin | Bin 0 -> 2304 bytes radeon/RV630_me.bin | Bin 0 -> 21504 bytes radeon/RV630_pfp.bin | Bin 0 -> 2304 bytes radeon/RV635_me.bin | Bin 0 -> 21504 bytes radeon/RV635_pfp.bin | Bin 0 -> 2304 bytes radeon/RV670_me.bin | Bin 0 -> 21504 bytes radeon/RV670_pfp.bin | Bin 0 -> 2304 bytes radeon/RV710_me.bin | Bin 0 -> 5440 bytes radeon/RV710_pfp.bin | Bin 0 -> 3392 bytes radeon/RV710_smc.bin | Bin 0 -> 16160 bytes radeon/RV710_uvd.bin | Bin 0 -> 116120 bytes radeon/RV730_me.bin | Bin 0 -> 5440 bytes radeon/RV730_pfp.bin | Bin 0 -> 3392 bytes radeon/RV730_smc.bin | Bin 0 -> 16684 bytes radeon/RV740_smc.bin | Bin 0 -> 16840 bytes radeon/RV770_me.bin | Bin 0 -> 5440 bytes radeon/RV770_pfp.bin | Bin 0 -> 3392 bytes radeon/RV770_smc.bin | Bin 0 -> 16656 bytes radeon/RV770_uvd.bin | Bin 0 -> 90668 bytes radeon/SUMO2_me.bin | Bin 0 -> 5504 bytes radeon/SUMO2_pfp.bin | Bin 0 -> 4480 bytes radeon/SUMO_me.bin | Bin 0 -> 5504 bytes radeon/SUMO_pfp.bin | Bin 0 -> 4480 bytes radeon/SUMO_rlc.bin | Bin 0 -> 3072 bytes radeon/SUMO_uvd.bin | Bin 0 -> 205080 bytes radeon/TAHITI_ce.bin | Bin 0 -> 8576 bytes radeon/TAHITI_mc.bin | Bin 0 -> 31076 bytes radeon/TAHITI_mc2.bin | Bin 0 -> 31232 bytes radeon/TAHITI_me.bin | Bin 0 -> 8576 bytes radeon/TAHITI_pfp.bin | Bin 0 -> 8576 bytes radeon/TAHITI_rlc.bin | Bin 0 -> 8192 bytes radeon/TAHITI_smc.bin | Bin 0 -> 62552 bytes radeon/TAHITI_uvd.bin | Bin 0 -> 219672 bytes radeon/TAHITI_vce.bin | Bin 0 -> 48424 bytes radeon/TURKS_mc.bin | Bin 0 -> 24096 bytes radeon/TURKS_me.bin | Bin 0 -> 5504 bytes radeon/TURKS_pfp.bin | Bin 0 -> 4480 bytes radeon/TURKS_smc.bin | Bin 0 -> 24668 bytes radeon/VERDE_ce.bin | Bin 0 -> 8576 bytes radeon/VERDE_mc.bin | Bin 0 -> 31076 bytes radeon/VERDE_mc2.bin | Bin 0 -> 31500 bytes radeon/VERDE_me.bin | Bin 0 -> 8576 bytes radeon/VERDE_pfp.bin | Bin 0 -> 8576 bytes radeon/VERDE_rlc.bin | Bin 0 -> 8192 bytes radeon/VERDE_smc.bin | Bin 0 -> 60388 bytes radeon/banks_k_2_smc.bin | Bin 0 -> 61932 bytes radeon/bonaire_ce.bin | Bin 0 -> 8832 bytes radeon/bonaire_k_smc.bin | Bin 0 -> 130796 bytes radeon/bonaire_mc.bin | Bin 0 -> 32336 bytes radeon/bonaire_me.bin | Bin 0 -> 8832 bytes radeon/bonaire_mec.bin | Bin 0 -> 17024 bytes radeon/bonaire_pfp.bin | Bin 0 -> 8832 bytes radeon/bonaire_rlc.bin | Bin 0 -> 8448 bytes radeon/bonaire_sdma.bin | Bin 0 -> 4456 bytes radeon/bonaire_sdma1.bin | Bin 0 -> 4456 bytes radeon/bonaire_smc.bin | Bin 0 -> 130796 bytes radeon/bonaire_uvd.bin | Bin 0 -> 232752 bytes radeon/bonaire_vce.bin | Bin 0 -> 101072 bytes radeon/hainan_ce.bin | Bin 0 -> 8832 bytes radeon/hainan_k_smc.bin | Bin 0 -> 61876 bytes radeon/hainan_mc.bin | Bin 0 -> 31996 bytes radeon/hainan_me.bin | Bin 0 -> 8832 bytes radeon/hainan_pfp.bin | Bin 0 -> 8832 bytes radeon/hainan_rlc.bin | Bin 0 -> 8448 bytes radeon/hainan_smc.bin | Bin 0 -> 61444 bytes radeon/hawaii_ce.bin | Bin 0 -> 8832 bytes radeon/hawaii_k_smc.bin | Bin 0 -> 130796 bytes radeon/hawaii_mc.bin | Bin 0 -> 32796 bytes radeon/hawaii_me.bin | Bin 0 -> 8832 bytes radeon/hawaii_mec.bin | Bin 0 -> 17024 bytes radeon/hawaii_pfp.bin | Bin 0 -> 8832 bytes radeon/hawaii_rlc.bin | Bin 0 -> 8448 bytes radeon/hawaii_sdma.bin | Bin 0 -> 4456 bytes radeon/hawaii_sdma1.bin | Bin 0 -> 4456 bytes radeon/hawaii_smc.bin | Bin 0 -> 130796 bytes radeon/hawaii_uvd.bin | Bin 0 -> 232752 bytes radeon/hawaii_vce.bin | Bin 0 -> 101072 bytes radeon/kabini_ce.bin | Bin 0 -> 8832 bytes radeon/kabini_me.bin | Bin 0 -> 8832 bytes radeon/kabini_mec.bin | Bin 0 -> 17024 bytes radeon/kabini_pfp.bin | Bin 0 -> 8832 bytes radeon/kabini_rlc.bin | Bin 0 -> 10496 bytes radeon/kabini_sdma.bin | Bin 0 -> 4456 bytes radeon/kabini_sdma1.bin | Bin 0 -> 4456 bytes radeon/kabini_uvd.bin | Bin 0 -> 232752 bytes radeon/kabini_vce.bin | Bin 0 -> 101072 bytes radeon/kaveri_ce.bin | Bin 0 -> 8832 bytes radeon/kaveri_me.bin | Bin 0 -> 8832 bytes radeon/kaveri_mec.bin | Bin 0 -> 17024 bytes radeon/kaveri_mec2.bin | Bin 0 -> 17024 bytes radeon/kaveri_pfp.bin | Bin 0 -> 8832 bytes radeon/kaveri_rlc.bin | Bin 0 -> 10496 bytes radeon/kaveri_sdma.bin | Bin 0 -> 4456 bytes radeon/kaveri_sdma1.bin | Bin 0 -> 4456 bytes radeon/kaveri_uvd.bin | Bin 0 -> 232752 bytes radeon/kaveri_vce.bin | Bin 0 -> 101072 bytes radeon/mullins_ce.bin | Bin 0 -> 8832 bytes radeon/mullins_me.bin | Bin 0 -> 8832 bytes radeon/mullins_mec.bin | Bin 0 -> 17024 bytes radeon/mullins_pfp.bin | Bin 0 -> 8832 bytes radeon/mullins_rlc.bin | Bin 0 -> 10496 bytes radeon/mullins_sdma.bin | Bin 0 -> 4456 bytes radeon/mullins_sdma1.bin | Bin 0 -> 4456 bytes radeon/mullins_uvd.bin | Bin 0 -> 232752 bytes radeon/mullins_vce.bin | Bin 0 -> 101072 bytes radeon/oland_ce.bin | Bin 0 -> 8832 bytes radeon/oland_k_smc.bin | Bin 0 -> 62692 bytes radeon/oland_mc.bin | Bin 0 -> 31996 bytes radeon/oland_me.bin | Bin 0 -> 8832 bytes radeon/oland_pfp.bin | Bin 0 -> 8832 bytes radeon/oland_rlc.bin | Bin 0 -> 8448 bytes radeon/oland_smc.bin | Bin 0 -> 62260 bytes radeon/pitcairn_ce.bin | Bin 0 -> 8832 bytes radeon/pitcairn_k_smc.bin | Bin 0 -> 61712 bytes radeon/pitcairn_mc.bin | Bin 0 -> 31644 bytes radeon/pitcairn_me.bin | Bin 0 -> 8832 bytes radeon/pitcairn_pfp.bin | Bin 0 -> 8832 bytes radeon/pitcairn_rlc.bin | Bin 0 -> 8448 bytes radeon/pitcairn_smc.bin | Bin 0 -> 61280 bytes radeon/si58_mc.bin | Bin 0 -> 32488 bytes radeon/tahiti_ce.bin | Bin 0 -> 8832 bytes radeon/tahiti_k_smc.bin | Bin 0 -> 64364 bytes radeon/tahiti_mc.bin | Bin 0 -> 31776 bytes radeon/tahiti_me.bin | Bin 0 -> 8832 bytes radeon/tahiti_pfp.bin | Bin 0 -> 8832 bytes radeon/tahiti_rlc.bin | Bin 0 -> 8448 bytes radeon/tahiti_smc.bin | Bin 0 -> 63932 bytes radeon/verde_ce.bin | Bin 0 -> 8832 bytes radeon/verde_k_smc.bin | Bin 0 -> 63804 bytes radeon/verde_mc.bin | Bin 0 -> 32044 bytes radeon/verde_me.bin | Bin 0 -> 8832 bytes radeon/verde_pfp.bin | Bin 0 -> 8832 bytes radeon/verde_rlc.bin | Bin 0 -> 8448 bytes radeon/verde_smc.bin | Bin 0 -> 61776 bytes rockchip/dptx.bin | Bin 0 -> 98320 bytes rp2.fw | Bin 0 -> 63 bytes rsi/rs9113_ap_bt_dual_mode.rps | Bin 0 -> 342312 bytes rsi/rs9113_wlan_bt_dual_mode.rps | Bin 0 -> 332008 bytes rsi/rs9113_wlan_qspi.rps | Bin 0 -> 201188 bytes rsi/rs9116_wlan.rps | Bin 0 -> 103872 bytes rsi/rs9116_wlan_bt_classic.rps | Bin 0 -> 315840 bytes rt2561.bin | Bin 0 -> 8192 bytes rt2561s.bin | Bin 0 -> 8192 bytes rt2661.bin | Bin 0 -> 8192 bytes rt2860.bin | Bin 0 -> 8192 bytes rt2870.bin | Bin 0 -> 8192 bytes rt3071.bin | Bin 0 -> 4096 bytes rt3290.bin | Bin 0 -> 4096 bytes rt73.bin | Bin 0 -> 2048 bytes rtl_bt/rtl8192ee_fw.bin | Bin 0 -> 38764 bytes rtl_bt/rtl8192eu_fw.bin | Bin 0 -> 37904 bytes rtl_bt/rtl8723a_fw.bin | Bin 0 -> 24548 bytes rtl_bt/rtl8723b_fw.bin | Bin 0 -> 45048 bytes rtl_bt/rtl8723bs_config-OBDA8723.bin | Bin 0 -> 64 bytes rtl_bt/rtl8723bs_fw.bin | Bin 0 -> 52116 bytes rtl_bt/rtl8723d_config.bin | Bin 0 -> 10 bytes rtl_bt/rtl8723d_fw.bin | Bin 0 -> 52080 bytes rtl_bt/rtl8761a_fw.bin | Bin 0 -> 74488 bytes rtl_bt/rtl8761b_config.bin | Bin 0 -> 25 bytes rtl_bt/rtl8761b_fw.bin | Bin 0 -> 45444 bytes rtl_bt/rtl8761bu_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8761bu_fw.bin | Bin 0 -> 44484 bytes rtl_bt/rtl8812ae_fw.bin | Bin 0 -> 40520 bytes rtl_bt/rtl8821a_fw.bin | Bin 0 -> 37420 bytes rtl_bt/rtl8821c_config.bin | Bin 0 -> 10 bytes rtl_bt/rtl8821c_fw.bin | Bin 0 -> 54636 bytes rtl_bt/rtl8821cs_config.bin | Bin 0 -> 25 bytes rtl_bt/rtl8821cs_fw.bin | Bin 0 -> 56648 bytes rtl_bt/rtl8822b_config.bin | Bin 0 -> 14 bytes rtl_bt/rtl8822b_fw.bin | Bin 0 -> 51176 bytes rtl_bt/rtl8822cs_config.bin | Bin 0 -> 33 bytes rtl_bt/rtl8822cs_fw.bin | Bin 0 -> 62580 bytes rtl_bt/rtl8822cu_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8822cu_fw.bin | Bin 0 -> 59864 bytes rtl_bt/rtl8851bu_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8851bu_fw.bin | Bin 0 -> 46376 bytes rtl_bt/rtl8852au_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8852au_fw.bin | Bin 0 -> 63724 bytes rtl_bt/rtl8852bu_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8852bu_fw.bin | Bin 0 -> 74324 bytes rtl_bt/rtl8852cu_config.bin | Bin 0 -> 6 bytes rtl_bt/rtl8852cu_fw.bin | Bin 0 -> 112953 bytes rtl_nic/rtl8105e-1.fw | Bin 0 -> 2076 bytes rtl_nic/rtl8106e-1.fw | Bin 0 -> 1856 bytes rtl_nic/rtl8106e-2.fw | Bin 0 -> 832 bytes rtl_nic/rtl8107e-1.fw | Bin 0 -> 992 bytes rtl_nic/rtl8107e-2.fw | Bin 0 -> 976 bytes rtl_nic/rtl8125a-3.fw | Bin 0 -> 3456 bytes rtl_nic/rtl8125b-1.fw | Bin 0 -> 10128 bytes rtl_nic/rtl8125b-2.fw | Bin 0 -> 3328 bytes rtl_nic/rtl8153a-2.fw | Bin 0 -> 1768 bytes rtl_nic/rtl8153a-3.fw | Bin 0 -> 1440 bytes rtl_nic/rtl8153a-4.fw | Bin 0 -> 712 bytes rtl_nic/rtl8153b-2.fw | Bin 0 -> 1880 bytes rtl_nic/rtl8153c-1.fw | Bin 0 -> 832 bytes rtl_nic/rtl8156a-2.fw | Bin 0 -> 4024 bytes rtl_nic/rtl8156b-2.fw | Bin 0 -> 7256 bytes rtl_nic/rtl8168d-1.fw | Bin 0 -> 1492 bytes rtl_nic/rtl8168d-2.fw | Bin 0 -> 1324 bytes rtl_nic/rtl8168e-1.fw | Bin 0 -> 5500 bytes rtl_nic/rtl8168e-2.fw | Bin 0 -> 3920 bytes rtl_nic/rtl8168e-3.fw | Bin 0 -> 3872 bytes rtl_nic/rtl8168f-1.fw | Bin 0 -> 3424 bytes rtl_nic/rtl8168f-2.fw | Bin 0 -> 1232 bytes rtl_nic/rtl8168fp-3.fw | Bin 0 -> 336 bytes rtl_nic/rtl8168g-1.fw | Bin 0 -> 4304 bytes rtl_nic/rtl8168g-2.fw | Bin 0 -> 4896 bytes rtl_nic/rtl8168g-3.fw | Bin 0 -> 832 bytes rtl_nic/rtl8168h-1.fw | Bin 0 -> 992 bytes rtl_nic/rtl8168h-2.fw | Bin 0 -> 976 bytes rtl_nic/rtl8402-1.fw | Bin 0 -> 1824 bytes rtl_nic/rtl8411-1.fw | Bin 0 -> 2112 bytes rtl_nic/rtl8411-2.fw | Bin 0 -> 1040 bytes rtlwifi/rtl8188efw.bin | Bin 0 -> 11216 bytes rtlwifi/rtl8188eufw.bin | Bin 0 -> 15262 bytes rtlwifi/rtl8188fufw.bin | Bin 0 -> 21020 bytes rtlwifi/rtl8192cfw.bin | Bin 0 -> 16192 bytes rtlwifi/rtl8192cfwU.bin | Bin 0 -> 14818 bytes rtlwifi/rtl8192cfwU_B.bin | Bin 0 -> 16332 bytes rtlwifi/rtl8192cufw.bin | Bin 0 -> 16014 bytes rtlwifi/rtl8192cufw_A.bin | Bin 0 -> 16126 bytes rtlwifi/rtl8192cufw_B.bin | Bin 0 -> 16096 bytes rtlwifi/rtl8192cufw_TMSC.bin | Bin 0 -> 16126 bytes rtlwifi/rtl8192defw.bin | Bin 0 -> 31376 bytes rtlwifi/rtl8192eu_ap_wowlan.bin | Bin 0 -> 25264 bytes rtlwifi/rtl8192eu_nic.bin | Bin 0 -> 32286 bytes rtlwifi/rtl8192eu_wowlan.bin | Bin 0 -> 29008 bytes rtlwifi/rtl8192fufw.bin | Bin 0 -> 32416 bytes rtlwifi/rtl8192sefw.bin | Bin 0 -> 80208 bytes rtlwifi/rtl8710bufw_SMIC.bin | Bin 0 -> 23750 bytes rtlwifi/rtl8710bufw_UMC.bin | Bin 0 -> 22654 bytes rtlwifi/rtl8712u.bin | Bin 0 -> 122328 bytes rtlwifi/rtl8723aufw_A.bin | Bin 0 -> 22172 bytes rtlwifi/rtl8723aufw_B.bin | Bin 0 -> 24118 bytes rtlwifi/rtl8723aufw_B_NoBT.bin | Bin 0 -> 19200 bytes rtlwifi/rtl8723befw.bin | Bin 0 -> 30746 bytes rtlwifi/rtl8723befw_36.bin | Bin 0 -> 31762 bytes rtlwifi/rtl8723bs_bt.bin | Bin 0 -> 9120 bytes rtlwifi/rtl8723bu_ap_wowlan.bin | Bin 0 -> 20886 bytes rtlwifi/rtl8723bu_nic.bin | Bin 0 -> 32108 bytes rtlwifi/rtl8723bu_wowlan.bin | Bin 0 -> 26398 bytes rtlwifi/rtl8723defw.bin | Bin 0 -> 27726 bytes rtlwifi/rtl8723fw.bin | Bin 0 -> 11662 bytes rtlwifi/rtl8723fw_B.bin | Bin 0 -> 22996 bytes rtlwifi/rtl8812aefw.bin | Bin 0 -> 27516 bytes rtlwifi/rtl8812aefw_wowlan.bin | Bin 0 -> 21204 bytes rtlwifi/rtl8821aefw.bin | Bin 0 -> 28984 bytes rtlwifi/rtl8821aefw_29.bin | Bin 0 -> 28348 bytes rtlwifi/rtl8821aefw_wowlan.bin | Bin 0 -> 19858 bytes rtlwifi/rtl8822befw.bin | Bin 0 -> 127496 bytes rtw88/README | 34 + rtw88/rtw8723d_fw.bin | Bin 0 -> 28884 bytes rtw88/rtw8821c_fw.bin | Bin 0 -> 139472 bytes rtw88/rtw8822b_fw.bin | Bin 0 -> 150984 bytes rtw88/rtw8822c_fw.bin | Bin 0 -> 202600 bytes rtw88/rtw8822c_wow_fw.bin | Bin 0 -> 145224 bytes rtw89/rtw8851b_fw.bin | Bin 0 -> 1090544 bytes rtw89/rtw8852a_fw.bin | Bin 0 -> 1423232 bytes rtw89/rtw8852b_fw-1.bin | Bin 0 -> 1184992 bytes rtw89/rtw8852b_fw.bin | Bin 0 -> 1035232 bytes rtw89/rtw8852c_fw.bin | Bin 0 -> 1532736 bytes s5p-mfc-v6-v2.fw | Bin 0 -> 343756 bytes s5p-mfc-v6.fw | Bin 0 -> 306312 bytes s5p-mfc-v7.fw | Bin 0 -> 382724 bytes s5p-mfc-v8.fw | Bin 0 -> 360576 bytes s5p-mfc.fw | Bin 0 -> 352652 bytes sms1xxx-hcw-55xxx-dvbt-02.fw | Bin 0 -> 85656 bytes sms1xxx-hcw-55xxx-isdbt-02.fw | Bin 0 -> 70472 bytes sms1xxx-nova-a-dvbt-01.fw | Bin 0 -> 85656 bytes sms1xxx-nova-b-dvbt-01.fw | Bin 0 -> 76364 bytes sms1xxx-stellar-dvbt-01.fw | Bin 0 -> 39900 bytes tdmb_nova_12mhz.inp | Bin 0 -> 40096 bytes tehuti/bdx.bin | Bin 0 -> 42768 bytes ti-connectivity/TIInit_6.2.31.bts | Bin 0 -> 50699 bytes ti-connectivity/TIInit_6.6.15.bts | Bin 0 -> 15614 bytes ti-connectivity/TIInit_7.2.31.bts | Bin 0 -> 48909 bytes ti-connectivity/wl1251-fw.bin | Bin 0 -> 194180 bytes ti-connectivity/wl1251-nvs.bin | Bin 0 -> 752 bytes ti-connectivity/wl127x-fw-5-mr.bin | Bin 0 -> 356428 bytes ti-connectivity/wl127x-fw-5-plt.bin | Bin 0 -> 345392 bytes ti-connectivity/wl127x-fw-5-sr.bin | Bin 0 -> 364044 bytes ti-connectivity/wl127x-nvs.bin | Bin 0 -> 912 bytes ti-connectivity/wl128x-fw-5-mr.bin | Bin 0 -> 361756 bytes ti-connectivity/wl128x-fw-5-plt.bin | Bin 0 -> 354280 bytes ti-connectivity/wl128x-fw-5-sr.bin | Bin 0 -> 373172 bytes ti-connectivity/wl128x-nvs.bin | Bin 0 -> 1113 bytes ti-connectivity/wl18xx-fw-2.bin | Bin 0 -> 639276 bytes ti-connectivity/wl18xx-fw-3.bin | Bin 0 -> 673328 bytes ti-connectivity/wl18xx-fw-4.bin | Bin 0 -> 745180 bytes ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin | Bin 0 -> 1764 bytes ti/vpdma-1b8.bin | Bin 0 -> 4002 bytes tigon/tg3.bin | Bin 0 -> 2668 bytes tigon/tg357766.bin | Bin 0 -> 144 bytes tigon/tg3_tso.bin | Bin 0 -> 7004 bytes tigon/tg3_tso5.bin | Bin 0 -> 3884 bytes ueagle-atm/CMV4p.bin.v2 | Bin 0 -> 137 bytes ueagle-atm/DSP4p.bin | Bin 0 -> 456436 bytes ueagle-atm/eagleIV.fw | Bin 0 -> 10492 bytes usbdux/Makefile_dux | 18 + usbdux/fx2-include.asm | 164 + usbdux/usbdux_firmware.asm | 1184 ++++ usbdux/usbduxfast_firmware.asm | 547 ++ usbdux/usbduxsigma_firmware.asm | 1394 ++++ usbdux_firmware.bin | Bin 0 -> 1770 bytes usbduxfast_firmware.bin | Bin 0 -> 999 bytes usbduxsigma_firmware.bin | Bin 0 -> 8192 bytes v4l-cx231xx-avcore-01.fw | Bin 0 -> 16382 bytes v4l-cx23418-apu.fw | Bin 0 -> 141200 bytes v4l-cx23418-cpu.fw | Bin 0 -> 158332 bytes v4l-cx23418-dig.fw | Bin 0 -> 16382 bytes v4l-cx23885-avcore-01.fw | Bin 0 -> 16382 bytes v4l-cx25840.fw | Bin 0 -> 16382 bytes vntwusb.fw | Bin 0 -> 11341 bytes wfx/LICENCE.wf200 | 115 + wfx/brd4001a.pds | Bin 0 -> 625 bytes wfx/brd8022a.pds | Bin 0 -> 584 bytes wfx/brd8023a.pds | Bin 0 -> 625 bytes wfx/wfm_wf200_C0.sec | Bin 0 -> 309328 bytes wil6210.brd | Bin 0 -> 3588 bytes wil6210.fw | Bin 0 -> 400364 bytes 2729 files changed, 99536 insertions(+) create mode 100644 3com/typhoon.bin create mode 100644 GPL-2 create mode 100644 GPL-3 create mode 100644 LICENCE.Abilis create mode 100644 LICENCE.IntcSST2 create mode 100644 LICENCE.Marvell create mode 100644 LICENCE.NXP create mode 100644 LICENCE.Netronome create mode 100644 LICENCE.OLPC create mode 100644 LICENCE.adsp_sst create mode 100644 LICENCE.agere create mode 100644 LICENCE.atheros_firmware create mode 100644 LICENCE.broadcom_bcm43xx create mode 100644 LICENCE.ca0132 create mode 100644 LICENCE.cadence create mode 100644 LICENCE.cavium create mode 100644 LICENCE.cavium_liquidio create mode 100644 LICENCE.chelsio_firmware create mode 100644 LICENCE.cnm create mode 100644 LICENCE.cw1200 create mode 100644 LICENCE.cypress create mode 100644 LICENCE.e100 create mode 100644 LICENCE.ene_firmware create mode 100644 LICENCE.fw_sst_0f28 create mode 100644 LICENCE.go7007 create mode 100644 LICENCE.ibt_firmware create mode 100644 LICENCE.it913x create mode 100644 LICENCE.iwlwifi_firmware create mode 100644 LICENCE.kaweth create mode 100644 LICENCE.mediatek create mode 100644 LICENCE.microchip create mode 100644 LICENCE.moxa create mode 100644 LICENCE.myri10ge_firmware create mode 100644 LICENCE.nvidia create mode 100644 LICENCE.open-ath9k-htc-firmware create mode 100644 LICENCE.phanfw create mode 100644 LICENCE.qat_firmware create mode 100644 LICENCE.qla1280 create mode 100644 LICENCE.qla2xxx create mode 100644 LICENCE.r8a779x_usb3 create mode 100644 LICENCE.ralink-firmware.txt create mode 100644 LICENCE.ralink_a_mediatek_company_firmware create mode 100644 LICENCE.rockchip create mode 100644 LICENCE.rtlwifi_firmware.txt create mode 100644 LICENCE.siano create mode 100644 LICENCE.ti-connectivity create mode 100644 LICENCE.ti-keystone create mode 100644 LICENCE.ti-tspa create mode 100644 LICENCE.ueagle-atm4-firmware create mode 100644 LICENCE.via_vt6656 create mode 100644 LICENCE.wl1251 create mode 100644 LICENCE.xc4000 create mode 100644 LICENCE.xc5000 create mode 100644 LICENCE.xc5000c create mode 100644 LICENSE.Lontium create mode 100644 LICENSE.QualcommAtheros_ar3k create mode 100644 LICENSE.QualcommAtheros_ath10k create mode 100644 LICENSE.amd-sev create mode 100644 LICENSE.amd-ucode create mode 100644 LICENSE.amdgpu create mode 100644 LICENSE.amlogic_vdec create mode 100644 LICENSE.amphion_vpu create mode 100644 LICENSE.atmel create mode 100644 LICENSE.cirrus create mode 100644 LICENSE.dib0700 create mode 100644 LICENSE.hfi1_firmware create mode 100644 LICENSE.i915 create mode 100644 LICENSE.ice create mode 100644 LICENSE.ice_enhanced create mode 100644 LICENSE.ipu3_firmware create mode 100644 LICENSE.nxp create mode 100644 LICENSE.nxp_mc_firmware create mode 100644 LICENSE.qcom create mode 100644 LICENSE.qcom_yamato create mode 100644 LICENSE.radeon create mode 100644 LICENSE.sdma_firmware create mode 100644 Makefile create mode 100644 README create mode 100644 RTL8192E/boot.img create mode 100644 RTL8192E/data.img create mode 100644 RTL8192E/main.img create mode 100644 WHENCE create mode 100644 advansys/3550.bin create mode 100644 advansys/38C0800.bin create mode 100644 advansys/38C1600.bin create mode 100644 advansys/mcode.bin create mode 100644 agere_ap_fw.bin create mode 100644 agere_sta_fw.bin create mode 100644 amd/amd_sev_fam17h_model0xh.sbin create mode 100644 amd/amd_sev_fam17h_model3xh.sbin create mode 100644 amd/amd_sev_fam19h_model0xh.sbin create mode 100644 amdgpu/aldebaran_mec.bin create mode 100644 amdgpu/aldebaran_mec2.bin create mode 100644 amdgpu/aldebaran_rlc.bin create mode 100644 amdgpu/aldebaran_sdma.bin create mode 100644 amdgpu/aldebaran_sjt_mec.bin create mode 100644 amdgpu/aldebaran_sjt_mec2.bin create mode 100644 amdgpu/aldebaran_smc.bin create mode 100644 amdgpu/aldebaran_sos.bin create mode 100644 amdgpu/aldebaran_ta.bin create mode 100644 amdgpu/aldebaran_vcn.bin create mode 100644 amdgpu/arcturus_asd.bin create mode 100644 amdgpu/arcturus_gpu_info.bin create mode 100644 amdgpu/arcturus_mec.bin create mode 100644 amdgpu/arcturus_mec2.bin create mode 100644 amdgpu/arcturus_rlc.bin create mode 100644 amdgpu/arcturus_sdma.bin create mode 100644 amdgpu/arcturus_smc.bin create mode 100644 amdgpu/arcturus_sos.bin create mode 100644 amdgpu/arcturus_ta.bin create mode 100644 amdgpu/arcturus_vcn.bin create mode 100644 amdgpu/banks_k_2_smc.bin create mode 100644 amdgpu/beige_goby_ce.bin create mode 100644 amdgpu/beige_goby_dmcub.bin create mode 100644 amdgpu/beige_goby_me.bin create mode 100644 amdgpu/beige_goby_mec.bin create mode 100644 amdgpu/beige_goby_mec2.bin create mode 100644 amdgpu/beige_goby_pfp.bin create mode 100644 amdgpu/beige_goby_rlc.bin create mode 100644 amdgpu/beige_goby_sdma.bin create mode 100644 amdgpu/beige_goby_smc.bin create mode 100644 amdgpu/beige_goby_sos.bin create mode 100644 amdgpu/beige_goby_ta.bin create mode 100644 amdgpu/beige_goby_vcn.bin create mode 100644 amdgpu/bonaire_ce.bin create mode 100644 amdgpu/bonaire_k_smc.bin create mode 100644 amdgpu/bonaire_mc.bin create mode 100644 amdgpu/bonaire_me.bin create mode 100644 amdgpu/bonaire_mec.bin create mode 100644 amdgpu/bonaire_pfp.bin create mode 100644 amdgpu/bonaire_rlc.bin create mode 100644 amdgpu/bonaire_sdma.bin create mode 100644 amdgpu/bonaire_sdma1.bin create mode 100644 amdgpu/bonaire_smc.bin create mode 100644 amdgpu/bonaire_uvd.bin create mode 100644 amdgpu/bonaire_vce.bin create mode 100644 amdgpu/carrizo_ce.bin create mode 100644 amdgpu/carrizo_me.bin create mode 100644 amdgpu/carrizo_mec.bin create mode 100644 amdgpu/carrizo_mec2.bin create mode 100644 amdgpu/carrizo_pfp.bin create mode 100644 amdgpu/carrizo_rlc.bin create mode 100644 amdgpu/carrizo_sdma.bin create mode 100644 amdgpu/carrizo_sdma1.bin create mode 100644 amdgpu/carrizo_uvd.bin create mode 100644 amdgpu/carrizo_vce.bin create mode 100644 amdgpu/cyan_skillfish2_ce.bin create mode 100644 amdgpu/cyan_skillfish2_me.bin create mode 100644 amdgpu/cyan_skillfish2_mec.bin create mode 100644 amdgpu/cyan_skillfish2_mec2.bin create mode 100644 amdgpu/cyan_skillfish2_pfp.bin create mode 100644 amdgpu/cyan_skillfish2_rlc.bin create mode 100644 amdgpu/cyan_skillfish2_sdma.bin create mode 100644 amdgpu/cyan_skillfish2_sdma1.bin create mode 100644 amdgpu/dcn_3_1_4_dmcub.bin create mode 100644 amdgpu/dcn_3_1_5_dmcub.bin create mode 100644 amdgpu/dcn_3_1_6_dmcub.bin create mode 100644 amdgpu/dcn_3_2_0_dmcub.bin create mode 100644 amdgpu/dcn_3_2_1_dmcub.bin create mode 100644 amdgpu/dimgrey_cavefish_ce.bin create mode 100644 amdgpu/dimgrey_cavefish_dmcub.bin create mode 100644 amdgpu/dimgrey_cavefish_me.bin create mode 100644 amdgpu/dimgrey_cavefish_mec.bin create mode 100644 amdgpu/dimgrey_cavefish_mec2.bin create mode 100644 amdgpu/dimgrey_cavefish_pfp.bin create mode 100644 amdgpu/dimgrey_cavefish_rlc.bin create mode 100644 amdgpu/dimgrey_cavefish_sdma.bin create mode 100644 amdgpu/dimgrey_cavefish_smc.bin create mode 100644 amdgpu/dimgrey_cavefish_sos.bin create mode 100644 amdgpu/dimgrey_cavefish_ta.bin create mode 100644 amdgpu/dimgrey_cavefish_vcn.bin create mode 100644 amdgpu/fiji_ce.bin create mode 100644 amdgpu/fiji_mc.bin create mode 100644 amdgpu/fiji_me.bin create mode 100644 amdgpu/fiji_mec.bin create mode 100644 amdgpu/fiji_mec2.bin create mode 100644 amdgpu/fiji_pfp.bin create mode 100644 amdgpu/fiji_rlc.bin create mode 100644 amdgpu/fiji_sdma.bin create mode 100644 amdgpu/fiji_sdma1.bin create mode 100644 amdgpu/fiji_smc.bin create mode 100644 amdgpu/fiji_uvd.bin create mode 100644 amdgpu/fiji_vce.bin create mode 100644 amdgpu/gc_10_3_6_ce.bin create mode 100644 amdgpu/gc_10_3_6_me.bin create mode 100644 amdgpu/gc_10_3_6_mec.bin create mode 100644 amdgpu/gc_10_3_6_mec2.bin create mode 100644 amdgpu/gc_10_3_6_pfp.bin create mode 100644 amdgpu/gc_10_3_6_rlc.bin create mode 100644 amdgpu/gc_10_3_7_ce.bin create mode 100644 amdgpu/gc_10_3_7_me.bin create mode 100644 amdgpu/gc_10_3_7_mec.bin create mode 100644 amdgpu/gc_10_3_7_mec2.bin create mode 100644 amdgpu/gc_10_3_7_pfp.bin create mode 100644 amdgpu/gc_10_3_7_rlc.bin create mode 100644 amdgpu/gc_11_0_0_imu.bin create mode 100644 amdgpu/gc_11_0_0_me.bin create mode 100644 amdgpu/gc_11_0_0_mec.bin create mode 100644 amdgpu/gc_11_0_0_mes.bin create mode 100644 amdgpu/gc_11_0_0_mes1.bin create mode 100644 amdgpu/gc_11_0_0_mes_2.bin create mode 100644 amdgpu/gc_11_0_0_pfp.bin create mode 100644 amdgpu/gc_11_0_0_rlc.bin create mode 100644 amdgpu/gc_11_0_1_imu.bin create mode 100644 amdgpu/gc_11_0_1_me.bin create mode 100644 amdgpu/gc_11_0_1_mec.bin create mode 100644 amdgpu/gc_11_0_1_mes.bin create mode 100644 amdgpu/gc_11_0_1_mes1.bin create mode 100644 amdgpu/gc_11_0_1_mes_2.bin create mode 100644 amdgpu/gc_11_0_1_pfp.bin create mode 100644 amdgpu/gc_11_0_1_rlc.bin create mode 100644 amdgpu/gc_11_0_2_imu.bin create mode 100644 amdgpu/gc_11_0_2_me.bin create mode 100644 amdgpu/gc_11_0_2_mec.bin create mode 100644 amdgpu/gc_11_0_2_mes.bin create mode 100644 amdgpu/gc_11_0_2_mes1.bin create mode 100644 amdgpu/gc_11_0_2_mes_2.bin create mode 100644 amdgpu/gc_11_0_2_pfp.bin create mode 100644 amdgpu/gc_11_0_2_rlc.bin create mode 100644 amdgpu/gc_11_0_4_imu.bin create mode 100644 amdgpu/gc_11_0_4_me.bin create mode 100644 amdgpu/gc_11_0_4_mec.bin create mode 100644 amdgpu/gc_11_0_4_mes.bin create mode 100644 amdgpu/gc_11_0_4_mes1.bin create mode 100644 amdgpu/gc_11_0_4_mes_2.bin create mode 100644 amdgpu/gc_11_0_4_pfp.bin create mode 100644 amdgpu/gc_11_0_4_rlc.bin create mode 100644 amdgpu/green_sardine_asd.bin create mode 100644 amdgpu/green_sardine_ce.bin create mode 100644 amdgpu/green_sardine_dmcub.bin create mode 100644 amdgpu/green_sardine_me.bin create mode 100644 amdgpu/green_sardine_mec.bin create mode 100644 amdgpu/green_sardine_mec2.bin create mode 100644 amdgpu/green_sardine_pfp.bin create mode 100644 amdgpu/green_sardine_rlc.bin create mode 100644 amdgpu/green_sardine_sdma.bin create mode 100644 amdgpu/green_sardine_ta.bin create mode 100644 amdgpu/green_sardine_vcn.bin create mode 100644 amdgpu/hainan_ce.bin create mode 100644 amdgpu/hainan_k_smc.bin create mode 100644 amdgpu/hainan_mc.bin create mode 100644 amdgpu/hainan_me.bin create mode 100644 amdgpu/hainan_pfp.bin create mode 100644 amdgpu/hainan_rlc.bin create mode 100644 amdgpu/hainan_smc.bin create mode 100644 amdgpu/hawaii_ce.bin create mode 100644 amdgpu/hawaii_k_smc.bin create mode 100644 amdgpu/hawaii_mc.bin create mode 100644 amdgpu/hawaii_me.bin create mode 100644 amdgpu/hawaii_mec.bin create mode 100644 amdgpu/hawaii_pfp.bin create mode 100644 amdgpu/hawaii_rlc.bin create mode 100644 amdgpu/hawaii_sdma.bin create mode 100644 amdgpu/hawaii_sdma1.bin create mode 100644 amdgpu/hawaii_smc.bin create mode 100644 amdgpu/hawaii_uvd.bin create mode 100644 amdgpu/hawaii_vce.bin create mode 100644 amdgpu/kabini_ce.bin create mode 100644 amdgpu/kabini_me.bin create mode 100644 amdgpu/kabini_mec.bin create mode 100644 amdgpu/kabini_pfp.bin create mode 100644 amdgpu/kabini_rlc.bin create mode 100644 amdgpu/kabini_sdma.bin create mode 100644 amdgpu/kabini_sdma1.bin create mode 100644 amdgpu/kabini_uvd.bin create mode 100644 amdgpu/kabini_vce.bin create mode 100644 amdgpu/kaveri_ce.bin create mode 100644 amdgpu/kaveri_me.bin create mode 100644 amdgpu/kaveri_mec.bin create mode 100644 amdgpu/kaveri_mec2.bin create mode 100644 amdgpu/kaveri_pfp.bin create mode 100644 amdgpu/kaveri_rlc.bin create mode 100644 amdgpu/kaveri_sdma.bin create mode 100644 amdgpu/kaveri_sdma1.bin create mode 100644 amdgpu/kaveri_uvd.bin create mode 100644 amdgpu/kaveri_vce.bin create mode 100644 amdgpu/mullins_ce.bin create mode 100644 amdgpu/mullins_me.bin create mode 100644 amdgpu/mullins_mec.bin create mode 100644 amdgpu/mullins_pfp.bin create mode 100644 amdgpu/mullins_rlc.bin create mode 100644 amdgpu/mullins_sdma.bin create mode 100644 amdgpu/mullins_sdma1.bin create mode 100644 amdgpu/mullins_uvd.bin create mode 100644 amdgpu/mullins_vce.bin create mode 100644 amdgpu/navi10_asd.bin create mode 100644 amdgpu/navi10_ce.bin create mode 100644 amdgpu/navi10_gpu_info.bin create mode 100644 amdgpu/navi10_me.bin create mode 100644 amdgpu/navi10_mec.bin create mode 100644 amdgpu/navi10_mec2.bin create mode 100644 amdgpu/navi10_pfp.bin create mode 100644 amdgpu/navi10_rlc.bin create mode 100644 amdgpu/navi10_sdma.bin create mode 100644 amdgpu/navi10_sdma1.bin create mode 100644 amdgpu/navi10_smc.bin create mode 100644 amdgpu/navi10_sos.bin create mode 100644 amdgpu/navi10_ta.bin create mode 100644 amdgpu/navi10_vcn.bin create mode 100644 amdgpu/navi12_asd.bin create mode 100644 amdgpu/navi12_ce.bin create mode 100644 amdgpu/navi12_dmcu.bin create mode 100644 amdgpu/navi12_gpu_info.bin create mode 100644 amdgpu/navi12_me.bin create mode 100644 amdgpu/navi12_mec.bin create mode 100644 amdgpu/navi12_mec2.bin create mode 100644 amdgpu/navi12_pfp.bin create mode 100644 amdgpu/navi12_rlc.bin create mode 100644 amdgpu/navi12_sdma.bin create mode 100644 amdgpu/navi12_sdma1.bin create mode 100644 amdgpu/navi12_smc.bin create mode 100644 amdgpu/navi12_sos.bin create mode 100644 amdgpu/navi12_ta.bin create mode 100644 amdgpu/navi12_vcn.bin create mode 100644 amdgpu/navi14_asd.bin create mode 100644 amdgpu/navi14_ce.bin create mode 100644 amdgpu/navi14_ce_wks.bin create mode 100644 amdgpu/navi14_gpu_info.bin create mode 100644 amdgpu/navi14_me.bin create mode 100644 amdgpu/navi14_me_wks.bin create mode 100644 amdgpu/navi14_mec.bin create mode 100644 amdgpu/navi14_mec2.bin create mode 100644 amdgpu/navi14_mec2_wks.bin create mode 100644 amdgpu/navi14_mec_wks.bin create mode 100644 amdgpu/navi14_pfp.bin create mode 100644 amdgpu/navi14_pfp_wks.bin create mode 100644 amdgpu/navi14_rlc.bin create mode 100644 amdgpu/navi14_sdma.bin create mode 100644 amdgpu/navi14_sdma1.bin create mode 100644 amdgpu/navi14_smc.bin create mode 100644 amdgpu/navi14_sos.bin create mode 100644 amdgpu/navi14_ta.bin create mode 100644 amdgpu/navi14_vcn.bin create mode 100644 amdgpu/navy_flounder_ce.bin create mode 100644 amdgpu/navy_flounder_dmcub.bin create mode 100644 amdgpu/navy_flounder_me.bin create mode 100644 amdgpu/navy_flounder_mec.bin create mode 100644 amdgpu/navy_flounder_mec2.bin create mode 100644 amdgpu/navy_flounder_pfp.bin create mode 100644 amdgpu/navy_flounder_rlc.bin create mode 100644 amdgpu/navy_flounder_sdma.bin create mode 100644 amdgpu/navy_flounder_smc.bin create mode 100644 amdgpu/navy_flounder_sos.bin create mode 100644 amdgpu/navy_flounder_ta.bin create mode 100644 amdgpu/navy_flounder_vcn.bin create mode 100644 amdgpu/oland_ce.bin create mode 100644 amdgpu/oland_k_smc.bin create mode 100644 amdgpu/oland_mc.bin create mode 100644 amdgpu/oland_me.bin create mode 100644 amdgpu/oland_pfp.bin create mode 100644 amdgpu/oland_rlc.bin create mode 100644 amdgpu/oland_smc.bin create mode 100644 amdgpu/oland_uvd.bin create mode 100644 amdgpu/picasso_asd.bin create mode 100644 amdgpu/picasso_ce.bin create mode 100644 amdgpu/picasso_gpu_info.bin create mode 100644 amdgpu/picasso_me.bin create mode 100644 amdgpu/picasso_mec.bin create mode 100644 amdgpu/picasso_mec2.bin create mode 100644 amdgpu/picasso_pfp.bin create mode 100644 amdgpu/picasso_rlc.bin create mode 100644 amdgpu/picasso_rlc_am4.bin create mode 100644 amdgpu/picasso_sdma.bin create mode 100644 amdgpu/picasso_ta.bin create mode 100644 amdgpu/picasso_vcn.bin create mode 100644 amdgpu/pitcairn_ce.bin create mode 100644 amdgpu/pitcairn_k_smc.bin create mode 100644 amdgpu/pitcairn_mc.bin create mode 100644 amdgpu/pitcairn_me.bin create mode 100644 amdgpu/pitcairn_pfp.bin create mode 100644 amdgpu/pitcairn_rlc.bin create mode 100644 amdgpu/pitcairn_smc.bin create mode 100644 amdgpu/pitcairn_uvd.bin create mode 100644 amdgpu/polaris10_ce.bin create mode 100644 amdgpu/polaris10_ce_2.bin create mode 100644 amdgpu/polaris10_k2_smc.bin create mode 100644 amdgpu/polaris10_k_mc.bin create mode 100644 amdgpu/polaris10_k_smc.bin create mode 100644 amdgpu/polaris10_mc.bin create mode 100644 amdgpu/polaris10_me.bin create mode 100644 amdgpu/polaris10_me_2.bin create mode 100644 amdgpu/polaris10_mec.bin create mode 100644 amdgpu/polaris10_mec2.bin create mode 100644 amdgpu/polaris10_mec2_2.bin create mode 100644 amdgpu/polaris10_mec_2.bin create mode 100644 amdgpu/polaris10_pfp.bin create mode 100644 amdgpu/polaris10_pfp_2.bin create mode 100644 amdgpu/polaris10_rlc.bin create mode 100644 amdgpu/polaris10_sdma.bin create mode 100644 amdgpu/polaris10_sdma1.bin create mode 100644 amdgpu/polaris10_smc.bin create mode 100644 amdgpu/polaris10_smc_sk.bin create mode 100644 amdgpu/polaris10_uvd.bin create mode 100644 amdgpu/polaris10_vce.bin create mode 100644 amdgpu/polaris11_ce.bin create mode 100644 amdgpu/polaris11_ce_2.bin create mode 100644 amdgpu/polaris11_k2_smc.bin create mode 100644 amdgpu/polaris11_k_mc.bin create mode 100644 amdgpu/polaris11_k_smc.bin create mode 100644 amdgpu/polaris11_mc.bin create mode 100644 amdgpu/polaris11_me.bin create mode 100644 amdgpu/polaris11_me_2.bin create mode 100644 amdgpu/polaris11_mec.bin create mode 100644 amdgpu/polaris11_mec2.bin create mode 100644 amdgpu/polaris11_mec2_2.bin create mode 100644 amdgpu/polaris11_mec_2.bin create mode 100644 amdgpu/polaris11_pfp.bin create mode 100644 amdgpu/polaris11_pfp_2.bin create mode 100644 amdgpu/polaris11_rlc.bin create mode 100644 amdgpu/polaris11_sdma.bin create mode 100644 amdgpu/polaris11_sdma1.bin create mode 100644 amdgpu/polaris11_smc.bin create mode 100644 amdgpu/polaris11_smc_sk.bin create mode 100644 amdgpu/polaris11_uvd.bin create mode 100644 amdgpu/polaris11_vce.bin create mode 100644 amdgpu/polaris12_32_mc.bin create mode 100644 amdgpu/polaris12_ce.bin create mode 100644 amdgpu/polaris12_ce_2.bin create mode 100644 amdgpu/polaris12_k_mc.bin create mode 100644 amdgpu/polaris12_k_smc.bin create mode 100644 amdgpu/polaris12_mc.bin create mode 100644 amdgpu/polaris12_me.bin create mode 100644 amdgpu/polaris12_me_2.bin create mode 100644 amdgpu/polaris12_mec.bin create mode 100644 amdgpu/polaris12_mec2.bin create mode 100644 amdgpu/polaris12_mec2_2.bin create mode 100644 amdgpu/polaris12_mec_2.bin create mode 100644 amdgpu/polaris12_pfp.bin create mode 100644 amdgpu/polaris12_pfp_2.bin create mode 100644 amdgpu/polaris12_rlc.bin create mode 100644 amdgpu/polaris12_sdma.bin create mode 100644 amdgpu/polaris12_sdma1.bin create mode 100644 amdgpu/polaris12_smc.bin create mode 100644 amdgpu/polaris12_uvd.bin create mode 100644 amdgpu/polaris12_vce.bin create mode 100644 amdgpu/psp_13_0_0_sos.bin create mode 100644 amdgpu/psp_13_0_0_ta.bin create mode 100644 amdgpu/psp_13_0_11_ta.bin create mode 100644 amdgpu/psp_13_0_11_toc.bin create mode 100644 amdgpu/psp_13_0_4_ta.bin create mode 100644 amdgpu/psp_13_0_4_toc.bin create mode 100644 amdgpu/psp_13_0_5_asd.bin create mode 100644 amdgpu/psp_13_0_5_ta.bin create mode 100644 amdgpu/psp_13_0_5_toc.bin create mode 100644 amdgpu/psp_13_0_7_sos.bin create mode 100644 amdgpu/psp_13_0_7_ta.bin create mode 100644 amdgpu/psp_13_0_8_asd.bin create mode 100644 amdgpu/psp_13_0_8_ta.bin create mode 100644 amdgpu/psp_13_0_8_toc.bin create mode 100644 amdgpu/raven2_asd.bin create mode 100644 amdgpu/raven2_ce.bin create mode 100644 amdgpu/raven2_gpu_info.bin create mode 100644 amdgpu/raven2_me.bin create mode 100644 amdgpu/raven2_mec.bin create mode 100644 amdgpu/raven2_mec2.bin create mode 100644 amdgpu/raven2_pfp.bin create mode 100644 amdgpu/raven2_rlc.bin create mode 100644 amdgpu/raven2_sdma.bin create mode 100644 amdgpu/raven2_ta.bin create mode 100644 amdgpu/raven2_vcn.bin create mode 100644 amdgpu/raven_asd.bin create mode 100644 amdgpu/raven_ce.bin create mode 100644 amdgpu/raven_dmcu.bin create mode 100644 amdgpu/raven_gpu_info.bin create mode 100644 amdgpu/raven_kicker_rlc.bin create mode 100644 amdgpu/raven_me.bin create mode 100644 amdgpu/raven_mec.bin create mode 100644 amdgpu/raven_mec2.bin create mode 100644 amdgpu/raven_pfp.bin create mode 100644 amdgpu/raven_rlc.bin create mode 100644 amdgpu/raven_sdma.bin create mode 100644 amdgpu/raven_ta.bin create mode 100644 amdgpu/raven_vcn.bin create mode 100644 amdgpu/renoir_asd.bin create mode 100644 amdgpu/renoir_ce.bin create mode 100644 amdgpu/renoir_dmcub.bin create mode 100644 amdgpu/renoir_gpu_info.bin create mode 100644 amdgpu/renoir_me.bin create mode 100644 amdgpu/renoir_mec.bin create mode 100644 amdgpu/renoir_mec2.bin create mode 100644 amdgpu/renoir_pfp.bin create mode 100644 amdgpu/renoir_rlc.bin create mode 100644 amdgpu/renoir_sdma.bin create mode 100644 amdgpu/renoir_ta.bin create mode 100644 amdgpu/renoir_vcn.bin create mode 100644 amdgpu/sdma_5_2_6.bin create mode 100644 amdgpu/sdma_5_2_7.bin create mode 100644 amdgpu/sdma_6_0_0.bin create mode 100644 amdgpu/sdma_6_0_1.bin create mode 100644 amdgpu/sdma_6_0_2.bin create mode 100644 amdgpu/si58_mc.bin create mode 100644 amdgpu/sienna_cichlid_ce.bin create mode 100644 amdgpu/sienna_cichlid_dmcub.bin create mode 100644 amdgpu/sienna_cichlid_me.bin create mode 100644 amdgpu/sienna_cichlid_mec.bin create mode 100644 amdgpu/sienna_cichlid_mec2.bin create mode 100644 amdgpu/sienna_cichlid_pfp.bin create mode 100644 amdgpu/sienna_cichlid_rlc.bin create mode 100644 amdgpu/sienna_cichlid_sdma.bin create mode 100644 amdgpu/sienna_cichlid_smc.bin create mode 100644 amdgpu/sienna_cichlid_sos.bin create mode 100644 amdgpu/sienna_cichlid_ta.bin create mode 100644 amdgpu/sienna_cichlid_vcn.bin create mode 100644 amdgpu/smu_13_0_0.bin create mode 100644 amdgpu/smu_13_0_7.bin create mode 100644 amdgpu/stoney_ce.bin create mode 100644 amdgpu/stoney_me.bin create mode 100644 amdgpu/stoney_mec.bin create mode 100644 amdgpu/stoney_pfp.bin create mode 100644 amdgpu/stoney_rlc.bin create mode 100644 amdgpu/stoney_sdma.bin create mode 100644 amdgpu/stoney_uvd.bin create mode 100644 amdgpu/stoney_vce.bin create mode 100644 amdgpu/tahiti_ce.bin create mode 100644 amdgpu/tahiti_k_smc.bin create mode 100644 amdgpu/tahiti_mc.bin create mode 100644 amdgpu/tahiti_me.bin create mode 100644 amdgpu/tahiti_pfp.bin create mode 100644 amdgpu/tahiti_rlc.bin create mode 100644 amdgpu/tahiti_smc.bin create mode 100644 amdgpu/tahiti_uvd.bin create mode 100644 amdgpu/tonga_ce.bin create mode 100644 amdgpu/tonga_k_smc.bin create mode 100644 amdgpu/tonga_mc.bin create mode 100644 amdgpu/tonga_me.bin create mode 100644 amdgpu/tonga_mec.bin create mode 100644 amdgpu/tonga_mec2.bin create mode 100644 amdgpu/tonga_pfp.bin create mode 100644 amdgpu/tonga_rlc.bin create mode 100644 amdgpu/tonga_sdma.bin create mode 100644 amdgpu/tonga_sdma1.bin create mode 100644 amdgpu/tonga_smc.bin create mode 100644 amdgpu/tonga_uvd.bin create mode 100644 amdgpu/tonga_vce.bin create mode 100644 amdgpu/topaz_ce.bin create mode 100644 amdgpu/topaz_k_smc.bin create mode 100644 amdgpu/topaz_mc.bin create mode 100644 amdgpu/topaz_me.bin create mode 100644 amdgpu/topaz_mec.bin create mode 100644 amdgpu/topaz_mec2.bin create mode 100644 amdgpu/topaz_pfp.bin create mode 100644 amdgpu/topaz_rlc.bin create mode 100644 amdgpu/topaz_sdma.bin create mode 100644 amdgpu/topaz_sdma1.bin create mode 100644 amdgpu/topaz_smc.bin create mode 100644 amdgpu/vangogh_asd.bin create mode 100644 amdgpu/vangogh_ce.bin create mode 100644 amdgpu/vangogh_dmcub.bin create mode 100644 amdgpu/vangogh_me.bin create mode 100644 amdgpu/vangogh_mec.bin create mode 100644 amdgpu/vangogh_mec2.bin create mode 100644 amdgpu/vangogh_pfp.bin create mode 100644 amdgpu/vangogh_rlc.bin create mode 100644 amdgpu/vangogh_sdma.bin create mode 100644 amdgpu/vangogh_toc.bin create mode 100644 amdgpu/vangogh_vcn.bin create mode 100644 amdgpu/vcn_3_1_2.bin create mode 100644 amdgpu/vcn_4_0_0.bin create mode 100644 amdgpu/vcn_4_0_2.bin create mode 100644 amdgpu/vcn_4_0_4.bin create mode 100644 amdgpu/vega10_acg_smc.bin create mode 100644 amdgpu/vega10_asd.bin create mode 100644 amdgpu/vega10_ce.bin create mode 100644 amdgpu/vega10_gpu_info.bin create mode 100644 amdgpu/vega10_me.bin create mode 100644 amdgpu/vega10_mec.bin create mode 100644 amdgpu/vega10_mec2.bin create mode 100644 amdgpu/vega10_pfp.bin create mode 100644 amdgpu/vega10_rlc.bin create mode 100644 amdgpu/vega10_sdma.bin create mode 100644 amdgpu/vega10_sdma1.bin create mode 100644 amdgpu/vega10_smc.bin create mode 100644 amdgpu/vega10_sos.bin create mode 100644 amdgpu/vega10_uvd.bin create mode 100644 amdgpu/vega10_vce.bin create mode 100644 amdgpu/vega12_asd.bin create mode 100644 amdgpu/vega12_ce.bin create mode 100644 amdgpu/vega12_gpu_info.bin create mode 100644 amdgpu/vega12_me.bin create mode 100644 amdgpu/vega12_mec.bin create mode 100644 amdgpu/vega12_mec2.bin create mode 100644 amdgpu/vega12_pfp.bin create mode 100644 amdgpu/vega12_rlc.bin create mode 100644 amdgpu/vega12_sdma.bin create mode 100644 amdgpu/vega12_sdma1.bin create mode 100644 amdgpu/vega12_smc.bin create mode 100644 amdgpu/vega12_sos.bin create mode 100644 amdgpu/vega12_uvd.bin create mode 100644 amdgpu/vega12_vce.bin create mode 100644 amdgpu/vega20_asd.bin create mode 100644 amdgpu/vega20_ce.bin create mode 100644 amdgpu/vega20_me.bin create mode 100644 amdgpu/vega20_mec.bin create mode 100644 amdgpu/vega20_mec2.bin create mode 100644 amdgpu/vega20_pfp.bin create mode 100644 amdgpu/vega20_rlc.bin create mode 100644 amdgpu/vega20_sdma.bin create mode 100644 amdgpu/vega20_sdma1.bin create mode 100644 amdgpu/vega20_smc.bin create mode 100644 amdgpu/vega20_sos.bin create mode 100644 amdgpu/vega20_ta.bin create mode 100644 amdgpu/vega20_uvd.bin create mode 100644 amdgpu/vega20_vce.bin create mode 100644 amdgpu/vegam_ce.bin create mode 100644 amdgpu/vegam_me.bin create mode 100644 amdgpu/vegam_mec.bin create mode 100644 amdgpu/vegam_mec2.bin create mode 100644 amdgpu/vegam_pfp.bin create mode 100644 amdgpu/vegam_rlc.bin create mode 100644 amdgpu/vegam_sdma.bin create mode 100644 amdgpu/vegam_sdma1.bin create mode 100644 amdgpu/vegam_smc.bin create mode 100644 amdgpu/vegam_uvd.bin create mode 100644 amdgpu/vegam_vce.bin create mode 100644 amdgpu/verde_ce.bin create mode 100644 amdgpu/verde_k_smc.bin create mode 100644 amdgpu/verde_mc.bin create mode 100644 amdgpu/verde_me.bin create mode 100644 amdgpu/verde_pfp.bin create mode 100644 amdgpu/verde_rlc.bin create mode 100644 amdgpu/verde_smc.bin create mode 100644 amdgpu/verde_uvd.bin create mode 100644 amdgpu/yellow_carp_asd.bin create mode 100644 amdgpu/yellow_carp_ce.bin create mode 100644 amdgpu/yellow_carp_dmcub.bin create mode 100644 amdgpu/yellow_carp_me.bin create mode 100644 amdgpu/yellow_carp_mec.bin create mode 100644 amdgpu/yellow_carp_mec2.bin create mode 100644 amdgpu/yellow_carp_pfp.bin create mode 100644 amdgpu/yellow_carp_rlc.bin create mode 100644 amdgpu/yellow_carp_sdma.bin create mode 100644 amdgpu/yellow_carp_ta.bin create mode 100644 amdgpu/yellow_carp_toc.bin create mode 100644 amdgpu/yellow_carp_vcn.bin create mode 100755 amphion/vpu/vpu_fw_imx8_dec.bin create mode 100755 amphion/vpu/vpu_fw_imx8_enc.bin create mode 100644 ar3k/AthrBT_0x01020001.dfu create mode 100644 ar3k/AthrBT_0x01020200.dfu create mode 100644 ar3k/AthrBT_0x01020201.dfu create mode 100644 ar3k/AthrBT_0x11020000.dfu create mode 100644 ar3k/AthrBT_0x11020100.dfu create mode 100644 ar3k/AthrBT_0x31010000.dfu create mode 100644 ar3k/AthrBT_0x31010100.dfu create mode 100644 ar3k/AthrBT_0x41020000.dfu create mode 100644 ar3k/ramps_0x01020001_26.dfu create mode 100644 ar3k/ramps_0x01020200_26.dfu create mode 100644 ar3k/ramps_0x01020200_40.dfu create mode 100644 ar3k/ramps_0x01020201_26.dfu create mode 100644 ar3k/ramps_0x01020201_40.dfu create mode 100644 ar3k/ramps_0x11020000_40.dfu create mode 100644 ar3k/ramps_0x11020100_40.dfu create mode 100644 ar3k/ramps_0x31010000_40.dfu create mode 100644 ar3k/ramps_0x31010100_40.dfu create mode 100644 ar3k/ramps_0x41020000_40.dfu create mode 100644 ar5523.bin create mode 100644 ar7010.fw create mode 100644 ar7010_1_1.fw create mode 100644 ar9271.fw create mode 100644 as102_data1_st.hex create mode 100644 as102_data2_st.hex create mode 100644 ath10k/QCA4019/hw1.0/board-2.bin create mode 100644 ath10k/QCA4019/hw1.0/firmware-5.bin create mode 100644 ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA6174/hw2.1/board-2.bin create mode 100644 ath10k/QCA6174/hw2.1/board.bin create mode 100644 ath10k/QCA6174/hw2.1/firmware-5.bin create mode 100644 ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA6174/hw3.0/board-2.bin create mode 100644 ath10k/QCA6174/hw3.0/board.bin create mode 100644 ath10k/QCA6174/hw3.0/firmware-4.bin create mode 100644 ath10k/QCA6174/hw3.0/firmware-6.bin create mode 100644 ath10k/QCA6174/hw3.0/firmware-sdio-6.bin create mode 100644 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt create mode 100644 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt create mode 100644 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt create mode 100644 ath10k/QCA9377/hw1.0/board-2.bin create mode 100644 ath10k/QCA9377/hw1.0/board.bin create mode 100644 ath10k/QCA9377/hw1.0/firmware-5.bin create mode 100644 ath10k/QCA9377/hw1.0/firmware-6.bin create mode 100644 ath10k/QCA9377/hw1.0/firmware-sdio-5.bin create mode 100644 ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt create mode 100644 ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt create mode 100644 ath10k/QCA9887/hw1.0/board.bin create mode 100644 ath10k/QCA9887/hw1.0/firmware-5.bin create mode 100644 ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA9888/hw2.0/board-2.bin create mode 100644 ath10k/QCA9888/hw2.0/firmware-5.bin create mode 100644 ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA988X/hw2.0/board.bin create mode 100644 ath10k/QCA988X/hw2.0/firmware-4.bin create mode 100644 ath10k/QCA988X/hw2.0/firmware-5.bin create mode 100644 ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt create mode 100644 ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA9984/hw1.0/board-2.bin create mode 100644 ath10k/QCA9984/hw1.0/firmware-5.bin create mode 100644 ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/QCA99X0/hw2.0/board-2.bin create mode 100644 ath10k/QCA99X0/hw2.0/firmware-5.bin create mode 100644 ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt create mode 100644 ath10k/WCN3990/hw1.0/board-2.bin create mode 100644 ath10k/WCN3990/hw1.0/firmware-5.bin create mode 100644 ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp create mode 100644 ath10k/WCN3990/hw1.0/wlanmdsp.mbn create mode 100644 ath11k/IPQ5018/hw1.0/Notice.txt create mode 100644 ath11k/IPQ5018/hw1.0/board-2.bin create mode 100644 ath11k/IPQ5018/hw1.0/m3_fw.b00 create mode 100644 ath11k/IPQ5018/hw1.0/m3_fw.b01 create mode 100644 ath11k/IPQ5018/hw1.0/m3_fw.b02 create mode 100644 ath11k/IPQ5018/hw1.0/m3_fw.flist create mode 100644 ath11k/IPQ5018/hw1.0/m3_fw.mdt create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b00 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b01 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b02 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b03 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b04 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b05 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b07 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b08 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b09 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b10 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b11 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b13 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.b14 create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.flist create mode 100644 ath11k/IPQ5018/hw1.0/q6_fw.mdt 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 ath11k/QCA6390/hw2.0/Notice.txt create mode 100644 ath11k/QCA6390/hw2.0/amss.bin create mode 100644 ath11k/QCA6390/hw2.0/board-2.bin create mode 100644 ath11k/QCA6390/hw2.0/m3.bin create mode 100644 ath11k/QCN9074/hw1.0/Notice.txt create mode 100644 ath11k/QCN9074/hw1.0/amss.bin create mode 100644 ath11k/QCN9074/hw1.0/board-2.bin create mode 100644 ath11k/QCN9074/hw1.0/m3.bin create mode 100644 ath11k/WCN6750/hw1.0/Notice.txt create mode 100644 ath11k/WCN6750/hw1.0/board-2.bin create mode 100644 ath11k/WCN6750/hw1.0/wpss.b00 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b01 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b02 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b03 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b04 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b05 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b06 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b07 create mode 100644 ath11k/WCN6750/hw1.0/wpss.b08 create mode 100644 ath11k/WCN6750/hw1.0/wpss.mdt create mode 100644 ath11k/WCN6855/hw2.0/Notice.txt create mode 100644 ath11k/WCN6855/hw2.0/amss.bin create mode 100644 ath11k/WCN6855/hw2.0/board-2.bin create mode 100644 ath11k/WCN6855/hw2.0/m3.bin create mode 100644 ath11k/WCN6855/hw2.0/regdb.bin create mode 100644 ath3k-1.fw create mode 100644 ath6k/AR6003.1/hw2.1.1/athwlan.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/data.patch.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/endpointping.bin create mode 100644 ath6k/AR6003.1/hw2.1.1/otp.bin create mode 100644 ath6k/AR6003/hw1.0/athwlan.bin.z77 create mode 100644 ath6k/AR6003/hw1.0/bdata.SD31.bin create mode 100644 ath6k/AR6003/hw1.0/bdata.SD32.bin create mode 100644 ath6k/AR6003/hw1.0/bdata.WB31.bin create mode 100644 ath6k/AR6003/hw1.0/data.patch.bin create mode 100644 ath6k/AR6003/hw1.0/otp.bin.z77 create mode 100644 ath6k/AR6003/hw2.0/athwlan.bin.z77 create mode 100644 ath6k/AR6003/hw2.0/bdata.SD31.bin create mode 100644 ath6k/AR6003/hw2.0/bdata.SD32.bin create mode 100644 ath6k/AR6003/hw2.0/bdata.WB31.bin create mode 100644 ath6k/AR6003/hw2.0/data.patch.bin create mode 100644 ath6k/AR6003/hw2.0/otp.bin.z77 create mode 100644 ath6k/AR6003/hw2.1.1/athwlan.bin create mode 100644 ath6k/AR6003/hw2.1.1/bdata.SD31.bin create mode 100644 ath6k/AR6003/hw2.1.1/bdata.SD32.bin create mode 100644 ath6k/AR6003/hw2.1.1/bdata.WB31.bin create mode 100644 ath6k/AR6003/hw2.1.1/data.patch.bin create mode 100644 ath6k/AR6003/hw2.1.1/endpointping.bin create mode 100644 ath6k/AR6003/hw2.1.1/fw-2.bin create mode 100644 ath6k/AR6003/hw2.1.1/fw-3.bin create mode 100644 ath6k/AR6003/hw2.1.1/otp.bin create mode 100644 ath6k/AR6004/hw1.2/bdata.bin create mode 100644 ath6k/AR6004/hw1.2/fw-2.bin create mode 100644 ath6k/AR6004/hw1.3/bdata.bin create mode 100644 ath6k/AR6004/hw1.3/fw-3.bin create mode 100644 atusb/ChangeLog create mode 100644 av7110/Boot.S create mode 100644 av7110/Makefile create mode 100644 av7110/bootcode.bin create mode 100644 bnx2/bnx2-mips-06-6.2.3.fw create mode 100644 bnx2/bnx2-mips-09-6.2.1b.fw create mode 100644 bnx2/bnx2-rv2p-06-6.0.15.fw create mode 100644 bnx2/bnx2-rv2p-09-6.0.17.fw create mode 100644 bnx2/bnx2-rv2p-09ax-6.0.17.fw create mode 100644 bnx2x/bnx2x-e1-7.13.1.0.fw create mode 100644 bnx2x/bnx2x-e1-7.13.15.0.fw create mode 100644 bnx2x/bnx2x-e1-7.13.21.0.fw create mode 100644 bnx2x/bnx2x-e1h-7.13.1.0.fw create mode 100644 bnx2x/bnx2x-e1h-7.13.15.0.fw create mode 100644 bnx2x/bnx2x-e1h-7.13.21.0.fw create mode 100644 bnx2x/bnx2x-e2-7.13.1.0.fw create mode 100644 bnx2x/bnx2x-e2-7.13.15.0.fw create mode 100644 bnx2x/bnx2x-e2-7.13.21.0.fw create mode 100644 brcm/BCM-0bb4-0306.hcd create mode 100644 brcm/bcm43xx-0.fw create mode 100644 brcm/bcm43xx_hdr-0.fw create mode 100644 brcm/brcmfmac43143-sdio.bin create mode 100644 brcm/brcmfmac43143.bin create mode 100644 brcm/brcmfmac43236b.bin create mode 100644 brcm/brcmfmac43241b0-sdio.bin create mode 100644 brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt create mode 100644 brcm/brcmfmac43241b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt create mode 100644 brcm/brcmfmac43241b4-sdio.bin create mode 100644 brcm/brcmfmac43241b5-sdio.bin create mode 100644 brcm/brcmfmac43242a.bin create mode 100644 brcm/brcmfmac4329-sdio.bin create mode 100644 brcm/brcmfmac4330-sdio.Prowise-PT301.txt create mode 100644 brcm/brcmfmac4330-sdio.bin create mode 100644 brcm/brcmfmac4334-sdio.bin create mode 100644 brcm/brcmfmac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.txt create mode 100644 brcm/brcmfmac43340-sdio.meegopad-t08.txt create mode 100644 brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt create mode 100644 brcm/brcmfmac43340-sdio.predia-basic.txt create mode 100644 brcm/brcmfmac4335-sdio.bin create mode 100644 brcm/brcmfmac43362-sdio.WC121.txt create mode 100644 brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt create mode 100644 brcm/brcmfmac43430-sdio.AP6212.txt create mode 100644 brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt create mode 100644 brcm/brcmfmac43430-sdio.MUR1DX.txt create mode 100644 brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt create mode 100644 brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt create mode 100644 brcm/brcmfmac43430a0-sdio.bin create mode 100644 brcm/brcmfmac43430a0-sdio.ilife-S806.txt create mode 100644 brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt create mode 100644 brcm/brcmfmac43455-sdio.AW-CM256SM.txt create mode 100644 brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt create mode 100644 brcm/brcmfmac43455-sdio.acepc-t8.txt create mode 100644 brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt create mode 100644 brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt create mode 100644 brcm/brcmfmac4350-pcie.bin create mode 100644 brcm/brcmfmac4350c2-pcie.bin create mode 100644 brcm/brcmfmac4356-pcie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt create mode 100644 brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt create mode 100644 brcm/brcmfmac4356-pcie.gpd-win-pocket.txt create mode 100644 brcm/brcmfmac4356-sdio.AP6356S.txt create mode 100644 brcm/brcmfmac43569.bin create mode 100644 brcm/brcmfmac4358-pcie.bin create mode 100644 brcm/brcmfmac43602-pcie.ap.bin create mode 100644 brcm/brcmfmac43602-pcie.bin create mode 100644 brcm/brcmfmac4366b-pcie.bin create mode 100644 brcm/brcmfmac4366c-pcie.bin create mode 100644 brcm/brcmfmac4371-pcie.bin create mode 100644 brcm/brcmfmac4373.bin create mode 100644 cadence/mhdp8546.bin create mode 100644 carl9170-1.fw create mode 100644 carl9170fw/CMakeLists.txt create mode 100644 carl9170fw/COPYRIGHT create mode 100644 carl9170fw/GPL create mode 100644 carl9170fw/Kconfig create mode 100644 carl9170fw/README create mode 100755 carl9170fw/autogen.sh create mode 100644 carl9170fw/carlfw/CMakeLists.txt create mode 100644 carl9170fw/carlfw/Kconfig create mode 100644 carl9170fw/carlfw/carl9170.lds create mode 100644 carl9170fw/carlfw/include/cam.h create mode 100644 carl9170fw/carlfw/include/carl9170.h create mode 100644 carl9170fw/carlfw/include/cmd.h create mode 100644 carl9170fw/carlfw/include/config.h create mode 100644 carl9170fw/carlfw/include/dma.h create mode 100644 carl9170fw/carlfw/include/fwdsc.h create mode 100644 carl9170fw/carlfw/include/gpio.h create mode 100644 carl9170fw/carlfw/include/hostif.h create mode 100644 carl9170fw/carlfw/include/io.h create mode 100644 carl9170fw/carlfw/include/printf.h create mode 100644 carl9170fw/carlfw/include/rf.h create mode 100644 carl9170fw/carlfw/include/rom.h create mode 100644 carl9170fw/carlfw/include/timer.h create mode 100644 carl9170fw/carlfw/include/uart.h create mode 100644 carl9170fw/carlfw/include/usb.h create mode 100644 carl9170fw/carlfw/include/usb_fifo.h create mode 100644 carl9170fw/carlfw/include/wl.h create mode 100644 carl9170fw/carlfw/include/wol.h create mode 100644 carl9170fw/carlfw/src/ashlsi3.S create mode 100644 carl9170fw/carlfw/src/cam.c create mode 100644 carl9170fw/carlfw/src/cmd.c create mode 100644 carl9170fw/carlfw/src/dma.c create mode 100644 carl9170fw/carlfw/src/fw.c create mode 100644 carl9170fw/carlfw/src/gpio.c create mode 100644 carl9170fw/carlfw/src/hostif.c create mode 100644 carl9170fw/carlfw/src/main.c create mode 100644 carl9170fw/carlfw/src/memcpy.S create mode 100644 carl9170fw/carlfw/src/memset.S create mode 100644 carl9170fw/carlfw/src/printf.c create mode 100644 carl9170fw/carlfw/src/reboot.S create mode 100644 carl9170fw/carlfw/src/rf.c create mode 100644 carl9170fw/carlfw/src/uart.c create mode 100644 carl9170fw/carlfw/src/udivsi3_i4i-Os.S create mode 100644 carl9170fw/carlfw/src/wlan.c create mode 100644 carl9170fw/carlfw/src/wol.c create mode 100644 carl9170fw/carlfw/usb/Kconfig create mode 100644 carl9170fw/carlfw/usb/fifo.c create mode 100644 carl9170fw/carlfw/usb/main.c create mode 100644 carl9170fw/carlfw/usb/usb.c create mode 100644 carl9170fw/config/CMakeLists.txt create mode 100644 carl9170fw/config/conf.c create mode 100644 carl9170fw/config/confdata.c create mode 100644 carl9170fw/config/expr.c create mode 100644 carl9170fw/config/expr.h create mode 100644 carl9170fw/config/lkc.h create mode 100644 carl9170fw/config/lkc_proto.h create mode 100644 carl9170fw/config/menu.c create mode 100644 carl9170fw/config/symbol.c create mode 100644 carl9170fw/config/util.c create mode 100644 carl9170fw/config/zconf.gperf create mode 100644 carl9170fw/config/zconf.l create mode 100644 carl9170fw/config/zconf.y create mode 100644 carl9170fw/extra/FindGPERF.cmake create mode 100644 carl9170fw/extra/FindPackageHandleStandardArgs.cmake create mode 100644 carl9170fw/extra/FindUSB-1.0.cmake create mode 100644 carl9170fw/extra/GCCVersion.cmake create mode 100644 carl9170fw/extra/libusb-zeropacket.diff create mode 100644 carl9170fw/extra/sh-elf-linux.cmake create mode 100755 carl9170fw/genapi.sh create mode 100644 carl9170fw/include/linux/ch9.h create mode 100644 carl9170fw/include/linux/compiler.h create mode 100644 carl9170fw/include/linux/ieee80211.h create mode 100644 carl9170fw/include/linux/types.h create mode 100644 carl9170fw/include/shared/eeprom.h create mode 100644 carl9170fw/include/shared/fwcmd.h create mode 100644 carl9170fw/include/shared/fwdesc.h create mode 100644 carl9170fw/include/shared/hw.h create mode 100644 carl9170fw/include/shared/phy.h create mode 100644 carl9170fw/include/shared/version.h create mode 100644 carl9170fw/include/shared/wlan.h create mode 100644 carl9170fw/minifw/CMakeLists.txt create mode 100644 carl9170fw/minifw/Kconfig create mode 100644 carl9170fw/minifw/miniboot.S create mode 100644 carl9170fw/minifw/miniboot.lds create mode 100644 carl9170fw/toolchain/Makefile create mode 100644 carl9170fw/toolchain/SHA256SUMS create mode 100644 carl9170fw/tools/CMakeLists.txt create mode 100644 carl9170fw/tools/Kconfig create mode 100644 carl9170fw/tools/carlu/CMakeLists.txt create mode 100644 carl9170fw/tools/carlu/src/carlu.h create mode 100644 carl9170fw/tools/carlu/src/cmd.c create mode 100644 carl9170fw/tools/carlu/src/cmd.h create mode 100644 carl9170fw/tools/carlu/src/debug.c create mode 100644 carl9170fw/tools/carlu/src/debug.h create mode 100644 carl9170fw/tools/carlu/src/fw.c create mode 100644 carl9170fw/tools/carlu/src/main.c create mode 100644 carl9170fw/tools/carlu/src/rx.c create mode 100644 carl9170fw/tools/carlu/src/test.c create mode 100644 carl9170fw/tools/carlu/src/test.h create mode 100644 carl9170fw/tools/carlu/src/tx.c create mode 100644 carl9170fw/tools/carlu/src/usb.c create mode 100644 carl9170fw/tools/carlu/src/usb.h create mode 100644 carl9170fw/tools/include/frame.h create mode 100644 carl9170fw/tools/include/list.h create mode 100644 carl9170fw/tools/lib/CMakeLists.txt create mode 100644 carl9170fw/tools/lib/carlfw.c create mode 100644 carl9170fw/tools/lib/carlfw.h create mode 100644 carl9170fw/tools/src/CMakeLists.txt create mode 100644 carl9170fw/tools/src/checksum.c create mode 100644 carl9170fw/tools/src/eeprom_fix.c create mode 100644 carl9170fw/tools/src/fwinfo.c create mode 100644 carl9170fw/tools/src/miniboot.c create mode 100644 carl9170fw/tools/src/wol.c create mode 100644 cavium/cnn55xx_ae.fw create mode 100644 cavium/cnn55xx_se.fw create mode 100644 cbfw-3.2.5.1.bin create mode 100755 check_whence.py create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8971.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8972.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8973.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8971.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8972.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8973.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot.bin create mode 100644 cirrus/cs35l41-dsp1-spk-prot.wmfw create mode 100644 cirrus/cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw create mode 100644 cirrus/cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw create mode 100644 cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw create mode 100755 cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw create mode 100644 cis/3CCFEM556.cis create mode 100644 cis/3CXEM556.cis create mode 100644 cis/COMpad2.cis create mode 100644 cis/COMpad4.cis create mode 100644 cis/DP83903.cis create mode 100644 cis/LA-PCM.cis create mode 100644 cis/MT5634ZLX.cis create mode 100644 cis/Makefile create mode 100644 cis/NE2K.cis create mode 100644 cis/PCMLM28.cis create mode 100644 cis/PE-200.cis create mode 100644 cis/PE520.cis create mode 100644 cis/RS-COM-2P.cis create mode 100644 cis/SW_555_SER.cis create mode 100644 cis/SW_7xx_SER.cis create mode 100644 cis/SW_8xx_SER.cis create mode 100644 cis/src/3CCFEM556.cis create mode 100644 cis/src/3CXEM556.cis create mode 100644 cis/src/COMpad2.cis create mode 100644 cis/src/COMpad4.cis create mode 100644 cis/src/DP83903.cis create mode 100644 cis/src/LA-PCM.cis create mode 100644 cis/src/MT5634ZLX.cis create mode 100644 cis/src/NE2K.cis create mode 100644 cis/src/PCMLM28.cis create mode 100644 cis/src/PE-200.cis create mode 100644 cis/src/PE520.cis create mode 100644 cis/src/RS-COM-2P.cis create mode 100644 cis/src/tamarack.cis create mode 100644 cis/tamarack.cis create mode 100644 cmmb_vega_12mhz.inp create mode 100644 cmmb_venice_12mhz.inp create mode 100644 cnm/wave521c_k3_codec_fw.bin create mode 100644 configure create mode 100755 copy-firmware.sh create mode 100644 ct2fw-3.2.5.1.bin create mode 100644 ctefx.bin create mode 100644 ctfw-3.2.5.1.bin create mode 100644 ctspeq.bin create mode 100644 cxgb3/ael2005_opt_edc.bin create mode 100644 cxgb3/ael2005_twx_edc.bin create mode 100644 cxgb3/ael2020_twx_edc.bin create mode 100644 cxgb3/t3b_psram-1.1.0.bin create mode 100644 cxgb3/t3c_psram-1.1.0.bin create mode 100644 cxgb3/t3fw-7.10.0.bin create mode 100644 cxgb3/t3fw-7.12.0.bin create mode 100644 cxgb3/t3fw-7.4.0.bin create mode 100644 cxgb4/aq1202_fw.cld create mode 100644 cxgb4/bcm8483.bin create mode 100644 cxgb4/configs/t4-config-default.txt create mode 100644 cxgb4/configs/t5-config-default.txt create mode 100644 cxgb4/configs/t5-config-hashfilter.txt create mode 100644 cxgb4/configs/t6-config-default.txt create mode 100644 cxgb4/configs/t6-config-hashfilter.txt create mode 100644 cxgb4/t4fw-1.27.3.0.bin create mode 100644 cxgb4/t5fw-1.27.3.0.bin create mode 100644 cxgb4/t6fw-1.27.3.0.bin 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 create mode 100644 dabusb/bitstream.bin create mode 100644 dabusb/firmware.fw create mode 100644 dsp56k/Makefile create mode 100644 dsp56k/bootstrap.asm create mode 100644 dsp56k/bootstrap.bin create mode 100644 dsp56k/concat-bootstrap.pl create mode 100644 dvb-fe-xc4000-1.4.1.fw create mode 100644 dvb-fe-xc5000-1.6.114.fw create mode 100644 dvb-fe-xc5000c-4.1.30.7.fw create mode 100644 dvb-usb-dib0700-1.20.fw create mode 100644 dvb-usb-it9135-01.fw create mode 100644 dvb-usb-it9135-02.fw create mode 100644 dvb-usb-terratec-h5-drxk.fw create mode 100644 dvb_nova_12mhz.inp create mode 100644 dvb_nova_12mhz_b0.inp create mode 100644 e100/d101m_ucode.bin create mode 100644 e100/d101s_ucode.bin create mode 100644 e100/d102e_ucode.bin create mode 100644 ene-ub6250/ms_init.bin create mode 100644 ene-ub6250/ms_rdwr.bin create mode 100644 ene-ub6250/msp_rdwr.bin create mode 100644 ene-ub6250/sd_init1.bin create mode 100644 ene-ub6250/sd_init2.bin create mode 100644 ene-ub6250/sd_rdwr.bin create mode 100644 f2255usb.bin create mode 100644 go7007/go7007fw.bin create mode 100644 go7007/go7007tv.bin create mode 100644 go7007/lr192.fw create mode 100644 go7007/px-m402u.fw create mode 100644 go7007/px-tv402u.fw create mode 100644 go7007/s2250-1.fw create mode 100644 go7007/s2250-2.fw create mode 100644 go7007/wis-startrek.fw create mode 100644 hfi1_dc8051.fw create mode 100644 hfi1_fabric.fw create mode 100644 hfi1_pcie.fw create mode 100644 hfi1_sbus.fw create mode 100644 htc_7010.fw create mode 100644 htc_9271.fw create mode 100644 i915/adlp_dmc.bin create mode 100644 i915/adlp_dmc_ver2_09.bin create mode 100644 i915/adlp_dmc_ver2_10.bin create mode 100644 i915/adlp_dmc_ver2_12.bin create mode 100644 i915/adlp_dmc_ver2_14.bin create mode 100644 i915/adlp_dmc_ver2_16.bin create mode 100644 i915/adlp_guc_62.0.3.bin create mode 100644 i915/adlp_guc_69.0.3.bin create mode 100644 i915/adlp_guc_70.1.1.bin create mode 100644 i915/adlp_guc_70.bin create mode 100644 i915/adls_dmc_ver2_01.bin create mode 100644 i915/bxt_dmc_ver1_07.bin create mode 100644 i915/bxt_guc_32.0.3.bin create mode 100644 i915/bxt_guc_33.0.0.bin create mode 100644 i915/bxt_guc_49.0.1.bin create mode 100644 i915/bxt_guc_62.0.0.bin create mode 100644 i915/bxt_guc_69.0.3.bin create mode 100644 i915/bxt_guc_70.1.1.bin create mode 100644 i915/bxt_guc_ver8_7.bin create mode 100644 i915/bxt_guc_ver9_29.bin create mode 100644 i915/bxt_huc_2.0.0.bin create mode 100644 i915/bxt_huc_ver01_07_1398.bin create mode 100644 i915/bxt_huc_ver01_8_2893.bin create mode 100644 i915/cml_guc_33.0.0.bin create mode 100644 i915/cml_guc_49.0.1.bin create mode 100644 i915/cml_guc_62.0.0.bin create mode 100644 i915/cml_guc_69.0.3.bin create mode 100644 i915/cml_guc_70.1.1.bin create mode 100644 i915/cml_huc_4.0.0.bin create mode 100644 i915/cnl_dmc_ver1_07.bin create mode 100644 i915/dg1_dmc_ver2_02.bin create mode 100644 i915/dg1_guc_49.0.1.bin create mode 100644 i915/dg1_guc_62.0.0.bin create mode 100644 i915/dg1_guc_69.0.3.bin create mode 100644 i915/dg1_guc_70.1.1.bin create mode 100644 i915/dg1_guc_70.bin create mode 100644 i915/dg1_huc.bin create mode 100644 i915/dg1_huc_7.7.1.bin create mode 100644 i915/dg1_huc_7.9.3.bin create mode 100644 i915/dg2_dmc_ver2_06.bin create mode 100644 i915/dg2_dmc_ver2_07.bin create mode 100644 i915/dg2_dmc_ver2_08.bin create mode 100644 i915/dg2_guc_70.1.2.bin create mode 100644 i915/dg2_guc_70.4.1.bin create mode 100644 i915/dg2_guc_70.bin create mode 100755 i915/dg2_huc_gsc.bin create mode 100644 i915/ehl_guc_33.0.4.bin create mode 100644 i915/ehl_guc_49.0.1.bin create mode 100644 i915/ehl_guc_62.0.0.bin create mode 100644 i915/ehl_guc_69.0.3.bin create mode 100644 i915/ehl_guc_70.1.1.bin create mode 100644 i915/ehl_huc_9.0.0.bin create mode 100644 i915/glk_dmc_ver1_04.bin create mode 100644 i915/glk_guc_32.0.3.bin create mode 100644 i915/glk_guc_33.0.0.bin create mode 100644 i915/glk_guc_49.0.1.bin create mode 100644 i915/glk_guc_62.0.0.bin create mode 100644 i915/glk_guc_69.0.3.bin create mode 100644 i915/glk_guc_70.1.1.bin create mode 100644 i915/glk_huc_4.0.0.bin create mode 100644 i915/glk_huc_ver03_01_2893.bin create mode 100644 i915/icl_dmc_ver1_07.bin create mode 100644 i915/icl_dmc_ver1_09.bin create mode 100644 i915/icl_guc_32.0.3.bin create mode 100644 i915/icl_guc_33.0.0.bin create mode 100644 i915/icl_guc_49.0.1.bin create mode 100644 i915/icl_guc_62.0.0.bin create mode 100644 i915/icl_guc_69.0.3.bin create mode 100644 i915/icl_guc_70.1.1.bin create mode 100644 i915/icl_huc_9.0.0.bin create mode 100644 i915/icl_huc_ver8_4_3238.bin create mode 100644 i915/kbl_dmc_ver1_01.bin create mode 100644 i915/kbl_dmc_ver1_04.bin create mode 100644 i915/kbl_guc_32.0.3.bin create mode 100644 i915/kbl_guc_33.0.0.bin create mode 100644 i915/kbl_guc_49.0.1.bin create mode 100644 i915/kbl_guc_62.0.0.bin create mode 100644 i915/kbl_guc_69.0.3.bin create mode 100644 i915/kbl_guc_70.1.1.bin create mode 100644 i915/kbl_guc_ver9_14.bin create mode 100644 i915/kbl_guc_ver9_39.bin create mode 100644 i915/kbl_huc_4.0.0.bin create mode 100644 i915/kbl_huc_ver02_00_1810.bin create mode 100644 i915/mtl_dmc.bin create mode 100644 i915/mtl_dmc_ver2_10.bin create mode 100644 i915/mtl_guc_70.bin create mode 100755 i915/mtl_huc_gsc.bin create mode 100644 i915/rkl_dmc_ver2_02.bin create mode 100644 i915/rkl_dmc_ver2_03.bin create mode 100644 i915/skl_dmc_ver1_23.bin create mode 100644 i915/skl_dmc_ver1_26.bin create mode 100644 i915/skl_dmc_ver1_27.bin create mode 100644 i915/skl_guc_32.0.3.bin create mode 100644 i915/skl_guc_33.0.0.bin create mode 100644 i915/skl_guc_49.0.1.bin create mode 100644 i915/skl_guc_62.0.0.bin create mode 100644 i915/skl_guc_69.0.3.bin create mode 100644 i915/skl_guc_70.1.1.bin create mode 100644 i915/skl_guc_ver1.bin create mode 100644 i915/skl_guc_ver4.bin create mode 100644 i915/skl_guc_ver6_1.bin create mode 100644 i915/skl_guc_ver9_33.bin create mode 100644 i915/skl_huc_2.0.0.bin create mode 100644 i915/skl_huc_ver01_07_1398.bin create mode 100644 i915/tgl_dmc_ver2_04.bin create mode 100644 i915/tgl_dmc_ver2_06.bin create mode 100644 i915/tgl_dmc_ver2_08.bin create mode 100644 i915/tgl_dmc_ver2_12.bin create mode 100644 i915/tgl_guc_35.2.0.bin create mode 100644 i915/tgl_guc_49.0.1.bin create mode 100644 i915/tgl_guc_62.0.0.bin create mode 100644 i915/tgl_guc_69.0.3.bin create mode 100644 i915/tgl_guc_70.1.1.bin create mode 100644 i915/tgl_guc_70.bin create mode 100644 i915/tgl_huc.bin create mode 100644 i915/tgl_huc_7.0.12.bin create mode 100644 i915/tgl_huc_7.0.3.bin create mode 100644 i915/tgl_huc_7.5.0.bin create mode 100644 i915/tgl_huc_7.9.3.bin create mode 100644 imx/sdma/sdma-imx6q.bin create mode 100644 imx/sdma/sdma-imx7d.bin create mode 100644 inside-secure/eip197_minifw/ifpp.bin create mode 100644 inside-secure/eip197_minifw/ipue.bin create mode 100644 intel/avs/apl/dsp_basefw.bin create mode 100644 intel/avs/cnl/dsp_basefw.bin create mode 100644 intel/avs/skl/dsp_basefw.bin create mode 100644 intel/avs/skl/dsp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin create mode 100644 intel/catpt/bdw/dsp_basefw.bin create mode 100644 intel/dsp_fw_bxtn_v3366.bin create mode 100644 intel/dsp_fw_cnl_v1191.bin create mode 100644 intel/dsp_fw_cnl_v1858.bin create mode 100644 intel/dsp_fw_glk_v3366.bin create mode 100644 intel/dsp_fw_kbl_v3402.bin create mode 100644 intel/dsp_fw_kbl_v3420.bin create mode 100644 intel/dsp_fw_release_v3402.bin create mode 100644 intel/fw_sst_0f28.bin create mode 100644 intel/fw_sst_0f28.bin-48kHz_i2s_master create mode 100644 intel/fw_sst_0f28_ssp0.bin create mode 100644 intel/fw_sst_22a8.bin create mode 100644 intel/ibt-0040-0041.ddc create mode 100644 intel/ibt-0040-0041.sfi create mode 100644 intel/ibt-0040-1020.ddc create mode 100644 intel/ibt-0040-1020.sfi create mode 100644 intel/ibt-0040-2120.ddc create mode 100644 intel/ibt-0040-2120.sfi create mode 100644 intel/ibt-0040-4150.ddc create mode 100644 intel/ibt-0040-4150.sfi create mode 100644 intel/ibt-0041-0041.ddc create mode 100644 intel/ibt-0041-0041.sfi create mode 100644 intel/ibt-1040-0041.ddc create mode 100644 intel/ibt-1040-0041.sfi create mode 100644 intel/ibt-1040-1020.ddc create mode 100644 intel/ibt-1040-1020.sfi create mode 100644 intel/ibt-1040-2120.ddc create mode 100644 intel/ibt-1040-2120.sfi create mode 100644 intel/ibt-1040-4150.ddc create mode 100644 intel/ibt-1040-4150.sfi create mode 100644 intel/ibt-11-5.ddc create mode 100644 intel/ibt-11-5.sfi create mode 100644 intel/ibt-12-16.ddc create mode 100644 intel/ibt-12-16.sfi create mode 100644 intel/ibt-17-0-1.ddc create mode 100644 intel/ibt-17-0-1.sfi create mode 100644 intel/ibt-17-16-1.ddc create mode 100644 intel/ibt-17-16-1.sfi create mode 100644 intel/ibt-18-0-1.ddc create mode 100644 intel/ibt-18-0-1.sfi create mode 100644 intel/ibt-18-16-1.ddc create mode 100644 intel/ibt-18-16-1.sfi create mode 100644 intel/ibt-19-0-0.ddc create mode 100644 intel/ibt-19-0-0.sfi create mode 100644 intel/ibt-19-0-1.ddc create mode 100644 intel/ibt-19-0-1.sfi create mode 100644 intel/ibt-19-0-3.ddc create mode 100644 intel/ibt-19-0-3.sfi create mode 100644 intel/ibt-19-0-4.ddc create mode 100644 intel/ibt-19-0-4.sfi create mode 100644 intel/ibt-19-16-4.ddc create mode 100644 intel/ibt-19-16-4.sfi create mode 100644 intel/ibt-19-240-1.ddc create mode 100644 intel/ibt-19-240-1.sfi create mode 100644 intel/ibt-19-240-4.ddc create mode 100644 intel/ibt-19-240-4.sfi create mode 100644 intel/ibt-19-32-0.ddc create mode 100644 intel/ibt-19-32-0.sfi create mode 100644 intel/ibt-19-32-1.ddc create mode 100644 intel/ibt-19-32-1.sfi create mode 100644 intel/ibt-19-32-4.ddc create mode 100644 intel/ibt-19-32-4.sfi create mode 100644 intel/ibt-20-0-3.ddc create mode 100644 intel/ibt-20-0-3.sfi create mode 100644 intel/ibt-20-1-3.ddc create mode 100644 intel/ibt-20-1-3.sfi create mode 100644 intel/ibt-20-1-4.ddc create mode 100644 intel/ibt-20-1-4.sfi create mode 100644 intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq create mode 100644 intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq create mode 100644 intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq create mode 100644 intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq create mode 100644 intel/ibt-hw-37.7.bseq create mode 100644 intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq create mode 100644 intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq create mode 100644 intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq create mode 100644 intel/ibt-hw-37.8.bseq create mode 100644 intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg create mode 100644 intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg create mode 100644 intel/ice/ddp/ice-1.3.30.0.pkg create mode 100644 intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin create mode 100644 isci/Makefile create mode 100644 isci/README create mode 100644 isci/create_fw.c create mode 100644 isci/create_fw.h create mode 100644 isci/isci_firmware.bin create mode 100644 isci/probe_roms.h create mode 100644 isdbt_nova_12mhz.inp create mode 100644 isdbt_nova_12mhz_b0.inp create mode 100644 isdbt_rio.inp create mode 100644 iwlwifi-100-5.ucode create mode 100644 iwlwifi-1000-5.ucode create mode 100644 iwlwifi-105-6.ucode create mode 100644 iwlwifi-135-6.ucode create mode 100644 iwlwifi-2000-6.ucode create mode 100644 iwlwifi-2030-6.ucode create mode 100644 iwlwifi-3160-17.ucode create mode 100644 iwlwifi-3168-29.ucode create mode 100644 iwlwifi-3945-2.ucode create mode 100644 iwlwifi-4965-2.ucode create mode 100644 iwlwifi-5000-5.ucode create mode 100644 iwlwifi-5150-2.ucode create mode 100644 iwlwifi-6000-4.ucode create mode 100644 iwlwifi-6000g2a-6.ucode create mode 100644 iwlwifi-6000g2b-6.ucode create mode 100644 iwlwifi-6050-5.ucode create mode 100644 iwlwifi-7260-17.ucode create mode 100644 iwlwifi-7265-17.ucode create mode 100644 iwlwifi-7265D-29.ucode create mode 100644 iwlwifi-8000C-36.ucode create mode 100644 iwlwifi-8265-36.ucode create mode 100644 iwlwifi-9000-pu-b0-jf-b0-34.ucode create mode 100644 iwlwifi-9000-pu-b0-jf-b0-38.ucode create mode 100644 iwlwifi-9000-pu-b0-jf-b0-46.ucode create mode 100644 iwlwifi-9260-th-b0-jf-b0-34.ucode create mode 100644 iwlwifi-9260-th-b0-jf-b0-38.ucode create mode 100644 iwlwifi-9260-th-b0-jf-b0-46.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-50.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-59.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-66.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-72.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-73.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-74.ucode create mode 100644 iwlwifi-Qu-b0-hr-b0-77.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-50.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-59.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-66.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-72.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-73.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-74.ucode create mode 100644 iwlwifi-Qu-b0-jf-b0-77.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-50.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-59.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-66.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-72.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-73.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-74.ucode create mode 100644 iwlwifi-Qu-c0-hr-b0-77.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-50.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-59.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-66.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-72.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-73.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-74.ucode create mode 100644 iwlwifi-Qu-c0-jf-b0-77.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-50.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-59.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-66.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-72.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-73.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-74.ucode create mode 100644 iwlwifi-QuZ-a0-hr-b0-77.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-50.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-59.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-66.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-72.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-73.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-74.ucode create mode 100644 iwlwifi-QuZ-a0-jf-b0-77.ucode create mode 100644 iwlwifi-cc-a0-50.ucode create mode 100644 iwlwifi-cc-a0-59.ucode create mode 100644 iwlwifi-cc-a0-66.ucode create mode 100644 iwlwifi-cc-a0-72.ucode create mode 100644 iwlwifi-cc-a0-73.ucode create mode 100644 iwlwifi-cc-a0-74.ucode create mode 100644 iwlwifi-cc-a0-77.ucode create mode 100644 iwlwifi-so-a0-gf-a0-72.ucode create mode 100644 iwlwifi-so-a0-gf-a0-73.ucode create mode 100644 iwlwifi-so-a0-gf-a0-74.ucode create mode 100644 iwlwifi-so-a0-gf-a0-77.ucode create mode 100644 iwlwifi-so-a0-gf-a0-78.ucode create mode 100644 iwlwifi-so-a0-gf-a0-79.ucode create mode 100644 iwlwifi-so-a0-gf-a0-81.ucode create mode 100644 iwlwifi-so-a0-gf-a0.pnvm create mode 100644 iwlwifi-so-a0-gf4-a0-72.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-73.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-74.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-77.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-78.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-79.ucode create mode 100644 iwlwifi-so-a0-gf4-a0-81.ucode create mode 100644 iwlwifi-so-a0-gf4-a0.pnvm create mode 100644 iwlwifi-so-a0-hr-b0-72.ucode create mode 100644 iwlwifi-so-a0-hr-b0-73.ucode create mode 100644 iwlwifi-so-a0-hr-b0-74.ucode create mode 100644 iwlwifi-so-a0-hr-b0-77.ucode create mode 100644 iwlwifi-so-a0-hr-b0-79.ucode create mode 100644 iwlwifi-so-a0-hr-b0-81.ucode create mode 100644 iwlwifi-so-a0-jf-b0-72.ucode create mode 100644 iwlwifi-so-a0-jf-b0-73.ucode create mode 100644 iwlwifi-so-a0-jf-b0-74.ucode create mode 100644 iwlwifi-so-a0-jf-b0-77.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-59.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-66.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-72.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-73.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-74.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-77.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-78.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-79.ucode create mode 100644 iwlwifi-ty-a0-gf-a0-81.ucode create mode 100644 iwlwifi-ty-a0-gf-a0.pnvm create mode 100644 kaweth/new_code.bin create mode 100644 kaweth/new_code_fix.bin create mode 100644 kaweth/trigger_code.bin create mode 100644 kaweth/trigger_code_fix.bin create mode 100644 keyspan_pda/Makefile create mode 100644 keyspan_pda/keyspan_pda.S create mode 100644 keyspan_pda/keyspan_pda.fw create mode 100644 keyspan_pda/xircom_pgs.S create mode 100644 keyspan_pda/xircom_pgs.fw create mode 100644 lbtf_usb.bin create mode 100644 libertas/cf8381.bin create mode 100644 libertas/cf8381_helper.bin create mode 100644 libertas/cf8385.bin create mode 100644 libertas/cf8385_helper.bin create mode 100644 libertas/gspi8686_v9.bin create mode 100644 libertas/gspi8686_v9_helper.bin create mode 100644 libertas/gspi8688.bin create mode 100644 libertas/gspi8688_helper.bin create mode 100644 libertas/sd8385.bin create mode 100644 libertas/sd8385_helper.bin create mode 100644 libertas/sd8686_v8.bin create mode 100644 libertas/sd8686_v8_helper.bin create mode 100644 libertas/sd8686_v9.bin create mode 100644 libertas/sd8686_v9_helper.bin create mode 100644 libertas/usb8388_olpc.bin create mode 100644 libertas/usb8388_v5.bin create mode 100644 libertas/usb8388_v9.bin create mode 100644 libertas/usb8682.bin create mode 100644 liquidio/lio_210nv_nic.bin create mode 100644 liquidio/lio_210sv_nic.bin create mode 100644 liquidio/lio_23xx_nic.bin create mode 100644 liquidio/lio_410nv_nic.bin create mode 100644 lt9611uxc_fw.bin create mode 100644 matrox/g200_warp.fw create mode 100644 matrox/g400_warp.fw create mode 100644 mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin create mode 100644 mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin create mode 100644 mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin create mode 100644 mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin create mode 100644 mediatek/WIFI_RAM_CODE_MT7922_1.bin create mode 100644 mediatek/WIFI_RAM_CODE_MT7961_1.bin create mode 100644 mediatek/mt7601u.bin create mode 100644 mediatek/mt7610e.bin create mode 100644 mediatek/mt7610u.bin create mode 100644 mediatek/mt7615_cr4.bin create mode 100644 mediatek/mt7615_n9.bin create mode 100644 mediatek/mt7615_rom_patch.bin create mode 100644 mediatek/mt7622_n9.bin create mode 100644 mediatek/mt7622_rom_patch.bin create mode 100755 mediatek/mt7622pr2h.bin create mode 100644 mediatek/mt7650.bin create mode 100644 mediatek/mt7650e.bin create mode 100644 mediatek/mt7662.bin create mode 100644 mediatek/mt7662_rom_patch.bin create mode 100644 mediatek/mt7662u.bin create mode 100644 mediatek/mt7662u_rom_patch.bin create mode 100644 mediatek/mt7663_n9_rebb.bin create mode 100644 mediatek/mt7663_n9_v3.bin create mode 100644 mediatek/mt7663pr2h.bin create mode 100644 mediatek/mt7663pr2h_rebb.bin create mode 100755 mediatek/mt7668pr2h.bin create mode 100644 mediatek/mt7915_eeprom.bin create mode 100644 mediatek/mt7915_eeprom_dbdc.bin create mode 100644 mediatek/mt7915_rom_patch.bin create mode 100644 mediatek/mt7915_wa.bin create mode 100644 mediatek/mt7915_wm.bin create mode 100644 mediatek/mt7916_eeprom.bin create mode 100644 mediatek/mt7916_rom_patch.bin create mode 100644 mediatek/mt7916_wa.bin create mode 100644 mediatek/mt7916_wm.bin create mode 100644 mediatek/mt7981_rom_patch.bin create mode 100644 mediatek/mt7981_wa.bin create mode 100644 mediatek/mt7981_wm.bin create mode 100644 mediatek/mt7981_wo.bin create mode 100644 mediatek/mt7986_eeprom_mt7975_dual.bin create mode 100644 mediatek/mt7986_eeprom_mt7976.bin create mode 100644 mediatek/mt7986_eeprom_mt7976_dbdc.bin create mode 100644 mediatek/mt7986_eeprom_mt7976_dual.bin create mode 100644 mediatek/mt7986_rom_patch.bin create mode 100644 mediatek/mt7986_rom_patch_mt7975.bin create mode 100644 mediatek/mt7986_wa.bin create mode 100644 mediatek/mt7986_wm.bin create mode 100644 mediatek/mt7986_wm_mt7975.bin create mode 100644 mediatek/mt7986_wo_0.bin create mode 100644 mediatek/mt7986_wo_1.bin create mode 100644 mediatek/mt8173/vpu_d.bin create mode 100644 mediatek/mt8173/vpu_p.bin create mode 100644 mediatek/mt8183/scp.img create mode 100644 mediatek/mt8186/scp.img create mode 100644 mediatek/mt8192/scp.img create mode 100644 mediatek/mt8195/scp.img create mode 100644 mediatek/sof-tplg/sof-mt8186.tplg create mode 100644 mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg create mode 100644 mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg create mode 100644 mediatek/sof/sof-mt8186.ldc create mode 100644 mediatek/sof/sof-mt8186.ri create mode 100644 mediatek/sof/sof-mt8195.ldc create mode 100644 mediatek/sof/sof-mt8195.ri create mode 100644 mellanox/lc_ini_bundle_2010_1006.bin create mode 100644 mellanox/lc_ini_bundle_2010_1502.bin create mode 100644 mellanox/lc_ini_bundle_2010_3020.bin create mode 100644 mellanox/lc_ini_bundle_2010_3146.bin create mode 100644 mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 create mode 100644 mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 create mode 100644 mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 create mode 100644 meson/vdec/g12a_h264.bin create mode 100644 meson/vdec/g12a_hevc_mmu.bin create mode 100644 meson/vdec/g12a_vp9.bin create mode 100644 meson/vdec/gxbb_h264.bin create mode 100644 meson/vdec/gxl_h263.bin create mode 100644 meson/vdec/gxl_h264.bin create mode 100644 meson/vdec/gxl_hevc.bin create mode 100644 meson/vdec/gxl_hevc_mmu.bin create mode 100644 meson/vdec/gxl_mjpeg.bin create mode 100644 meson/vdec/gxl_mpeg12.bin create mode 100644 meson/vdec/gxl_mpeg4_5.bin create mode 100644 meson/vdec/gxl_vp9.bin create mode 100644 meson/vdec/gxm_h264.bin create mode 100644 meson/vdec/sm1_hevc_mmu.bin create mode 100644 meson/vdec/sm1_vp9_mmu.bin create mode 100644 microchip/mscc_vsc8574_revb_int8051_29e8.bin create mode 100644 microchip/mscc_vsc8584_revb_int8051_fb48.bin create mode 100644 moxa/moxa-1110.fw create mode 100644 moxa/moxa-1130.fw create mode 100644 moxa/moxa-1131.fw create mode 100644 moxa/moxa-1150.fw create mode 100644 moxa/moxa-1151.fw create mode 100644 moxa/moxa-1250.fw create mode 100644 moxa/moxa-1251.fw create mode 100644 moxa/moxa-1410.fw create mode 100644 moxa/moxa-1450.fw create mode 100644 moxa/moxa-1451.fw create mode 100644 moxa/moxa-1613.fw create mode 100644 moxa/moxa-1618.fw create mode 100644 moxa/moxa-1653.fw create mode 100644 moxa/moxa-1658.fw create mode 100644 mrvl/cpt01/ae.out create mode 100644 mrvl/cpt01/ie.out create mode 100644 mrvl/cpt01/se.out create mode 100644 mrvl/cpt02/ae.out create mode 100644 mrvl/cpt02/ie.out create mode 100644 mrvl/cpt02/se.out create mode 100644 mrvl/cpt03/ae.out create mode 100644 mrvl/cpt03/ie.out create mode 100644 mrvl/cpt03/se.out create mode 100644 mrvl/cpt04/ae.out create mode 100644 mrvl/cpt04/ie.out create mode 100644 mrvl/cpt04/se.out create mode 100644 mrvl/pcie8897_uapsta.bin create mode 100644 mrvl/pcie8997_wlan_v4.bin create mode 100644 mrvl/pcieuart8997_combo_v4.bin create mode 100644 mrvl/pcieusb8997_combo_v4.bin create mode 100755 mrvl/prestera/mvsw_prestera_fw-v2.0.img create mode 100755 mrvl/prestera/mvsw_prestera_fw-v3.0.img create mode 100644 mrvl/prestera/mvsw_prestera_fw-v4.0.img create mode 100644 mrvl/prestera/mvsw_prestera_fw-v4.1.img create mode 100644 mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img create mode 100644 mrvl/sd8688.bin create mode 100644 mrvl/sd8688_helper.bin create mode 100644 mrvl/sd8787_uapsta.bin create mode 100644 mrvl/sd8797_uapsta.bin create mode 100644 mrvl/sd8801_uapsta.bin create mode 100644 mrvl/sd8887_uapsta.bin create mode 100644 mrvl/sd8897_uapsta.bin create mode 100755 mrvl/sdsd8977_combo_v2.bin create mode 100644 mrvl/sdsd8997_combo_v4.bin create mode 100644 mrvl/usb8766_uapsta.bin create mode 100644 mrvl/usb8797_uapsta.bin create mode 100644 mrvl/usb8801_uapsta.bin create mode 100644 mrvl/usb8897_uapsta.bin create mode 100644 mrvl/usbusb8997_combo_v4.bin create mode 100644 mts_cdma.fw create mode 100644 mts_edge.fw create mode 100644 mts_gsm.fw create mode 100644 mwl8k/fmimage_8366.fw create mode 100644 mwl8k/fmimage_8366_ap-2.fw create mode 100644 mwl8k/fmimage_8366_ap-3.fw create mode 100644 mwl8k/fmimage_8687.fw create mode 100644 mwl8k/fmimage_8764_ap-1.fw create mode 100644 mwl8k/helper_8366.fw create mode 100644 mwl8k/helper_8687.fw create mode 100644 myri10ge_eth_big_z8e.dat create mode 100644 myri10ge_eth_z8e.dat create mode 100644 myri10ge_ethp_big_z8e.dat create mode 100644 myri10ge_ethp_z8e.dat create mode 100644 myri10ge_rss_eth_big_z8e.dat create mode 100644 myri10ge_rss_eth_z8e.dat create mode 100644 myri10ge_rss_ethp_big_z8e.dat create mode 100644 myri10ge_rss_ethp_z8e.dat create mode 100644 netronome/bpf/nic_AMDA0058-0011_2x40.nffw create mode 100644 netronome/bpf/nic_AMDA0058-0012_2x40.nffw create mode 100644 netronome/bpf/nic_AMDA0078-0011_1x100.nffw create mode 100644 netronome/bpf/nic_AMDA0081-0001_1x40.nffw create mode 100644 netronome/bpf/nic_AMDA0081-0001_4x10.nffw create mode 100644 netronome/bpf/nic_AMDA0096-0001_2x10.nffw create mode 100644 netronome/bpf/nic_AMDA0097-0001_2x40.nffw create mode 100644 netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw create mode 100644 netronome/bpf/nic_AMDA0097-0001_8x10.nffw create mode 100644 netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw create mode 100644 netronome/bpf/nic_AMDA0099-0001_2x10.nffw create mode 100644 netronome/bpf/nic_AMDA0099-0001_2x25.nffw create mode 100644 netronome/flower/nic_AMDA0058.nffw create mode 100644 netronome/flower/nic_AMDA0096.nffw create mode 100644 netronome/flower/nic_AMDA0097.nffw create mode 100644 netronome/flower/nic_AMDA0099.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw create mode 100644 netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw create mode 100644 netronome/nic/nic_AMDA0058-0011_2x40.nffw create mode 100644 netronome/nic/nic_AMDA0058-0012_2x40.nffw create mode 100644 netronome/nic/nic_AMDA0078-0011_1x100.nffw create mode 100644 netronome/nic/nic_AMDA0081-0001_1x40.nffw create mode 100644 netronome/nic/nic_AMDA0081-0001_4x10.nffw create mode 100644 netronome/nic/nic_AMDA0096-0001_2x10.nffw create mode 100644 netronome/nic/nic_AMDA0097-0001_2x40.nffw create mode 100644 netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw create mode 100644 netronome/nic/nic_AMDA0097-0001_8x10.nffw create mode 100644 netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw create mode 100644 netronome/nic/nic_AMDA0099-0001_2x10.nffw create mode 100644 netronome/nic/nic_AMDA0099-0001_2x25.nffw create mode 100644 nvidia/ga102/acr/ucode_ahesasc.bin create mode 100644 nvidia/ga102/acr/ucode_asb.bin create mode 100644 nvidia/ga102/acr/ucode_unload.bin create mode 100644 nvidia/ga102/gr/NET_img.bin create mode 100644 nvidia/ga102/gr/fecs_bl.bin create mode 100644 nvidia/ga102/gr/fecs_sig.bin create mode 100644 nvidia/ga102/gr/gpccs_bl.bin create mode 100644 nvidia/ga102/gr/gpccs_sig.bin create mode 100644 nvidia/ga102/nvdec/scrubber.bin create mode 100644 nvidia/ga102/sec2/desc.bin create mode 100644 nvidia/ga102/sec2/hs_bl_sig.bin create mode 100644 nvidia/ga102/sec2/image.bin create mode 100644 nvidia/ga102/sec2/sig.bin create mode 100644 nvidia/ga103/gr/NET_img.bin create mode 100644 nvidia/ga103/gr/fecs_bl.bin create mode 100644 nvidia/ga103/gr/fecs_sig.bin create mode 100644 nvidia/ga103/gr/gpccs_bl.bin create mode 100644 nvidia/ga103/gr/gpccs_sig.bin create mode 100644 nvidia/ga104/gr/NET_img.bin create mode 100644 nvidia/ga104/gr/fecs_bl.bin create mode 100644 nvidia/ga104/gr/fecs_sig.bin create mode 100644 nvidia/ga104/gr/gpccs_bl.bin create mode 100644 nvidia/ga104/gr/gpccs_sig.bin create mode 100644 nvidia/ga106/gr/NET_img.bin create mode 100644 nvidia/ga106/gr/fecs_bl.bin create mode 100644 nvidia/ga106/gr/fecs_sig.bin create mode 100644 nvidia/ga106/gr/gpccs_bl.bin create mode 100644 nvidia/ga106/gr/gpccs_sig.bin create mode 100644 nvidia/ga107/gr/NET_img.bin create mode 100644 nvidia/ga107/gr/fecs_bl.bin create mode 100644 nvidia/ga107/gr/fecs_sig.bin create mode 100644 nvidia/ga107/gr/gpccs_bl.bin create mode 100644 nvidia/ga107/gr/gpccs_sig.bin create mode 100644 nvidia/gk20a/fecs_data.bin create mode 100644 nvidia/gk20a/fecs_inst.bin create mode 100644 nvidia/gk20a/gpccs_data.bin create mode 100644 nvidia/gk20a/gpccs_inst.bin create mode 100644 nvidia/gk20a/sw_bundle_init.bin create mode 100644 nvidia/gk20a/sw_ctx.bin create mode 100644 nvidia/gk20a/sw_method_init.bin create mode 100644 nvidia/gk20a/sw_nonctx.bin create mode 100644 nvidia/gm200/acr/bl.bin create mode 100644 nvidia/gm200/acr/ucode_load.bin create mode 100644 nvidia/gm200/acr/ucode_unload.bin create mode 100644 nvidia/gm200/gr/fecs_bl.bin create mode 100644 nvidia/gm200/gr/fecs_data.bin create mode 100644 nvidia/gm200/gr/fecs_inst.bin create mode 100644 nvidia/gm200/gr/fecs_sig.bin create mode 100644 nvidia/gm200/gr/gpccs_bl.bin create mode 100644 nvidia/gm200/gr/gpccs_data.bin create mode 100644 nvidia/gm200/gr/gpccs_inst.bin create mode 100644 nvidia/gm200/gr/gpccs_sig.bin create mode 100644 nvidia/gm200/gr/sw_bundle_init.bin create mode 100644 nvidia/gm200/gr/sw_ctx.bin create mode 100644 nvidia/gm200/gr/sw_method_init.bin create mode 100644 nvidia/gm200/gr/sw_nonctx.bin create mode 100644 nvidia/gm204/gr/fecs_data.bin create mode 100644 nvidia/gm204/gr/fecs_sig.bin create mode 100644 nvidia/gm204/gr/gpccs_data.bin create mode 100644 nvidia/gm204/gr/gpccs_sig.bin create mode 100644 nvidia/gm206/acr/ucode_load.bin create mode 100644 nvidia/gm206/acr/ucode_unload.bin create mode 100644 nvidia/gm206/gr/fecs_data.bin create mode 100644 nvidia/gm206/gr/fecs_sig.bin create mode 100644 nvidia/gm206/gr/gpccs_data.bin create mode 100644 nvidia/gm206/gr/gpccs_sig.bin create mode 100644 nvidia/gm20b/acr/bl.bin create mode 100644 nvidia/gm20b/acr/ucode_load.bin create mode 100644 nvidia/gm20b/gr/fecs_bl.bin create mode 100644 nvidia/gm20b/gr/fecs_data.bin create mode 100644 nvidia/gm20b/gr/fecs_inst.bin create mode 100644 nvidia/gm20b/gr/fecs_sig.bin create mode 100644 nvidia/gm20b/gr/gpccs_data.bin create mode 100644 nvidia/gm20b/gr/gpccs_inst.bin create mode 100644 nvidia/gm20b/gr/sw_bundle_init.bin create mode 100644 nvidia/gm20b/gr/sw_ctx.bin create mode 100644 nvidia/gm20b/gr/sw_nonctx.bin create mode 100644 nvidia/gm20b/pmu/desc.bin create mode 100644 nvidia/gm20b/pmu/image.bin create mode 100644 nvidia/gm20b/pmu/sig.bin create mode 100644 nvidia/gp100/acr/bl.bin create mode 100644 nvidia/gp100/acr/ucode_load.bin create mode 100644 nvidia/gp100/acr/ucode_unload.bin create mode 100644 nvidia/gp100/gr/fecs_data.bin create mode 100644 nvidia/gp100/gr/fecs_inst.bin create mode 100644 nvidia/gp100/gr/fecs_sig.bin create mode 100644 nvidia/gp100/gr/gpccs_data.bin create mode 100644 nvidia/gp100/gr/gpccs_inst.bin create mode 100644 nvidia/gp100/gr/gpccs_sig.bin create mode 100644 nvidia/gp100/gr/sw_bundle_init.bin create mode 100644 nvidia/gp100/gr/sw_ctx.bin create mode 100644 nvidia/gp100/gr/sw_method_init.bin create mode 100644 nvidia/gp100/gr/sw_nonctx.bin create mode 100644 nvidia/gp102/acr/bl.bin create mode 100644 nvidia/gp102/acr/ucode_load.bin create mode 100644 nvidia/gp102/acr/ucode_unload.bin create mode 100644 nvidia/gp102/acr/unload_bl.bin create mode 100644 nvidia/gp102/gr/fecs_data.bin create mode 100644 nvidia/gp102/gr/fecs_inst.bin create mode 100644 nvidia/gp102/gr/fecs_sig.bin create mode 100644 nvidia/gp102/gr/gpccs_data.bin create mode 100644 nvidia/gp102/gr/gpccs_inst.bin create mode 100644 nvidia/gp102/gr/gpccs_sig.bin create mode 100644 nvidia/gp102/gr/sw_bundle_init.bin create mode 100644 nvidia/gp102/gr/sw_ctx.bin create mode 100644 nvidia/gp102/gr/sw_method_init.bin create mode 100644 nvidia/gp102/gr/sw_nonctx.bin create mode 100644 nvidia/gp102/nvdec/scrubber.bin create mode 100644 nvidia/gp102/sec2/desc-1.bin create mode 100644 nvidia/gp102/sec2/desc.bin create mode 100644 nvidia/gp102/sec2/image-1.bin create mode 100644 nvidia/gp102/sec2/image.bin create mode 100644 nvidia/gp102/sec2/sig-1.bin create mode 100644 nvidia/gp102/sec2/sig.bin create mode 100644 nvidia/gp104/gr/fecs_data.bin create mode 100644 nvidia/gp104/gr/fecs_inst.bin create mode 100644 nvidia/gp104/gr/fecs_sig.bin create mode 100644 nvidia/gp104/gr/gpccs_data.bin create mode 100644 nvidia/gp104/gr/gpccs_inst.bin create mode 100644 nvidia/gp104/gr/gpccs_sig.bin create mode 100644 nvidia/gp106/gr/fecs_data.bin create mode 100644 nvidia/gp106/gr/fecs_sig.bin create mode 100644 nvidia/gp106/gr/gpccs_data.bin create mode 100644 nvidia/gp106/gr/gpccs_sig.bin create mode 100644 nvidia/gp107/gr/fecs_bl.bin create mode 100644 nvidia/gp107/gr/fecs_data.bin create mode 100644 nvidia/gp107/gr/fecs_inst.bin create mode 100644 nvidia/gp107/gr/fecs_sig.bin create mode 100644 nvidia/gp107/gr/gpccs_bl.bin create mode 100644 nvidia/gp107/gr/gpccs_data.bin create mode 100644 nvidia/gp107/gr/gpccs_inst.bin create mode 100644 nvidia/gp107/gr/gpccs_sig.bin create mode 100644 nvidia/gp107/gr/sw_ctx.bin create mode 100644 nvidia/gp107/gr/sw_nonctx.bin create mode 100644 nvidia/gp108/gr/fecs_bl.bin create mode 100644 nvidia/gp108/gr/fecs_data.bin create mode 100644 nvidia/gp108/gr/fecs_inst.bin create mode 100644 nvidia/gp108/gr/fecs_sig.bin create mode 100644 nvidia/gp108/gr/gpccs_bl.bin create mode 100644 nvidia/gp108/gr/gpccs_data.bin create mode 100644 nvidia/gp108/gr/gpccs_inst.bin create mode 100644 nvidia/gp108/gr/gpccs_sig.bin create mode 100644 nvidia/gp108/gr/sw_bundle_init.bin create mode 100644 nvidia/gp108/gr/sw_ctx.bin create mode 100644 nvidia/gp108/gr/sw_method_init.bin create mode 100644 nvidia/gp108/gr/sw_nonctx.bin create mode 100644 nvidia/gp10b/acr/bl.bin create mode 100644 nvidia/gp10b/acr/ucode_load.bin create mode 100644 nvidia/gp10b/gr/fecs_bl.bin create mode 100644 nvidia/gp10b/gr/fecs_data.bin create mode 100644 nvidia/gp10b/gr/fecs_inst.bin create mode 100644 nvidia/gp10b/gr/fecs_sig.bin create mode 100644 nvidia/gp10b/gr/gpccs_bl.bin create mode 100644 nvidia/gp10b/gr/gpccs_data.bin create mode 100644 nvidia/gp10b/gr/gpccs_inst.bin create mode 100644 nvidia/gp10b/gr/gpccs_sig.bin create mode 100644 nvidia/gp10b/gr/sw_bundle_init.bin create mode 100644 nvidia/gp10b/gr/sw_ctx.bin create mode 100644 nvidia/gp10b/gr/sw_method_init.bin create mode 100644 nvidia/gp10b/gr/sw_nonctx.bin create mode 100644 nvidia/gp10b/pmu/desc.bin create mode 100644 nvidia/gp10b/pmu/image.bin create mode 100644 nvidia/gp10b/pmu/sig.bin create mode 100644 nvidia/gv100/acr/bl.bin create mode 100644 nvidia/gv100/acr/ucode_load.bin create mode 100644 nvidia/gv100/acr/ucode_unload.bin create mode 100644 nvidia/gv100/acr/unload_bl.bin create mode 100644 nvidia/gv100/gr/fecs_bl.bin create mode 100644 nvidia/gv100/gr/fecs_data.bin create mode 100644 nvidia/gv100/gr/fecs_inst.bin create mode 100644 nvidia/gv100/gr/fecs_sig.bin create mode 100644 nvidia/gv100/gr/gpccs_bl.bin create mode 100644 nvidia/gv100/gr/gpccs_data.bin create mode 100644 nvidia/gv100/gr/gpccs_inst.bin create mode 100644 nvidia/gv100/gr/gpccs_sig.bin create mode 100644 nvidia/gv100/gr/sw_bundle_init.bin create mode 100644 nvidia/gv100/gr/sw_ctx.bin create mode 100644 nvidia/gv100/gr/sw_method_init.bin create mode 100644 nvidia/gv100/gr/sw_nonctx.bin create mode 100644 nvidia/gv100/nvdec/scrubber.bin create mode 100644 nvidia/gv100/sec2/desc.bin create mode 100644 nvidia/gv100/sec2/image.bin create mode 100644 nvidia/gv100/sec2/sig.bin create mode 100644 nvidia/tegra124/vic03_ucode.bin create mode 100644 nvidia/tegra124/xusb.bin create mode 100644 nvidia/tegra186/vic04_ucode.bin create mode 100644 nvidia/tegra186/xusb.bin create mode 100644 nvidia/tegra194/vic.bin create mode 100644 nvidia/tegra194/xusb.bin create mode 100644 nvidia/tegra210/vic04_ucode.bin create mode 100644 nvidia/tegra210/xusb.bin create mode 100644 nvidia/tu102/acr/bl.bin create mode 100644 nvidia/tu102/acr/ucode_ahesasc.bin create mode 100644 nvidia/tu102/acr/ucode_asb.bin create mode 100644 nvidia/tu102/acr/ucode_unload.bin create mode 100644 nvidia/tu102/acr/unload_bl.bin create mode 100644 nvidia/tu102/gr/fecs_bl.bin create mode 100644 nvidia/tu102/gr/fecs_data.bin create mode 100644 nvidia/tu102/gr/fecs_inst.bin create mode 100644 nvidia/tu102/gr/fecs_sig.bin create mode 100644 nvidia/tu102/gr/gpccs_bl.bin create mode 100644 nvidia/tu102/gr/gpccs_data.bin create mode 100644 nvidia/tu102/gr/gpccs_inst.bin create mode 100644 nvidia/tu102/gr/gpccs_sig.bin create mode 100644 nvidia/tu102/gr/sw_bundle_init.bin create mode 100644 nvidia/tu102/gr/sw_ctx.bin create mode 100644 nvidia/tu102/gr/sw_method_init.bin create mode 100644 nvidia/tu102/gr/sw_nonctx.bin create mode 100644 nvidia/tu102/gr/sw_veid_bundle_init.bin create mode 100644 nvidia/tu102/nvdec/scrubber.bin create mode 100644 nvidia/tu102/sec2/desc.bin create mode 100644 nvidia/tu102/sec2/image.bin create mode 100644 nvidia/tu102/sec2/sig.bin create mode 100644 nvidia/tu104/gr/fecs_data.bin create mode 100644 nvidia/tu104/gr/fecs_inst.bin create mode 100644 nvidia/tu104/gr/fecs_sig.bin create mode 100644 nvidia/tu104/gr/gpccs_data.bin create mode 100644 nvidia/tu104/gr/gpccs_inst.bin create mode 100644 nvidia/tu104/gr/gpccs_sig.bin create mode 100644 nvidia/tu104/gr/sw_bundle_init.bin create mode 100644 nvidia/tu104/gr/sw_ctx.bin create mode 100644 nvidia/tu104/gr/sw_method_init.bin create mode 100644 nvidia/tu104/gr/sw_nonctx.bin create mode 100644 nvidia/tu104/gr/sw_veid_bundle_init.bin create mode 100644 nvidia/tu106/gr/fecs_data.bin create mode 100644 nvidia/tu106/gr/fecs_inst.bin create mode 100644 nvidia/tu106/gr/fecs_sig.bin create mode 100644 nvidia/tu106/gr/gpccs_data.bin create mode 100644 nvidia/tu106/gr/gpccs_inst.bin create mode 100644 nvidia/tu106/gr/gpccs_sig.bin create mode 100644 nvidia/tu106/gr/sw_bundle_init.bin create mode 100644 nvidia/tu106/gr/sw_ctx.bin create mode 100644 nvidia/tu106/gr/sw_method_init.bin create mode 100644 nvidia/tu106/gr/sw_nonctx.bin create mode 100644 nvidia/tu106/gr/sw_veid_bundle_init.bin create mode 100644 nvidia/tu10x/typec/ccg_boot.cyacd create mode 100644 nvidia/tu10x/typec/ccg_primary.cyacd create mode 100644 nvidia/tu10x/typec/ccg_secondary.cyacd create mode 100644 nvidia/tu116/acr/bl.bin create mode 100644 nvidia/tu116/acr/ucode_ahesasc.bin create mode 100644 nvidia/tu116/acr/ucode_asb.bin create mode 100644 nvidia/tu116/acr/ucode_unload.bin create mode 100644 nvidia/tu116/acr/unload_bl.bin create mode 100644 nvidia/tu116/gr/fecs_bl.bin create mode 100644 nvidia/tu116/gr/fecs_data.bin create mode 100644 nvidia/tu116/gr/fecs_inst.bin create mode 100644 nvidia/tu116/gr/fecs_sig.bin create mode 100644 nvidia/tu116/gr/gpccs_bl.bin create mode 100644 nvidia/tu116/gr/gpccs_data.bin create mode 100644 nvidia/tu116/gr/gpccs_inst.bin create mode 100644 nvidia/tu116/gr/gpccs_sig.bin create mode 100644 nvidia/tu116/gr/sw_bundle_init.bin create mode 100644 nvidia/tu116/gr/sw_ctx.bin create mode 100644 nvidia/tu116/gr/sw_method_init.bin create mode 100644 nvidia/tu116/gr/sw_nonctx.bin create mode 100644 nvidia/tu116/gr/sw_veid_bundle_init.bin create mode 100644 nvidia/tu116/nvdec/scrubber.bin create mode 100644 nvidia/tu116/sec2/desc.bin create mode 100644 nvidia/tu116/sec2/image.bin create mode 100644 nvidia/tu116/sec2/sig.bin create mode 100644 nvidia/tu117/gr/fecs_data.bin create mode 100644 nvidia/tu117/gr/fecs_inst.bin create mode 100644 nvidia/tu117/gr/fecs_sig.bin create mode 100644 nvidia/tu117/gr/gpccs_data.bin create mode 100644 nvidia/tu117/gr/gpccs_inst.bin create mode 100644 nvidia/tu117/gr/gpccs_sig.bin create mode 100644 nvidia/tu117/gr/sw_bundle_init.bin create mode 100644 nvidia/tu117/gr/sw_ctx.bin create mode 100644 nvidia/tu117/gr/sw_method_init.bin create mode 100644 nvidia/tu117/gr/sw_nonctx.bin create mode 100644 nvidia/tu117/gr/sw_veid_bundle_init.bin create mode 100644 nxp/helper_uart_3000000.bin create mode 100644 nxp/sr150_fw.bin create mode 100644 nxp/uartiw416_bt_v0.bin create mode 100644 nxp/uartspi_n61x_v1.bin.se create mode 100644 nxp/uartuart8987_bt.bin create mode 100644 nxp/uartuart8997_bt_v4.bin create mode 100644 nxp/uartuart9098_bt_v1.bin create mode 100644 phanfw.bin create mode 100644 qat_4xxx.bin create mode 100644 qat_4xxx_mmp.bin create mode 100644 qat_895xcc.bin create mode 100644 qat_895xcc_mmp.bin create mode 100644 qat_c3xxx.bin create mode 100644 qat_c3xxx_mmp.bin create mode 100644 qat_c62x.bin create mode 100644 qat_c62x_mmp.bin create mode 100644 qca/NOTICE.txt create mode 100644 qca/crbtfw21.tlv create mode 100644 qca/crbtfw32.tlv create mode 100644 qca/crnv21.bin create mode 100644 qca/crnv32.bin create mode 100644 qca/crnv32u.bin create mode 100755 qca/hpbtfw21.tlv create mode 100755 qca/hpnv21.301 create mode 100755 qca/hpnv21.302 create mode 100755 qca/hpnv21.bin create mode 100755 qca/hpnv21g.301 create mode 100755 qca/hpnv21g.302 create mode 100755 qca/hpnv21g.bin create mode 100644 qca/htbtfw20.tlv create mode 100644 qca/htnv20.bin create mode 100644 qca/msbtfw11.mbn create mode 100644 qca/msbtfw11.tlv create mode 100755 qca/msnv11.b09 create mode 100755 qca/msnv11.b0a create mode 100644 qca/msnv11.bin create mode 100644 qca/nvm_00130300.bin create mode 100644 qca/nvm_00130302.bin create mode 100644 qca/nvm_00230302.bin create mode 100644 qca/nvm_00440302.bin create mode 100644 qca/nvm_00440302_eu.bin create mode 100644 qca/nvm_00440302_i2s_eu.bin create mode 100644 qca/nvm_usb_00000200.bin create mode 100644 qca/nvm_usb_00000201.bin create mode 100644 qca/nvm_usb_00000300.bin create mode 100644 qca/nvm_usb_00000302.bin create mode 100644 qca/nvm_usb_00000302_eu.bin create mode 100644 qca/nvm_usb_00130200.bin create mode 100644 qca/nvm_usb_00130200_0104.bin create mode 100644 qca/nvm_usb_00130200_0105.bin create mode 100644 qca/nvm_usb_00130200_0106.bin create mode 100644 qca/nvm_usb_00130200_0107.bin create mode 100644 qca/nvm_usb_00130200_0109.bin create mode 100644 qca/nvm_usb_00130200_0110.bin create mode 100644 qca/nvm_usb_00130201.bin create mode 100644 qca/nvm_usb_00130201_010a.bin create mode 100644 qca/nvm_usb_00130201_010b.bin create mode 100644 qca/nvm_usb_00130201_0303.bin create mode 100644 qca/nvm_usb_00130201_gf.bin create mode 100644 qca/nvm_usb_00130201_gf_010a.bin create mode 100644 qca/nvm_usb_00130201_gf_010b.bin create mode 100644 qca/nvm_usb_00130201_gf_0303.bin create mode 100644 qca/nvm_usb_00190200.bin create mode 100644 qca/rampatch_00130300.bin create mode 100644 qca/rampatch_00130302.bin create mode 100644 qca/rampatch_00230302.bin create mode 100644 qca/rampatch_00440302.bin create mode 100644 qca/rampatch_usb_00000200.bin create mode 100644 qca/rampatch_usb_00000201.bin create mode 100644 qca/rampatch_usb_00000300.bin create mode 100644 qca/rampatch_usb_00000302.bin create mode 100644 qca/rampatch_usb_00130200.bin create mode 100644 qca/rampatch_usb_00130201.bin create mode 100644 qca/rampatch_usb_00190200.bin create mode 100644 qcom/NOTICE.txt create mode 100644 qcom/a300_pfp.fw create mode 100644 qcom/a300_pm4.fw create mode 100644 qcom/a330_pfp.fw create mode 100644 qcom/a330_pm4.fw create mode 100644 qcom/a420_pfp.fw create mode 100644 qcom/a420_pm4.fw create mode 100644 qcom/a530_pfp.fw create mode 100644 qcom/a530_pm4.fw create mode 100644 qcom/a530v3_gpmu.fw2 create mode 100644 qcom/a630_gmu.bin create mode 100644 qcom/a630_sqe.fw create mode 100644 qcom/a650_gmu.bin create mode 100644 qcom/a650_sqe.fw create mode 100644 qcom/a660_gmu.bin create mode 100644 qcom/a660_sqe.fw create mode 100644 qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin create mode 100644 qcom/apq8016/mba.mbn create mode 100644 qcom/apq8016/modem.mbn create mode 100644 qcom/apq8016/wcnss.mbn create mode 100644 qcom/apq8096/a530_zap.mbn create mode 100644 qcom/apq8096/adsp.mbn create mode 100644 qcom/apq8096/adspr.jsn create mode 100644 qcom/apq8096/adspua.jsn create mode 100644 qcom/apq8096/mba.mbn create mode 100644 qcom/apq8096/modem.mbn create mode 100644 qcom/apq8096/modemr.jsn create mode 100644 qcom/leia_pfp_470.fw create mode 100644 qcom/leia_pm4_470.fw create mode 100644 qcom/sc8280xp/LENOVO/21BX/adspr.jsn create mode 100644 qcom/sc8280xp/LENOVO/21BX/adspua.jsn create mode 100644 qcom/sc8280xp/LENOVO/21BX/battmgr.jsn create mode 100644 qcom/sc8280xp/LENOVO/21BX/cdspr.jsn create mode 100755 qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn create mode 100755 qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn create mode 100755 qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn create mode 100755 qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn create mode 100644 qcom/sdm845/a630_zap.mbn create mode 100644 qcom/sdm845/adsp.mbn create mode 100644 qcom/sdm845/adspr.jsn create mode 100644 qcom/sdm845/adspua.jsn create mode 100644 qcom/sdm845/cdsp.mbn create mode 100644 qcom/sdm845/cdspr.jsn create mode 100644 qcom/sdm845/mba.mbn create mode 100644 qcom/sdm845/modem_nm.mbn create mode 100644 qcom/sdm845/modemuw.jsn create mode 100644 qcom/sm8250/a650_zap.mbn create mode 100644 qcom/sm8250/adsp.mbn create mode 100644 qcom/sm8250/adspr.jsn create mode 100644 qcom/sm8250/adspua.jsn create mode 100644 qcom/sm8250/cdsp.mbn create mode 100644 qcom/sm8250/cdspr.jsn create mode 100644 qcom/venus-1.8/venus.mbn create mode 100644 qcom/venus-4.2/venus.mbn create mode 100644 qcom/venus-5.2/venus.mbn create mode 100644 qcom/venus-5.4/venus.mbn create mode 100644 qcom/vpu-1.0/venus.mbn create mode 100644 qcom/vpu-2.0/venus.mbn create mode 100644 qcom/yamato_pfp.fw create mode 100644 qcom/yamato_pm4.fw create mode 100644 qed/qed_init_values_zipped-8.10.10.0.bin create mode 100755 qed/qed_init_values_zipped-8.33.1.0.bin create mode 100755 qed/qed_init_values_zipped-8.33.11.0.bin create mode 100755 qed/qed_init_values_zipped-8.37.2.0.bin create mode 100755 qed/qed_init_values_zipped-8.37.7.0.bin create mode 100755 qed/qed_init_values_zipped-8.42.2.0.bin create mode 100644 qed/qed_init_values_zipped-8.59.1.0.bin create mode 100644 ql2100_fw.bin create mode 100644 ql2200_fw.bin create mode 100644 ql2300_fw.bin create mode 100644 ql2322_fw.bin create mode 100644 ql2400_fw.bin create mode 100644 ql2500_fw.bin create mode 100644 qlogic/1040.bin create mode 100644 qlogic/12160.bin create mode 100644 qlogic/1280.bin create mode 100644 qlogic/sd7220.fw create mode 100644 r128/r128_cce.bin create mode 100644 r8a779x_usb3_v1.dlmem create mode 100644 r8a779x_usb3_v2.dlmem create mode 100644 r8a779x_usb3_v3.dlmem create mode 100644 radeon/ARUBA_me.bin create mode 100644 radeon/ARUBA_pfp.bin create mode 100644 radeon/ARUBA_rlc.bin create mode 100644 radeon/BARTS_mc.bin create mode 100644 radeon/BARTS_me.bin create mode 100644 radeon/BARTS_pfp.bin create mode 100644 radeon/BARTS_smc.bin create mode 100644 radeon/BONAIRE_ce.bin create mode 100644 radeon/BONAIRE_mc.bin create mode 100644 radeon/BONAIRE_mc2.bin create mode 100644 radeon/BONAIRE_me.bin create mode 100644 radeon/BONAIRE_mec.bin create mode 100644 radeon/BONAIRE_pfp.bin create mode 100644 radeon/BONAIRE_rlc.bin create mode 100644 radeon/BONAIRE_sdma.bin create mode 100644 radeon/BONAIRE_smc.bin create mode 100644 radeon/BONAIRE_uvd.bin create mode 100644 radeon/BONAIRE_vce.bin create mode 100644 radeon/BTC_rlc.bin create mode 100644 radeon/CAICOS_mc.bin create mode 100644 radeon/CAICOS_me.bin create mode 100644 radeon/CAICOS_pfp.bin create mode 100644 radeon/CAICOS_smc.bin create mode 100644 radeon/CAYMAN_mc.bin create mode 100644 radeon/CAYMAN_me.bin create mode 100644 radeon/CAYMAN_pfp.bin create mode 100644 radeon/CAYMAN_rlc.bin create mode 100644 radeon/CAYMAN_smc.bin create mode 100644 radeon/CEDAR_me.bin create mode 100644 radeon/CEDAR_pfp.bin create mode 100644 radeon/CEDAR_rlc.bin create mode 100644 radeon/CEDAR_smc.bin create mode 100644 radeon/CYPRESS_me.bin create mode 100644 radeon/CYPRESS_pfp.bin create mode 100644 radeon/CYPRESS_rlc.bin create mode 100644 radeon/CYPRESS_smc.bin create mode 100644 radeon/CYPRESS_uvd.bin create mode 100644 radeon/HAINAN_ce.bin create mode 100644 radeon/HAINAN_mc.bin create mode 100644 radeon/HAINAN_mc2.bin create mode 100644 radeon/HAINAN_me.bin create mode 100644 radeon/HAINAN_pfp.bin create mode 100644 radeon/HAINAN_rlc.bin create mode 100644 radeon/HAINAN_smc.bin create mode 100644 radeon/HAWAII_ce.bin create mode 100644 radeon/HAWAII_mc.bin create mode 100644 radeon/HAWAII_mc2.bin create mode 100644 radeon/HAWAII_me.bin create mode 100644 radeon/HAWAII_mec.bin create mode 100644 radeon/HAWAII_pfp.bin create mode 100644 radeon/HAWAII_rlc.bin create mode 100644 radeon/HAWAII_sdma.bin create mode 100644 radeon/HAWAII_smc.bin create mode 100644 radeon/JUNIPER_me.bin create mode 100644 radeon/JUNIPER_pfp.bin create mode 100644 radeon/JUNIPER_rlc.bin create mode 100644 radeon/JUNIPER_smc.bin create mode 100644 radeon/KABINI_ce.bin create mode 100644 radeon/KABINI_me.bin create mode 100644 radeon/KABINI_mec.bin create mode 100644 radeon/KABINI_pfp.bin create mode 100644 radeon/KABINI_rlc.bin create mode 100644 radeon/KABINI_sdma.bin create mode 100644 radeon/KAVERI_ce.bin create mode 100644 radeon/KAVERI_me.bin create mode 100644 radeon/KAVERI_mec.bin create mode 100644 radeon/KAVERI_pfp.bin create mode 100644 radeon/KAVERI_rlc.bin create mode 100644 radeon/KAVERI_sdma.bin create mode 100644 radeon/MULLINS_ce.bin create mode 100644 radeon/MULLINS_me.bin create mode 100644 radeon/MULLINS_mec.bin create mode 100644 radeon/MULLINS_pfp.bin create mode 100644 radeon/MULLINS_rlc.bin create mode 100644 radeon/MULLINS_sdma.bin create mode 100644 radeon/OLAND_ce.bin create mode 100644 radeon/OLAND_mc.bin create mode 100644 radeon/OLAND_mc2.bin create mode 100644 radeon/OLAND_me.bin create mode 100644 radeon/OLAND_pfp.bin create mode 100644 radeon/OLAND_rlc.bin create mode 100644 radeon/OLAND_smc.bin create mode 100644 radeon/PALM_me.bin create mode 100644 radeon/PALM_pfp.bin create mode 100644 radeon/PITCAIRN_ce.bin create mode 100644 radeon/PITCAIRN_mc.bin create mode 100644 radeon/PITCAIRN_mc2.bin create mode 100644 radeon/PITCAIRN_me.bin create mode 100644 radeon/PITCAIRN_pfp.bin create mode 100644 radeon/PITCAIRN_rlc.bin create mode 100644 radeon/PITCAIRN_smc.bin create mode 100644 radeon/R100_cp.bin create mode 100644 radeon/R200_cp.bin create mode 100644 radeon/R300_cp.bin create mode 100644 radeon/R420_cp.bin create mode 100644 radeon/R520_cp.bin create mode 100644 radeon/R600_me.bin create mode 100644 radeon/R600_pfp.bin create mode 100644 radeon/R600_rlc.bin create mode 100644 radeon/R600_uvd.bin create mode 100644 radeon/R700_rlc.bin create mode 100644 radeon/REDWOOD_me.bin create mode 100644 radeon/REDWOOD_pfp.bin create mode 100644 radeon/REDWOOD_rlc.bin create mode 100644 radeon/REDWOOD_smc.bin create mode 100644 radeon/RS600_cp.bin create mode 100644 radeon/RS690_cp.bin create mode 100644 radeon/RS780_me.bin create mode 100644 radeon/RS780_pfp.bin create mode 100644 radeon/RS780_uvd.bin create mode 100644 radeon/RV610_me.bin create mode 100644 radeon/RV610_pfp.bin create mode 100644 radeon/RV620_me.bin create mode 100644 radeon/RV620_pfp.bin create mode 100644 radeon/RV630_me.bin create mode 100644 radeon/RV630_pfp.bin create mode 100644 radeon/RV635_me.bin create mode 100644 radeon/RV635_pfp.bin create mode 100644 radeon/RV670_me.bin create mode 100644 radeon/RV670_pfp.bin create mode 100644 radeon/RV710_me.bin create mode 100644 radeon/RV710_pfp.bin create mode 100644 radeon/RV710_smc.bin create mode 100644 radeon/RV710_uvd.bin create mode 100644 radeon/RV730_me.bin create mode 100644 radeon/RV730_pfp.bin create mode 100644 radeon/RV730_smc.bin create mode 100644 radeon/RV740_smc.bin create mode 100644 radeon/RV770_me.bin create mode 100644 radeon/RV770_pfp.bin create mode 100644 radeon/RV770_smc.bin create mode 100644 radeon/RV770_uvd.bin create mode 100644 radeon/SUMO2_me.bin create mode 100644 radeon/SUMO2_pfp.bin create mode 100644 radeon/SUMO_me.bin create mode 100644 radeon/SUMO_pfp.bin create mode 100644 radeon/SUMO_rlc.bin create mode 100644 radeon/SUMO_uvd.bin create mode 100644 radeon/TAHITI_ce.bin create mode 100644 radeon/TAHITI_mc.bin create mode 100644 radeon/TAHITI_mc2.bin create mode 100644 radeon/TAHITI_me.bin create mode 100644 radeon/TAHITI_pfp.bin create mode 100644 radeon/TAHITI_rlc.bin create mode 100644 radeon/TAHITI_smc.bin create mode 100644 radeon/TAHITI_uvd.bin create mode 100644 radeon/TAHITI_vce.bin create mode 100644 radeon/TURKS_mc.bin create mode 100644 radeon/TURKS_me.bin create mode 100644 radeon/TURKS_pfp.bin create mode 100644 radeon/TURKS_smc.bin create mode 100644 radeon/VERDE_ce.bin create mode 100644 radeon/VERDE_mc.bin create mode 100644 radeon/VERDE_mc2.bin create mode 100644 radeon/VERDE_me.bin create mode 100644 radeon/VERDE_pfp.bin create mode 100644 radeon/VERDE_rlc.bin create mode 100644 radeon/VERDE_smc.bin create mode 100644 radeon/banks_k_2_smc.bin create mode 100644 radeon/bonaire_ce.bin create mode 100644 radeon/bonaire_k_smc.bin create mode 100644 radeon/bonaire_mc.bin create mode 100644 radeon/bonaire_me.bin create mode 100644 radeon/bonaire_mec.bin create mode 100644 radeon/bonaire_pfp.bin create mode 100644 radeon/bonaire_rlc.bin create mode 100644 radeon/bonaire_sdma.bin create mode 100644 radeon/bonaire_sdma1.bin create mode 100644 radeon/bonaire_smc.bin create mode 100644 radeon/bonaire_uvd.bin create mode 100644 radeon/bonaire_vce.bin create mode 100644 radeon/hainan_ce.bin create mode 100644 radeon/hainan_k_smc.bin create mode 100644 radeon/hainan_mc.bin create mode 100644 radeon/hainan_me.bin create mode 100644 radeon/hainan_pfp.bin create mode 100644 radeon/hainan_rlc.bin create mode 100644 radeon/hainan_smc.bin create mode 100644 radeon/hawaii_ce.bin create mode 100644 radeon/hawaii_k_smc.bin create mode 100644 radeon/hawaii_mc.bin create mode 100644 radeon/hawaii_me.bin create mode 100644 radeon/hawaii_mec.bin create mode 100644 radeon/hawaii_pfp.bin create mode 100644 radeon/hawaii_rlc.bin create mode 100644 radeon/hawaii_sdma.bin create mode 100644 radeon/hawaii_sdma1.bin create mode 100644 radeon/hawaii_smc.bin create mode 100644 radeon/hawaii_uvd.bin create mode 100644 radeon/hawaii_vce.bin create mode 100644 radeon/kabini_ce.bin create mode 100644 radeon/kabini_me.bin create mode 100644 radeon/kabini_mec.bin create mode 100644 radeon/kabini_pfp.bin create mode 100644 radeon/kabini_rlc.bin create mode 100644 radeon/kabini_sdma.bin create mode 100644 radeon/kabini_sdma1.bin create mode 100644 radeon/kabini_uvd.bin create mode 100644 radeon/kabini_vce.bin create mode 100644 radeon/kaveri_ce.bin create mode 100644 radeon/kaveri_me.bin create mode 100644 radeon/kaveri_mec.bin create mode 100644 radeon/kaveri_mec2.bin create mode 100644 radeon/kaveri_pfp.bin create mode 100644 radeon/kaveri_rlc.bin create mode 100644 radeon/kaveri_sdma.bin create mode 100644 radeon/kaveri_sdma1.bin create mode 100644 radeon/kaveri_uvd.bin create mode 100644 radeon/kaveri_vce.bin create mode 100644 radeon/mullins_ce.bin create mode 100644 radeon/mullins_me.bin create mode 100644 radeon/mullins_mec.bin create mode 100644 radeon/mullins_pfp.bin create mode 100644 radeon/mullins_rlc.bin create mode 100644 radeon/mullins_sdma.bin create mode 100644 radeon/mullins_sdma1.bin create mode 100644 radeon/mullins_uvd.bin create mode 100644 radeon/mullins_vce.bin create mode 100644 radeon/oland_ce.bin create mode 100644 radeon/oland_k_smc.bin create mode 100644 radeon/oland_mc.bin create mode 100644 radeon/oland_me.bin create mode 100644 radeon/oland_pfp.bin create mode 100644 radeon/oland_rlc.bin create mode 100644 radeon/oland_smc.bin create mode 100644 radeon/pitcairn_ce.bin create mode 100644 radeon/pitcairn_k_smc.bin create mode 100644 radeon/pitcairn_mc.bin create mode 100644 radeon/pitcairn_me.bin create mode 100644 radeon/pitcairn_pfp.bin create mode 100644 radeon/pitcairn_rlc.bin create mode 100644 radeon/pitcairn_smc.bin create mode 100644 radeon/si58_mc.bin create mode 100644 radeon/tahiti_ce.bin create mode 100644 radeon/tahiti_k_smc.bin create mode 100644 radeon/tahiti_mc.bin create mode 100644 radeon/tahiti_me.bin create mode 100644 radeon/tahiti_pfp.bin create mode 100644 radeon/tahiti_rlc.bin create mode 100644 radeon/tahiti_smc.bin create mode 100644 radeon/verde_ce.bin create mode 100644 radeon/verde_k_smc.bin create mode 100644 radeon/verde_mc.bin create mode 100644 radeon/verde_me.bin create mode 100644 radeon/verde_pfp.bin create mode 100644 radeon/verde_rlc.bin create mode 100644 radeon/verde_smc.bin create mode 100644 rockchip/dptx.bin create mode 100644 rp2.fw create mode 100644 rsi/rs9113_ap_bt_dual_mode.rps create mode 100644 rsi/rs9113_wlan_bt_dual_mode.rps create mode 100644 rsi/rs9113_wlan_qspi.rps create mode 100644 rsi/rs9116_wlan.rps create mode 100644 rsi/rs9116_wlan_bt_classic.rps create mode 100644 rt2561.bin create mode 100644 rt2561s.bin create mode 100644 rt2661.bin create mode 100644 rt2860.bin create mode 100644 rt2870.bin create mode 100644 rt3071.bin create mode 100644 rt3290.bin create mode 100644 rt73.bin create mode 100644 rtl_bt/rtl8192ee_fw.bin create mode 100644 rtl_bt/rtl8192eu_fw.bin create mode 100644 rtl_bt/rtl8723a_fw.bin create mode 100644 rtl_bt/rtl8723b_fw.bin create mode 100644 rtl_bt/rtl8723bs_config-OBDA8723.bin create mode 100644 rtl_bt/rtl8723bs_fw.bin create mode 100644 rtl_bt/rtl8723d_config.bin create mode 100644 rtl_bt/rtl8723d_fw.bin create mode 100644 rtl_bt/rtl8761a_fw.bin create mode 100644 rtl_bt/rtl8761b_config.bin create mode 100644 rtl_bt/rtl8761b_fw.bin create mode 100644 rtl_bt/rtl8761bu_config.bin create mode 100644 rtl_bt/rtl8761bu_fw.bin create mode 100644 rtl_bt/rtl8812ae_fw.bin create mode 100644 rtl_bt/rtl8821a_fw.bin create mode 100644 rtl_bt/rtl8821c_config.bin create mode 100644 rtl_bt/rtl8821c_fw.bin create mode 100644 rtl_bt/rtl8821cs_config.bin create mode 100644 rtl_bt/rtl8821cs_fw.bin create mode 100644 rtl_bt/rtl8822b_config.bin create mode 100644 rtl_bt/rtl8822b_fw.bin create mode 100644 rtl_bt/rtl8822cs_config.bin create mode 100644 rtl_bt/rtl8822cs_fw.bin create mode 100644 rtl_bt/rtl8822cu_config.bin create mode 100644 rtl_bt/rtl8822cu_fw.bin create mode 100644 rtl_bt/rtl8851bu_config.bin create mode 100644 rtl_bt/rtl8851bu_fw.bin create mode 100644 rtl_bt/rtl8852au_config.bin create mode 100644 rtl_bt/rtl8852au_fw.bin create mode 100644 rtl_bt/rtl8852bu_config.bin create mode 100644 rtl_bt/rtl8852bu_fw.bin create mode 100644 rtl_bt/rtl8852cu_config.bin create mode 100644 rtl_bt/rtl8852cu_fw.bin create mode 100644 rtl_nic/rtl8105e-1.fw create mode 100644 rtl_nic/rtl8106e-1.fw create mode 100644 rtl_nic/rtl8106e-2.fw create mode 100644 rtl_nic/rtl8107e-1.fw create mode 100644 rtl_nic/rtl8107e-2.fw create mode 100644 rtl_nic/rtl8125a-3.fw create mode 100644 rtl_nic/rtl8125b-1.fw create mode 100644 rtl_nic/rtl8125b-2.fw create mode 100644 rtl_nic/rtl8153a-2.fw create mode 100644 rtl_nic/rtl8153a-3.fw create mode 100644 rtl_nic/rtl8153a-4.fw create mode 100644 rtl_nic/rtl8153b-2.fw create mode 100644 rtl_nic/rtl8153c-1.fw create mode 100644 rtl_nic/rtl8156a-2.fw create mode 100644 rtl_nic/rtl8156b-2.fw create mode 100644 rtl_nic/rtl8168d-1.fw create mode 100644 rtl_nic/rtl8168d-2.fw create mode 100644 rtl_nic/rtl8168e-1.fw create mode 100644 rtl_nic/rtl8168e-2.fw create mode 100644 rtl_nic/rtl8168e-3.fw create mode 100644 rtl_nic/rtl8168f-1.fw create mode 100644 rtl_nic/rtl8168f-2.fw create mode 100644 rtl_nic/rtl8168fp-3.fw create mode 100644 rtl_nic/rtl8168g-1.fw create mode 100644 rtl_nic/rtl8168g-2.fw create mode 100644 rtl_nic/rtl8168g-3.fw create mode 100644 rtl_nic/rtl8168h-1.fw create mode 100644 rtl_nic/rtl8168h-2.fw create mode 100644 rtl_nic/rtl8402-1.fw create mode 100644 rtl_nic/rtl8411-1.fw create mode 100644 rtl_nic/rtl8411-2.fw create mode 100644 rtlwifi/rtl8188efw.bin create mode 100644 rtlwifi/rtl8188eufw.bin create mode 100644 rtlwifi/rtl8188fufw.bin create mode 100644 rtlwifi/rtl8192cfw.bin create mode 100644 rtlwifi/rtl8192cfwU.bin create mode 100644 rtlwifi/rtl8192cfwU_B.bin create mode 100644 rtlwifi/rtl8192cufw.bin create mode 100644 rtlwifi/rtl8192cufw_A.bin create mode 100644 rtlwifi/rtl8192cufw_B.bin create mode 100644 rtlwifi/rtl8192cufw_TMSC.bin create mode 100644 rtlwifi/rtl8192defw.bin create mode 100644 rtlwifi/rtl8192eu_ap_wowlan.bin create mode 100644 rtlwifi/rtl8192eu_nic.bin create mode 100644 rtlwifi/rtl8192eu_wowlan.bin create mode 100644 rtlwifi/rtl8192fufw.bin create mode 100644 rtlwifi/rtl8192sefw.bin create mode 100644 rtlwifi/rtl8710bufw_SMIC.bin create mode 100644 rtlwifi/rtl8710bufw_UMC.bin create mode 100644 rtlwifi/rtl8712u.bin create mode 100644 rtlwifi/rtl8723aufw_A.bin create mode 100644 rtlwifi/rtl8723aufw_B.bin create mode 100644 rtlwifi/rtl8723aufw_B_NoBT.bin create mode 100644 rtlwifi/rtl8723befw.bin create mode 100644 rtlwifi/rtl8723befw_36.bin create mode 100644 rtlwifi/rtl8723bs_bt.bin create mode 100644 rtlwifi/rtl8723bu_ap_wowlan.bin create mode 100644 rtlwifi/rtl8723bu_nic.bin create mode 100644 rtlwifi/rtl8723bu_wowlan.bin create mode 100644 rtlwifi/rtl8723defw.bin create mode 100644 rtlwifi/rtl8723fw.bin create mode 100644 rtlwifi/rtl8723fw_B.bin create mode 100644 rtlwifi/rtl8812aefw.bin create mode 100644 rtlwifi/rtl8812aefw_wowlan.bin create mode 100644 rtlwifi/rtl8821aefw.bin create mode 100644 rtlwifi/rtl8821aefw_29.bin create mode 100644 rtlwifi/rtl8821aefw_wowlan.bin create mode 100644 rtlwifi/rtl8822befw.bin create mode 100644 rtw88/README create mode 100644 rtw88/rtw8723d_fw.bin create mode 100644 rtw88/rtw8821c_fw.bin create mode 100644 rtw88/rtw8822b_fw.bin create mode 100644 rtw88/rtw8822c_fw.bin create mode 100644 rtw88/rtw8822c_wow_fw.bin create mode 100644 rtw89/rtw8851b_fw.bin create mode 100644 rtw89/rtw8852a_fw.bin create mode 100644 rtw89/rtw8852b_fw-1.bin create mode 100644 rtw89/rtw8852b_fw.bin create mode 100644 rtw89/rtw8852c_fw.bin create mode 100644 s5p-mfc-v6-v2.fw create mode 100644 s5p-mfc-v6.fw create mode 100644 s5p-mfc-v7.fw create mode 100644 s5p-mfc-v8.fw create mode 100644 s5p-mfc.fw create mode 100644 sms1xxx-hcw-55xxx-dvbt-02.fw create mode 100644 sms1xxx-hcw-55xxx-isdbt-02.fw create mode 100644 sms1xxx-nova-a-dvbt-01.fw create mode 100644 sms1xxx-nova-b-dvbt-01.fw create mode 100644 sms1xxx-stellar-dvbt-01.fw create mode 100644 tdmb_nova_12mhz.inp create mode 100644 tehuti/bdx.bin create mode 100644 ti-connectivity/TIInit_6.2.31.bts create mode 100644 ti-connectivity/TIInit_6.6.15.bts create mode 100644 ti-connectivity/TIInit_7.2.31.bts create mode 100644 ti-connectivity/wl1251-fw.bin create mode 100644 ti-connectivity/wl1251-nvs.bin create mode 100755 ti-connectivity/wl127x-fw-5-mr.bin create mode 100755 ti-connectivity/wl127x-fw-5-plt.bin create mode 100755 ti-connectivity/wl127x-fw-5-sr.bin create mode 100644 ti-connectivity/wl127x-nvs.bin create mode 100755 ti-connectivity/wl128x-fw-5-mr.bin create mode 100755 ti-connectivity/wl128x-fw-5-plt.bin create mode 100755 ti-connectivity/wl128x-fw-5-sr.bin create mode 100644 ti-connectivity/wl128x-nvs.bin create mode 100644 ti-connectivity/wl18xx-fw-2.bin create mode 100644 ti-connectivity/wl18xx-fw-3.bin create mode 100755 ti-connectivity/wl18xx-fw-4.bin create mode 100644 ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin create mode 100644 ti/vpdma-1b8.bin create mode 100644 tigon/tg3.bin create mode 100644 tigon/tg357766.bin create mode 100644 tigon/tg3_tso.bin create mode 100644 tigon/tg3_tso5.bin create mode 100644 ueagle-atm/CMV4p.bin.v2 create mode 100644 ueagle-atm/DSP4p.bin create mode 100644 ueagle-atm/eagleIV.fw create mode 100644 usbdux/Makefile_dux create mode 100644 usbdux/fx2-include.asm create mode 100644 usbdux/usbdux_firmware.asm create mode 100644 usbdux/usbduxfast_firmware.asm create mode 100644 usbdux/usbduxsigma_firmware.asm create mode 100644 usbdux_firmware.bin create mode 100644 usbduxfast_firmware.bin create mode 100644 usbduxsigma_firmware.bin create mode 100644 v4l-cx231xx-avcore-01.fw create mode 100644 v4l-cx23418-apu.fw create mode 100644 v4l-cx23418-cpu.fw create mode 100644 v4l-cx23418-dig.fw create mode 100644 v4l-cx23885-avcore-01.fw create mode 100644 v4l-cx25840.fw create mode 100644 vntwusb.fw create mode 100644 wfx/LICENCE.wf200 create mode 100644 wfx/brd4001a.pds create mode 100644 wfx/brd8022a.pds create mode 100644 wfx/brd8023a.pds create mode 100644 wfx/wfm_wf200_C0.sec create mode 100644 wil6210.brd create mode 100644 wil6210.fw diff --git a/3com/typhoon.bin b/3com/typhoon.bin new file mode 100644 index 0000000..81d1294 Binary files /dev/null and b/3com/typhoon.bin differ diff --git a/GPL-2 b/GPL-2 new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/GPL-2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/GPL-3 b/GPL-3 new file mode 100644 index 0000000..4432540 --- /dev/null +++ b/GPL-3 @@ -0,0 +1,676 @@ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/LICENCE.Abilis b/LICENCE.Abilis new file mode 100644 index 0000000..9050d2b --- /dev/null +++ b/LICENCE.Abilis @@ -0,0 +1,22 @@ +Firmware provided by Pierrick Hascoet to Devin +Heitmueller on January 15, 2010. + +The USB firmware files "dvb-as102_data1_st.hex" and "as102_data2_st.hex" for +Abilis's AS10X, used together with the AS10X USB Kernel driver, is provided +under the following licensing terms: + +Copyright (c) 2010, Abilis Systems Sarl + +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 +TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENCE.IntcSST2 b/LICENCE.IntcSST2 new file mode 100644 index 0000000..d4f1609 --- /dev/null +++ b/LICENCE.IntcSST2 @@ -0,0 +1,39 @@ +Copyright (c) 2014, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.Marvell b/LICENCE.Marvell new file mode 100644 index 0000000..fdf4cda --- /dev/null +++ b/LICENCE.Marvell @@ -0,0 +1,22 @@ +Copyright © 2019. Marvell International Ltd. All rights reserved. + +Redistribution and use in binary form is permitted provided that the following +conditions are met: + +1. Redistributions 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. + +2. Redistribution and use shall be used only with Marvell silicon products. +Any other use, reproduction, modification, translation, or compilation of the +Software is prohibited. + +3. No reverse engineering, decompilation, or disassembly is permitted. + +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +“AS IS” WITHOUT WARRANTY OF ANY KIND, INCLUDING, WITHOUT LIMITATION, ANY EXPRESS +OR IMPLIED WARRANTIES OF MERCHANTABILITY, ACCURACY, FITNESS OR SUFFICIENCY FOR A +PARTICULAR PURPOSE, SATISFACTORY QUALITY, CORRESPONDENCE WITH DESCRIPTION, QUIET +ENJOYMENT OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. +MARVELL, ITS AFFILIATES AND THEIR SUPPLIERS DISCLAIM ANY WARRANTY THAT THE +DELIVERABLES WILL OPERATE WITHOUT INTERRUPTION OR BE ERROR-FREE. diff --git a/LICENCE.NXP b/LICENCE.NXP new file mode 100644 index 0000000..96215f1 --- /dev/null +++ b/LICENCE.NXP @@ -0,0 +1,22 @@ +Copyright 2019. NXP B.V. All rights reserved. + +Redistribution and use in binary form is permitted provided that the following +conditions are met: + +1. Redistributions 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. + +2. Redistribution and use shall be used only with NXP B.V. silicon products. +Any other use, reproduction, modification, translation, or compilation of the +Software is prohibited. + +3. No reverse engineering, decompilation, or disassembly is permitted. + +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +"AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING, WITHOUT LIMITATION, ANY EXPRESS +OR IMPLIED WARRANTIES OF MERCHANTABILITY, ACCURACY, FITNESS OR SUFFICIENCY FOR A +PARTICULAR PURPOSE, SATISFACTORY QUALITY, CORRESPONDENCE WITH DESCRIPTION, QUIET +ENJOYMENT OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. +NXP B.V., ITS AFFILIATES AND THEIR SUPPLIERS DISCLAIM ANY WARRANTY THAT THE +DELIVERABLES WILL OPERATE WITHOUT INTERRUPTION OR BE ERROR-FREE. diff --git a/LICENCE.Netronome b/LICENCE.Netronome new file mode 100644 index 0000000..1ed7a7c --- /dev/null +++ b/LICENCE.Netronome @@ -0,0 +1,65 @@ +Copyright (c) 2017, NETRONOME Systems, Inc. All rights reserved. + +Agilio(r) Firmware License Agreement (the "AGREEMENT") + +BY INSTALLING OR USING IN ANY MANNER THE SOFTWARE THAT ACCOMPANIES THIS +AGREEMENT (THE "SOFTWARE") YOU (THE "LICENSEE") ACKNOWLEDGE TO BE BOUND +BY ALL OF THE TERMS OF THIS AGREEMENT. + +LICENSE GRANT. Subject to the terms and conditions set forth herein, +Netronome Systems, Inc. ("NETRONOME") hereby grants LICENSEE a non- +exclusive license to use, reproduce and distribute the SOFTWARE +exclusively in object form. + +Restrictions. LICENSEE agrees that, (a) unless explicitly provided by +NETRONOME, the source code of the SOFTWARE is not being provided to +LICENSEE and is confidential and proprietary to NETRONOME and that +LICENSEE has no right to access or use such source code. Accordingly, +LICENSEE agrees that it shall not cause or permit the disassembly, +decompilation or reverse engineering of the SOFTWARE or otherwise attempt +to gain access to the source code for the SOFTWARE; and (b) LICENSEE +agrees that it shall not subject the SOFTWARE in whole or in part, to the +terms of any software license that requires, as a condition of use, +modification and/or distribution that the source code of the SOFTWARE, or +the SOFTWARE be i) disclosed or distributed in source code form; ii) +licensed for the purpose of making derivative works of the source code of +the SOFTWARE; or iii) redistribution of the source code of the SOFTWARE +at no charge. + +DISCLAIMER OF ALL WARRANTIES. THE SOFTWARE IS PROVIDED "AS IS" AND WITH +ALL FAULTS AND NETRONOME AND ITS LICENSORS HEREBY DISCLAIM ALL EXPRESS OR +IMPLIED WARRANTIES OF ANY KIND, INCLUDING, WITHOUT LIMITATION, ANY +WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A +PARTICULAR PURPOSE. + +LIMITATIONS OF LIABILITY. EXCEPT WHERE PROHIBITED BY LAW, IN NO EVENT +SHALL NETRONOME OR ANY OTHER PARTY INVOLVED IN THE CREATION, PRODUCTION, +OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY LOSS OF PROFITS, DATA, USE +OF THE SOFTWARE, DOCUMENTATION OR EQUIPMENT, OR FOR ANY SPECIAL, +INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, PUNITIVE, MULTIPLE OR OTHER +DAMAGES, ARISING FROM OR IN CONNECTION WITH THE SOFTWARE EVEN IF +NETRONOME OR ITS LICENSORS HAVE BEEN MADE AWARE OF THE POSSIBILITY OF +SUCH DAMAGES AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY +LIMITED REMEDY. + +EXPORT COMPLIANCE. LICENSEE shall not use or export or transmit the +SOFTWARE, directly or indirectly, to any restricted countries or in any +other manner that would violate any applicable US and other export +control and other regulations and laws as shall from time to time govern +the delivery, license and use of technology, including without limitation +the Export Administration Act of 1979, as amended, and any regulations +issued thereunder. + +PROHIBITION OF SOFTWARE USE IN HIGH RISK ACTIVITIES AND LIFE +SUPPORT APPLICATIONS. The SOFTWARE is not designed, manufactured or +intended for use as on-line control equipment in hazardous environments +requiring fail-safe performance, such as in the operation of nuclear +facilities, aircraft navigation or communications systems, air traffic +control, life support systems, human implantation or any other +application where product failure could lead to loss of life or +catastrophic property damage or weapons systems, in which the failure of +the SOFTWARE could lead directly to death, personal injury, or severe +physical or environmental damage ("High Risk Activities"). Accordingly +NETRONOME and, where applicable, NETRONOME'S third party licensors +specifically disclaim any express or implied warranty of fitness for High +Risk Activities. diff --git a/LICENCE.OLPC b/LICENCE.OLPC new file mode 100644 index 0000000..a740952 --- /dev/null +++ b/LICENCE.OLPC @@ -0,0 +1,33 @@ +Copyright (c) 2006, One Laptop per Child and Marvell Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Marvell Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. +* You may not use or attempt to use this software in conjunction with + any product that is offered by a third party as a replacement, + substitute or alternative to a Marvell Product where a Marvell Product + is defined as a proprietary wireless LAN embedded client solution of + Marvell or a Marvell Affiliate. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.adsp_sst b/LICENCE.adsp_sst new file mode 100644 index 0000000..c66b1b2 --- /dev/null +++ b/LICENCE.adsp_sst @@ -0,0 +1,999 @@ +***** INTEL BINARY FIRMWARE RELEASE LICENCE ******************************** + +Copyright (c) 2014-15 Intel Corporation. +All rights reserved. + +Redistribution. + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials provided + with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers may + be used to endorse or promote products derived from this software without + specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software is + permitted. + + +Limited patent license. + +Intel Corporation grants a world-wide, royalty-free, non-exclusive license +under patents it now or hereafter owns or controls to make, have made, use, +import, offer to sell and sell ("Utilize") this software, but solely to the +extent that any such patent is necessary to Utilize the software alone. The +patent license shall not apply to any combinations which include this software. +No hardware per se is licensed hereunder. + + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +***** NEW LIBC LICENCE******************************** + +The newlib subdirectory is a collection of software from several sources. + +Each file may have its own copyright/license that is embedded in the source +file. Unless otherwise noted in the body of the source file(s), the following copyright +notices will apply to the contents of the newlib subdirectory: + +(1) Red Hat Incorporated + +Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + +This copyrighted material is made available to anyone wishing to use, +modify, copy, or redistribute it subject to the terms and conditions +of the BSD License. This program is distributed in the hope that +it will be useful, but WITHOUT ANY WARRANTY expressed or implied, +including the implied warranties of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. A copy of this license is available at +http://www.opensource.org/licenses. Any Red Hat trademarks that are +incorporated in the source code or documentation are not subject to +the BSD License and may only be used or replicated with the express +permission of Red Hat, Inc. + +(2) University of California, Berkeley + +Copyright (c) 1981-2000 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: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. + +(3) David M. Gay (AT&T 1991, Lucent 1998) + +The author of this software is David M. Gay. + +Copyright (c) 1991 by AT&T. + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998-2001 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. + +This software is the property of Advanced Micro Devices, Inc (AMD) which +specifically grants the user the right to modify, use and distribute this +software provided this notice is not removed or altered. All other rights +are reserved by AMD. + +AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS +SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL +DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR +USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the 29K Technical Support Center at +800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or +0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118. + +Advanced Micro Devices, Inc. +29K Support Products +Mail Stop 573 +5900 E. Ben White Blvd. +Austin, TX 78741 +800-292-9263 + +(5) + +(6) + +(7) Sun Microsystems + +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice is preserved. + +(8) Hewlett Packard + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(9) Hans-Peter Nilsson + +Copyright (C) 2001 Hans-Peter Nilsson + +Permission to use, copy, modify, and distribute this software is +freely granted, provided that the above copyright notice, this notice +and the following disclaimer are preserved with no changes. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. + +(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only) + +Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(11) Christopher G. Demetriou + +Copyright (c) 2001 Christopher G. Demetriou +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 BY THE AUTHOR ``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. + +(12) SuperH, Inc. + +Copyright 2002 SuperH, Inc. All rights reserved + +This software is the property of SuperH, Inc (SuperH) which specifically +grants the user the right to modify, use and distribute this software +provided this notice is not removed or altered. All other rights are +reserved by SuperH. + +SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM +THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the SuperH Support Center via +e-mail at softwaresupport@superh.com . + +SuperH, Inc. +405 River Oaks Parkway +San Jose +CA 95134 +USA + +(13) Royal Institute of Technology + +Copyright (c) 1999 Kungliga Tekniska Högskolan +(Royal Institute of Technology, Stockholm, Sweden). +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 KTH 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 KTH AND ITS 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 KTH OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(14) Alexey Zelkin + +Copyright (c) 2000, 2001 Alexey Zelkin +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. + +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. + +(15) Andrey A. Chernov + +Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. +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. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. + +(16) FreeBSD + +Copyright (c) 1997-2002 FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +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. + +(17) S. L. Moshier + +Author: S. L. Moshier. + +Copyright (c) 1984,2000 S.L. Moshier + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION +OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS +SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(18) Citrus Project + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +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. + +(19) Todd C. Miller + +Copyright (c) 1998 Todd C. Miller +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. + +(20) DJ Delorie (i386) +Copyright (C) 1991 DJ Delorie +All rights reserved. + +Redistribution, modification, and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(21) Free Software Foundation LGPL License (*-linux* targets only) + + Copyright (C) 1990-1999, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Mark Kettenis , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + +(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) + +Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Library General Public License for more details. + +(23) Intel (i960) + +Copyright (c) 1993 Intel Corporation + +Intel hereby grants you permission to copy, modify, and distribute this +software and its documentation. Intel grants this permission provided +that the above copyright notice appears in all copies and that both the +copyright notice and this permission notice appear in supporting +documentation. In addition, Intel grants this permission provided that +you prominently mark as "not part of the original" any modifications +made to this software or documentation, and that the name of Intel +Corporation not be used in advertising or publicity pertaining to +distribution of the software or the documentation without specific, +written prior permission. + +Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR +IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or +representations regarding the use of, or the results of the use of, +the software and documentation in terms of correctness, accuracy, +reliability, currentness, or otherwise; and you rely on the software, +documentation and results solely at your own risk. + +IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS, +LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES +OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM +PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. + +(24) Hewlett-Packard (hppa targets only) + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(25) Henry Spencer (only *-linux targets) + +Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + +(26) Mike Barcroft + +Copyright (c) 2001 Mike Barcroft +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. + +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. + +(27) Konstantin Chuguev (--enable-newlib-iconv) + +Copyright (c) 1999, 2000 + Konstantin Chuguev. 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. + +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. + + iconv (Charset Conversion Library) v2.0 + +(28) Artem Bityuckiy (--enable-newlib-iconv) + +Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation. +Rights transferred to Franklin Electronic Publishers. + +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. + +(29) IBM, Sony, Toshiba (only spu-* targets) + + (C) Copyright 2001,2006, + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +(30) - Alex Tatmanjants (targets using libc/posix) + + Copyright (c) 1995 Alex Tatmanjants + at Electronni Visti IA, Kiev, Ukraine. + 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. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. + +(31) - M. Warner Losh (targets using libc/posix) + + Copyright (c) 1998, M. Warner Losh + 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. + + 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. + +(32) - Andrey A. Chernov (targets using libc/posix) + + Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia. + 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. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. + +(33) - Daniel Eischen (targets using libc/posix) + + Copyright (c) 2001 Daniel Eischen . + 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. + + 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 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. + + +(34) - Jon Beniston (only lm32-* targets) + + Contributed by Jon Beniston + + 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. + + +(35) - ARM Ltd (arm and thumb variant targets only) + + Copyright (c) 2009 ARM Ltd + 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 company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. + +(36) - Xilinx, Inc. (microblaze-* and powerpc-* targets) + +Copyright (c) 2004, 2009 Xilinx, Inc. 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 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 Xilinx nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +(37) Texas Instruments Incorporated (tic6x-*, *-tirtos targets) + +Copyright (c) 1996-2010,2014 Texas Instruments Incorporated +http://www.ti.com/ + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + Neither the name of Texas Instruments Incorporated nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(38) National Semiconductor (cr16-* and crx-* targets) + +Copyright (c) 2004 National Semiconductor Corporation + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(39) - Adapteva, Inc. (epiphany-* targets) + +Copyright (c) 2011, Adapteva, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Adapteva nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(40) - Altera Corportion (nios2-* targets) + +Copyright (c) 2003 Altera Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + o Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + o 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. + o Neither the name of Altera Corporation 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 ALTERA CORPORATION, THE COPYRIGHT HOLDER, +AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(41) Ed Schouten - Free BSD + +Copyright (c) 2008 Ed Schouten +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. + +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. + diff --git a/LICENCE.agere b/LICENCE.agere new file mode 100644 index 0000000..c11466c --- /dev/null +++ b/LICENCE.agere @@ -0,0 +1,77 @@ +agere_sta_fw.bin -- 9.48 Hermes I +agere_ap_fw.bin -- 9.48 Hermes I + +The above firmware images were compiled from the Agere linux driver +wl_lkm_718_release.tar.gz, and dumped. The driver is coverred by the +following copyright and software license. + + * SOFTWARE LICENSE + * + * This software is provided subject to the following terms and conditions, + * which you should read carefully before using the software. Using this + * software indicates your acceptance of these terms and conditions. If you do + * not agree with these terms and conditions, do not use the software. + * + * COPYRIGHT © 1994 - 1995 by AT&T. All Rights Reserved + * COPYRIGHT © 1996 - 2000 by Lucent Technologies. All Rights Reserved + * COPYRIGHT © 2001 - 2004 by Agere Systems Inc. All Rights Reserved + * All rights reserved. + * + * Redistribution and use in source or binary forms, with or without + * modifications, are permitted provided that the following conditions are met: + * + * . Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following Disclaimer as comments in the code as + * well as in the documentation and/or other materials provided with the + * distribution. + * + * . 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. + * + * . Neither the name of Agere Systems Inc. nor the names of the contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * Disclaimer + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY + * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN + * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. 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, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + +The following statement from Agere clarifies the status of the firmware + +--- +I would like to confirm that the two drivers; Linux LKM Wireless Driver +Source Code, Version 7.18 and Linux LKM Wireless Driver Source Code, +Version 7.22 comply with Open Source BSD License. Therefore the source +code can be distributed in unmodified or modified form consistent with +the terms of the license. + +The Linux driver architecture was based on two modules, the MSF (Module +specific functions) and the HCF (Hardware Control Functions). Included +in the HCF is run-time firmware (binary format) which is downloaded into +the RAM of the Hermes 1/2/2.5 WMAC. + +This hex coded firmware is not based on any open source software and +hence it is not subject to any Open Source License. The firmware was +developed by Agere and runs on the DISC processor embedded within the +Hermes 1/2/2.5 Wireless MAC devices. + +Hope this helps. + +Sincerely, + +Viren Pathare +Intellectual Property Licensing Manager +Agere +--- diff --git a/LICENCE.atheros_firmware b/LICENCE.atheros_firmware new file mode 100644 index 0000000..e0ebdac --- /dev/null +++ b/LICENCE.atheros_firmware @@ -0,0 +1,38 @@ +Copyright (c) 2008-2010, Atheros Communications, Inc. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +* Neither the name of Atheros Communications, Inc. nor the names of + its suppliers may be used to endorse or promote products derived + from this software without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this + software is permitted. + +Limited patent license. Atheros Communications, Inc. grants a +world-wide, royalty-free, non-exclusive license under patents it +now or hereafter owns or controls to make, have made, use, import, +offer to sell and sell ("Utilize") this software, but solely to +the extent that any such patent is necessary to Utilize the software +in conjunction with an Atheros Chipset. The patent license shall not +apply to any other combinations which include this software. No +hardware per se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.broadcom_bcm43xx b/LICENCE.broadcom_bcm43xx new file mode 100644 index 0000000..ff26fdd --- /dev/null +++ b/LICENCE.broadcom_bcm43xx @@ -0,0 +1,65 @@ +SOFTWARE LICENSE AGREEMENT + +The accompanying software in binary code form (“Software”), is licensed to you, +or, if you are accepting on behalf of an entity, the entity and its affiliates +exercising rights hereunder (“Licensee”) subject to the terms of this software +license agreement (“Agreement”), unless Licensee and Broadcom Corporation +(“Broadcom”) execute a separate written software license agreement governing +use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE +CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT. + +1. License. Subject to the terms and conditions of this Agreement, +Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable, +royalty-free license: (i) to use and integrate the Software with any other +software; and (ii) to reproduce and distribute the Software complete, +unmodified, and as provided by Broadcom, solely for use with Broadcom +proprietary integrated circuit product(s) sold by Broadcom with which the +Software was designed to be used, or their successors. + +2. Restrictions. Licensee shall distribute Software with a copy of this +Agreement. Licensee shall not remove, efface or obscure any copyright or +trademark notices from the Software. Reproductions of the Broadcom copyright +notice shall be included with each copy of the Software, except where such +Software is embedded in a manner not readily accessible to the end user. +Licensee shall not: (i) use, license, sell or otherwise distribute the Software +except as provided in this Agreement; (ii) attempt to modify in any way, +reverse engineer, decompile or disassemble any portion of the Software; or +(iii) use the Software or other material in violation of any applicable law or +regulation, including but not limited to any regulatory agency. This Agreement +shall automatically terminate upon Licensee’s failure to comply with any of the +terms of this Agreement. In such event, Licensee will destroy all copies of the +Software and its component parts. + +3. Ownership. The Software is licensed and not sold. Title to and +ownership of the Software, including all intellectual property rights thereto, +and any portion thereof remain with Broadcom or its licensors. Licensee hereby +covenants that it will not assert any claim that the Software created by or for +Broadcom infringe any intellectual property right owned or controlled by +Licensee. + +4. Disclaimer. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM PROVIDES AND +GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS +OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE. +BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR +ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE +ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL +OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE +RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR +RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM +OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR +OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION +OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS, +EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE +LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY +LIMITED REMEDY. + +5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS +SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND +REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE +SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE +LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE +SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED. + diff --git a/LICENCE.ca0132 b/LICENCE.ca0132 new file mode 100644 index 0000000..411750a --- /dev/null +++ b/LICENCE.ca0132 @@ -0,0 +1,47 @@ +Copyright (c) 2012, Creative Technology Ltd +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Creative Technology Ltd or its affiliates ("CTL") + nor the names of its suppliers may be used to endorse or promote + products derived from this software without specific prior written + permission. +* No reverse engineering, decompilation, or disassembly of this software + (or any part thereof) is permitted. + +Limited patent license. CTL grants a limited, world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but strictly only to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not be +applicable, to any other combinations which include this software. +No hardware per se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +NO OTHER RIGHTS GRANTED. USER HEREBY ACKNOWLEDGES AND AGREES THAT USE OF +THIS SOFTWARE SHALL NOT CREATE OR GIVE GROUNDS FOR A LICENSE BY +IMPLICATION, ESTOPPEL, OR OTHERWISE TO ANY INTELLECTUAL PROPERTY RIGHTS +(PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) +EMBODIED IN ANY OTHER CTL HARDWARE OR SOFTWARE WHETHER SOLELY OR IN +COMBINATION WITH THIS SOFTWARE. diff --git a/LICENCE.cadence b/LICENCE.cadence new file mode 100644 index 0000000..b3564c2 --- /dev/null +++ b/LICENCE.cadence @@ -0,0 +1,63 @@ +Copyright (c) 2018, Cadence Design Systems, Inc. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +* Neither the name of Cadence Design Systems, Inc., its products + nor the names of its suppliers may be used to endorse or promote products + derived from this Software without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +This software contains: + +HDCP Cipher is licensed under the FreeBSD license. A copy of the FreeBSD +license can be found at +https://www.freebsd.org/copyright/freebsd-license.html. +The source code for HDCP Cipher can is available here: +http://www3.cs.stonybrook.edu/~rob/hdcp.html + +SSL Library is licensed under the Apache License, Version 2.0. +A copy of the Apache License, Version 2.0 can be found at +http://www.apache.org/licenses/LICENSE-2.0. +The original source code for SSL Library can is available here: +https://tls.mbed.org/download + +Fast discrete Fourier and cosine transforms and inverses +author: Monty +modifications by: Monty +last modification date: Jul 1 1996 + +/* These Fourier routines were originally based on the Fourier +routines of the same names from the NETLIB bihar and fftpack +fortran libraries developed by Paul N. Swarztrauber at the National +Center for Atmospheric Research in Boulder, CO USA. They have been +reimplemented in C and optimized in a few ways for OggSquish. */ + +/* As the original fortran libraries are public domain, the C Fourier +routines in this file are hereby released to the public domain as +well. The C routines here produce output exactly equivalent to the +original fortran routines. Of particular interest are the facts +that (like the original fortran), these routines can work on +arbitrary length vectors that need not be powers of two in +length. */ diff --git a/LICENCE.cavium b/LICENCE.cavium new file mode 100644 index 0000000..5d2a2bb --- /dev/null +++ b/LICENCE.cavium @@ -0,0 +1,59 @@ +Copyright © 2015, Cavium, Inc. All rights reserved. + +Software License Agreement + +ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE ACCOMPANYING BINARY SOFTWARE +CONSTITUTES LICENSEEE'S ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +Licensed Software. Subject to the terms and conditions of this Agreement, +Cavium, Inc. ("Cavium") grants to Licensee a worldwide, non-exclusive, and +royalty-free license to use, reproduce, and distribute the binary software in +its complete and unmodified form as provided by Cavium. + +Restrictions. Licensee must reproduce the Cavium copyright notice above with +each binary software copy. Licensee must not reverse engineer, decompile, +disassemble or modify in any way the binary software. Licensee must not use +the binary software in violation of any applicable law or regulation. This +Agreement shall automatically terminate upon Licensee's breach of any term or +condition of this Agreement in which case, Licensee shall destroy all copies of +the binary software. + +Warranty Disclaimer. THE LICENSED SOFTWARE IS OFFERED "AS IS," AND CAVIUM +GRANTS AND LICENSEE RECEIVES NO WARRANTIES OF ANY KIND, WHETHER EXPRESS, +IMPLIED, STATUTORY, OR BY COURSE OF COMMUNICATION OR DEALING WITH LICENSEE, OR +OTHERWISE. CAVIUM AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OR +NONINFRINGEMENT OF THIRD PARTY RIGHTS, CONCERNING THE LICENSED SOFTWARE, +DERIVATIVE WORKS, OR ANY DOCUMENTATION PROVIDED WITH THE FOREGOING. WITHOUT +LIMITING THE GENERALITY OF THE FOREGOING, CAVIUM DOES NOT WARRANT THAT THE +LICENSED SOFTWARE IS ERROR-FREE OR WILL OPERATE WITHOUT INTERRUPTION, AND +CAVIUM GRANTS NO WARRANTY REGARDING ITS USE OR THE RESULTS THEREFROM, INCLUDING +ITS CORRECTNESS, ACCURACY, OR RELIABILITY. + +Limitation of Liability. IN NO EVENT WILL LICENSEE, CAVIUM, OR ANY OF CAVIUM'S +LICENSORS HAVE ANY LIABILITY HEREUNDER FOR ANY INDIRECT, SPECIAL, OR +CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, ARISING OUT +OF THIS AGREEMENT, INCLUDING DAMAGES FOR LOSS OF PROFITS, OR THE COST OF +PROCUREMENT OF SUBSTITUTE GOODS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +Export and Import Laws. Licensee acknowledges and agrees that the Licensed +Software (including technical data and related technology) may be controlled by +the export control laws, rules, regulations, restrictions and national security +controls of the United States and other applicable foreign agencies (the +"Export Controls"), and agrees not export or re-export, or allow the export or +re-export of export-controlled the Licensed Software (including technical data +and related technology) or any copy, portion or direct product of the foregoing +in violation of the Export Controls. Licensee hereby represents that +(i) Licensee is not an entity or person to whom provision of the Licensed +Software (including technical data and related technology) is restricted or +prohibited by the Export Controls; and (ii) Licensee will not export, re-export +or otherwise transfer the export-controlled Licensed Software (including +technical data and related technology) in violation of U.S. sanction programs +or export control regulations to (a) any country, or national or resident of +any country, subject to a United States trade embargo, (b) any person or entity +to whom shipment is restricted or prohibited by the Export Controls, or +(c) anyone who is engaged in activities related to the design, development, +production, or use of nuclear materials, nuclear facilities, nuclear weapons, +missiles or chemical or biological weapons. diff --git a/LICENCE.cavium_liquidio b/LICENCE.cavium_liquidio new file mode 100644 index 0000000..250b9fe --- /dev/null +++ b/LICENCE.cavium_liquidio @@ -0,0 +1,68 @@ +This file contains licences pertaining to the following firmwares for +LiquidIO (c) adapters + +1. lio_nic_23xx.bin, lio_210nv_nic.bin, lio_410nv_nic.bin + +########################################################################### + +1. lio_nic_23xx.bin, lio_210nv_nic.bin, lio_410nv_nic.bin + +Copyright (c) 2018, Cavium, Inc. All rights reserved. + +Software License Agreement + +ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE ACCOMPANYING BINARY SOFTWARE +CONSTITUTES LICENSEEE'S ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +Licensed Software. Subject to the terms and conditions of this Agreement, +Cavium, Inc. ("Cavium") grants to Licensee a worldwide, non-exclusive, and +royalty-free license to use, reproduce, and distribute the binary software in +its complete and unmodified form as provided by Cavium. + +Restrictions. Licensee must reproduce the Cavium copyright notice above with +each binary software copy. Licensee must not reverse engineer, decompile, +disassemble or modify in any way the binary software. Licensee must not use +the binary software in violation of any applicable law or regulation. This +Agreement shall automatically terminate upon Licensee's breach of any term or +condition of this Agreement in which case, Licensee shall destroy all copies of +the binary software. + +Warranty Disclaimer. THE LICENSED SOFTWARE IS OFFERED "AS IS," AND CAVIUM +GRANTS AND LICENSEE RECEIVES NO WARRANTIES OF ANY KIND, WHETHER EXPRESS, +IMPLIED, STATUTORY, OR BY COURSE OF COMMUNICATION OR DEALING WITH LICENSEE, OR +OTHERWISE. CAVIUM AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OR +NONINFRINGEMENT OF THIRD PARTY RIGHTS, CONCERNING THE LICENSED SOFTWARE, +DERIVATIVE WORKS, OR ANY DOCUMENTATION PROVIDED WITH THE FOREGOING. WITHOUT +LIMITING THE GENERALITY OF THE FOREGOING, CAVIUM DOES NOT WARRANT THAT THE +LICENSED SOFTWARE IS ERROR-FREE OR WILL OPERATE WITHOUT INTERRUPTION, AND +CAVIUM GRANTS NO WARRANTY REGARDING ITS USE OR THE RESULTS THEREFROM, INCLUDING +ITS CORRECTNESS, ACCURACY, OR RELIABILITY. + +Limitation of Liability. IN NO EVENT WILL LICENSEE, CAVIUM, OR ANY OF CAVIUM'S +LICENSORS HAVE ANY LIABILITY HEREUNDER FOR ANY INDIRECT, SPECIAL, OR +CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, ARISING OUT +OF THIS AGREEMENT, INCLUDING DAMAGES FOR LOSS OF PROFITS, OR THE COST OF +PROCUREMENT OF SUBSTITUTE GOODS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +Export and Import Laws. Licensee acknowledges and agrees that the Licensed +Software (including technical data and related technology) may be controlled by +the export control laws, rules, regulations, restrictions and national security +controls of the United States and other applicable foreign agencies (the +"Export Controls"), and agrees not export or re-export, or allow the export or +re-export of export-controlled the Licensed Software (including technical data +and related technology) or any copy, portion or direct product of the foregoing +in violation of the Export Controls. Licensee hereby represents that +(i) Licensee is not an entity or person to whom provision of the Licensed +Software (including technical data and related technology) is restricted or +prohibited by the Export Controls; and (ii) Licensee will not export, re-export +or otherwise transfer the export-controlled Licensed Software (including +technical data and related technology) in violation of U.S. sanction programs +or export control regulations to (a) any country, or national or resident of +any country, subject to a United States trade embargo, (b) any person or entity +to whom shipment is restricted or prohibited by the Export Controls, or +(c) anyone who is engaged in activities related to the design, development, +production, or use of nuclear materials, nuclear facilities, nuclear weapons, +missiles or chemical or biological weapons. diff --git a/LICENCE.chelsio_firmware b/LICENCE.chelsio_firmware new file mode 100644 index 0000000..5ae4607 --- /dev/null +++ b/LICENCE.chelsio_firmware @@ -0,0 +1,27 @@ +Copyright (c) 2011 Chelsio Communications +All rights reserved. + +Chelsio Communication Terminator 4/5 ethernet controller firmware + +Redistribution and use in binary form, without modification, are permitted provided +that the following conditions are met: + +1. Redistribution in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +2. The name of Chelsio Communications may not be used to endorse or promote products + derived from this software without specific prior written permission. +3. Reverse engineering, decompilation, or disassembly of this firmware is not + permitted. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.cnm b/LICENCE.cnm new file mode 100644 index 0000000..48d23ea --- /dev/null +++ b/LICENCE.cnm @@ -0,0 +1,23 @@ +Copyright (C) 2021 Chips&Media, Inc. +All rights reserved. + +Redistribution and use in binary form is permitted provided that the following +conditions are met: + +1. Redistributions 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. + +2. Redistribution and use shall be used only with Texas Instruments Incorporateds +silicon products. Any other use, reproduction, modification, translation, +or compilation of the Software is prohibited. + +3. No reverse engineering, decompilation, or disassembly is permitted. + +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED +"AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING, WITHOUT LIMITATION, ANY EXPRESS +OR IMPLIED WARRANTIES OF MERCHANTABILITY, ACCURACY, FITNESS OR SUFFICIENCY FOR A +PARTICULAR PURPOSE, SATISFACTORY QUALITY, CORRESPONDENCE WITH DESCRIPTION, QUIET +ENJOYMENT OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. +CHIPS&MEDIA, INC., ITS AFFILIATES AND THEIR SUPPLIERS DISCLAIM ANY WARRANTY THAT THE +DELIVERABLES WILL OPERATE WITHOUT INTERRUPTION OR BE ERROR-FREE. diff --git a/LICENCE.cw1200 b/LICENCE.cw1200 new file mode 100644 index 0000000..1016eca --- /dev/null +++ b/LICENCE.cw1200 @@ -0,0 +1,35 @@ +Copyright (c) 2007-2013, ST Microelectronics NV. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without modification, +are permitted provided that the following conditions are met: + +* Redistributions must reproduce the above copyright notice and the following +disclaimer in the documentation and/or other materials provided with the +distribution. + +* Neither the name of ST Microelectronics NV. nor the names of its suppliers +may be used to endorse or promote products derived from this software without +specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this software is +permitted. + +Limited patent license. ST Microelectronics NV. grants a world-wide, royalty-free, + non-exclusive license under patents it now or hereafter owns or controls to make, + have made, use, import, offer to sell and sell ("Utilize") this software, but + solely to the extent that any such patent is necessary to Utilize the software in +conjunction with an ST Microelectronics chipset. The patent license shall not +apply to any other combinations which include this software. No hardware per se +is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ANDCONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.cypress b/LICENCE.cypress new file mode 100644 index 0000000..070ef66 --- /dev/null +++ b/LICENCE.cypress @@ -0,0 +1,138 @@ +### CYPRESS WIRELESS CONNECTIVITY DEVICES +### DRIVER END USER LICENSE AGREEMENT (SOURCE AND BINARY DISTRIBUTION) + +PLEASE READ THIS END USER LICENSE AGREEMENT ("Agreement") CAREFULLY BEFORE +DOWNLOADING, INSTALLING, OR USING THIS SOFTWARE, ANY ACCOMPANYING +DOCUMENTATION, OR ANY UPDATES PROVIDED BY CYPRESS ("Software"). BY +DOWNLOADING, INSTALLING, OR USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND +BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS +AGREEMENT, PROMPTLY RETURN AND DO NOT USE THE SOFTWARE. IF YOU HAVE +PURCHASED THE SOFTWARE, YOUR RIGHT TO RETURN THE SOFTWARE EXPIRES 30 DAYS +AFTER YOUR PURCHASE AND APPLIES ONLY TO THE ORIGINAL PURCHASER. + +Software Provided in Binary Code Form. This paragraph applies to any Software +provided in binary code form. Subject to the terms and conditions of this +Agreement, Cypress Semiconductor Corporation ("Cypress") grants you a +non-exclusive, non-transferable license under its copyright rights in the +Software to reproduce and distribute the Software in object code form only, +solely for use in connection with Cypress integrated circuit products +("Purpose"). + +Software Provided in Source Code Form. This paragraph applies to any Software +provided in source code form ("Cypress Source Code"). Subject to the terms and +conditions of this Agreement, Cypress grants you a non-exclusive, +non-transferable license under its copyright rights in the Cypress Source Code +to reproduce, modify, compile, and distribute the Cypress Source Code (whether +in source code form or as compiled into binary code form) solely for the +Purpose. Cypress retains ownership of the Cypress Source Code and any compiled +version thereof. Subject to Cypress' ownership of the underlying Cypress +Source Code, you retain ownership of any modifications you make to the +Cypress Source Code. You agree not to remove any Cypress copyright or other +notices from the Cypress Source Code and any modifications thereof. Any +reproduction, modification, translation, compilation, or representation of +the Cypress Source Code except as permitted in this paragraph is prohibited +without the express written permission of Cypress. + +Free and Open Source Software. Portions of the Software may be licensed under +free and/or open source licenses such as the GNU General Public License +("FOSS"). FOSS is subject to the applicable license agreement and not this +Agreement. If you are entitled to receive the source code from Cypress for any +FOSS included with the Software, either the source code will be included with +the Software or you may obtain the source code at no charge from +. The applicable license terms will +accompany each source code package. To review the license terms applicable to +any FOSS for which Cypress is not required to provide you with source code, +please see the Software's installation directory on your computer. + +Proprietary Rights. The Software, including all intellectual property rights +therein, is and will remain the sole and exclusive property of Cypress or its +suppliers. Except as otherwise expressly provided in this Agreement, you may +not: (i) modify, adapt, or create derivative works based upon the Software; +(ii) copy the Software; (iii) except and only to the extent explicitly +permitted by applicable law despite this limitation, decompile, translate, +reverse engineer, disassemble or otherwise reduce the Software to +human-readable form; or (iv) use the Software other than for the Purpose. + +No Support. Cypress may, but is not required to, provide technical support for +the Software. + +Term and Termination. This Agreement is effective until terminated. This +Agreement and Your license rights will terminate immediately without notice +from Cypress if you fail to comply with any provision of this Agreement. Upon +termination, you must destroy all copies of Software in your possession or +control. Termination of this Agreement will not affect any licenses validly +granted as of the termination date to any end users of the Software. The +following paragraphs shall survive any termination of this Agreement: "Free and +Open Source Software," "Proprietary Rights," "Compliance With Law," +"Disclaimer," "Limitation of Liability," and "General." + +Compliance With Law. Each party agrees to comply with all applicable laws, +rules and regulations in connection with its activities under this Agreement. +Without limiting the foregoing, the Software may be subject to export control +laws and regulations of the United States and other countries. You agree to +comply strictly with all such laws and regulations and acknowledge that you +have the responsibility to obtain licenses to export, re-export, or import +the Software. + +Disclaimer. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES +NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THE SOFTWARE, +INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the +right to make changes to the Software without notice. Cypress does not assume +any liability arising out of the application or use of Software or any +product or circuit described in the Software. Cypress does not authorize its +products for use as critical components in life-support systems where a +malfunction or failure may reasonably be expected to result in significant +injury to the user. The inclusion of Cypress' product in a life-support +system or application implies that the manufacturer of such system or +application assumes all risk of such use and in doing so indemnifies Cypress +against all charges. + +Limitation of Liability. IN NO EVENT WILL CYPRESS OR ITS SUPPLIERS, +RESELLERS, OR DISTRIBUTORS BE LIABLE FOR ANY LOST REVENUE, PROFIT, OR DATA, +OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE DAMAGES +HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE +USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF CYPRESS OR ITS SUPPLIERS, +RESELLERS, OR DISTRIBUTORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. IN NO EVENT SHALL CYPRESS' OR ITS SUPPLIERS' RESELLERS', OR +DISTRIBUTORS' TOTAL LIABILITY TO YOU, WHETHER IN CONTRACT, TORT (INCLUDING +NEGLIGENCE), OR OTHERWISE, EXCEED THE PRICE PAID BY YOU FOR THE SOFTWARE. +THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF THE ABOVE-STATED WARRANTY FAILS +OF ITS ESSENTIAL PURPOSE. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW +LIMITATION OR EXCLUSION OF CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE +LIMITATION MAY NOT APPLY TO YOU. + +Restricted Rights. The Software under this Agreement is commercial computer +software as that term is described in 48 C.F.R. 252.227-7014(a)(1). If +acquired by or on behalf of a civilian agency, the U.S. Government acquires +this commercial computer software and/or commercial computer software +documentation subject to the terms of this Agreement as specified in 48 +C.F.R. 12.212 (Computer Software) and 12.211 (Technical Data) of the Federal +Acquisition Regulations ("FAR") and its successors. If acquired by or on +behalf of any agency within the Department of Defense ("DOD"), the U.S. +Government acquires this commercial computer software and/or commercial +computer software documentation subject to the terms of this Agreement as +specified in 48 C.F.R. 227.7202-3 of the DOD FAR Supplement ("DFAR") and its +successors. + +General. This Agreement will bind and inure to the benefit of each party's +successors and assigns, provided that you may not assign or transfer this +Agreement, in whole or in part, without Cypress' written consent. This +Agreement shall be governed by and construed in accordance with the laws of +the State of California, United States of America, as if performed wholly +within the state and without giving effect to the principles of conflict of +law. The parties consent to personal and exclusive jurisdiction of and venue +in, the state and federal courts within Santa Clara County, California; +provided however, that nothing in this Agreement will limit Cypress' right to +bring legal action in any venue in order to protect or enforce its +intellectual property rights. No failure of either party to exercise or +enforce any of its rights under this Agreement will act as a waiver of such +rights. If any portion hereof is found to be void or unenforceable, the +remaining provisions of this Agreement shall remain in full force and +effect. This Agreement is the complete and exclusive agreement between the +parties with respect to the subject matter hereof, superseding and replacing +any and all prior agreements, communications, and understandings (both +written and oral) regarding such subject matter. Any notice to Cypress will +be deemed effective when actually received and must be sent to Cypress +Semiconductor Corporation, ATTN: Chief Legal Officer, 198 Champion Court, San +Jose, CA 95134 USA. diff --git a/LICENCE.e100 b/LICENCE.e100 new file mode 100644 index 0000000..0553817 --- /dev/null +++ b/LICENCE.e100 @@ -0,0 +1,28 @@ +Copyright (c) 1999-2001, Intel Corporation + +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 Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.ene_firmware b/LICENCE.ene_firmware new file mode 100644 index 0000000..08f2b01 --- /dev/null +++ b/LICENCE.ene_firmware @@ -0,0 +1,14 @@ +copyright (c) 2011, ENE TECHNOLOGY 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. diff --git a/LICENCE.fw_sst_0f28 b/LICENCE.fw_sst_0f28 new file mode 100644 index 0000000..247e35f --- /dev/null +++ b/LICENCE.fw_sst_0f28 @@ -0,0 +1,40 @@ +Copyright (c) 2014 Intel Corporation. +All rights reserved. + +Redistribution. + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials provided + with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers may + be used to endorse or promote products derived from this software without + specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software is + permitted. + + +Limited patent license. + +Intel Corporation grants a world-wide, royalty-free, non-exclusive license +under patents it now or hereafter owns or controls to make, have made, use, +import, offer to sell and sell ("Utilize") this software, but solely to the +extent that any such patent is necessary to Utilize the software alone. The +patent license shall not apply to any combinations which include this software. +No hardware per se is licensed hereunder. + + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.go7007 b/LICENCE.go7007 new file mode 100644 index 0000000..3689f3b --- /dev/null +++ b/LICENCE.go7007 @@ -0,0 +1,457 @@ +The README file from the original package from Micronas appears below. Only +the part about the firmware redistribution in section 0 is relevant, all +other sections are completely obsolete. + +--------------------------------------------------------------------------- + WIS GO7007SB Public Linux Driver +--------------------------------------------------------------------------- + + +*** Please see the file RELEASE-NOTES for important last-minute updates *** + + + 0. OVERVIEW AND LICENSING/DISCLAIMER + + +This driver kit contains Linux drivers for the WIS GO7007SB multi-format +video encoder. Only kernel version 2.6.x is supported. The video stream +is available through the Video4Linux2 API and the audio stream is available +through the ALSA API (or the OSS emulation layer of the ALSA system). + +The files in kernel/ and hotplug/ are licensed under the GNU General Public +License Version 2 from the Free Software Foundation. A copy of the license +is included in the file COPYING. + +The example applications in apps/ and C header files in include/ are +licensed under a permissive license included in the source files which +allows copying, modification and redistribution for any purpose without +attribution. + +The firmware files included in the firmware/ directory may be freely +redistributed only in conjunction with this document; but modification, +tampering and reverse engineering are prohibited. + +MICRONAS USA, INC., MAKES NO WARRANTIES TO ANY PERSON OR ENTITY WITH +RESPECT TO THE SOFTWARE OR ANY DERIVATIVES THEREOF OR ANY SERVICES OR +LICENSES AND DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION +WARRANTIES OF MERCHANTABILITY, SUPPORT, AND FITNESS FOR A PARTICULAR +PURPOSE AND NON-INFRINGEMENT. + + + 1. SYSTEM REQUIREMENTS + + +This driver requires Linux kernel 2.6. Kernel 2.4 is not supported. Using +kernel 2.6.10 or later is recommended, as earlier kernels are known to have +unstable USB 2.0 support. + +A fully built kernel source tree must be available. Typically this will be +linked from "/lib/modules//build" for convenience. If this +link does not exist, an extra parameter will need to be passed to the +`make` command. + +All vendor-built kernels should already be configured properly. However, +for custom-built kernels, the following options need to be enabled in the +kernel as built-in or modules: + + CONFIG_HOTPLUG - Support for hot-pluggable devices + CONFIG_MODULES - Enable loadable module support + CONFIG_KMOD - Automatic kernel module loading + CONFIG_FW_LOADER - Hotplug firmware loading support + CONFIG_I2C - I2C support + CONFIG_VIDEO_DEV - Video For Linux + CONFIG_SOUND - Sound card support + CONFIG_SND - Advanced Linux Sound Architecture + CONFIG_USB - Support for Host-side USB + CONFIG_USB_DEVICEFS - USB device filesystem + CONFIG_USB_EHCI_HCD - EHCI HCD (USB 2.0) support + +Additionally, to use the example application, the following options need to +be enabled in the ALSA section: + + CONFIG_SND_MIXER_OSS - OSS Mixer API + CONFIG_SND_PCM_OSS - OSS PCM (digital audio) API + +The hotplug scripts, along with the fxload utility, must also be installed. +These scripts can be obtained from . +Hotplugging is used for loading firmware into the Cypruss EZ-USB chip using +fxload and for loading firmware into the driver using the firmware agent. + + + 2. COMPILING AND INSTALLING THE DRIVER + + +Most users should be able to compile the driver by simply running: + + $ make + +in the top-level directory of the driver kit. First the kernel modules +will be built, followed by the example applications. + +If the build system is unable to locate the kernel source tree for the +currently-running kernel, or if the module should be built for a kernel +other than the currently-running kernel, an additional parameter will need +to be passed to make to specify the appropriate kernel source directory: + + $ make KERNELSRC=/usr/src/linux-2.6.10-custom3 + +Once the compile completes, the driver and firmware files should be +installed by running: + + $ make install + +The kernel modules will be placed in "/lib/modules//extra" +and the firmware files will be placed in the appropriate hotplug firmware +directory, usually /lib/firmware. In addition, USB maps and scripts will +be placed in /etc/hotplug/usb to enable fxload to initialize the EZ-USB +control chip when the device is connected. + + + 3. PAL/SECAM TUNER CONFIGURATION (TV402U-EU only) + + +The PAL model of the Plextor ConvertX TV402U may require additional +configuration to correctly select the appropriate TV frequency band and +audio subchannel. + +Users with a device other than the Plextor ConvertX TV402U-EU should skip +this section. + +The wide variety of PAL TV systems used in Europe requires that additional +information about the local TV standards be passed to the driver in order +to properly tune TV channels. The two necessary parameters are (a) the PAL +TV band, and (b) the audio subchannel format in use. + +In many cases, the appropriate TV band selection is passed to the driver +from applications. However, in some cases, the application only specifies +that the driver should use PAL but not the specific information about the +appropriate TV band. To work around this issue, the correct TV band may be +specified in the "force_band" parameter to the wis-sony-tuner module: + + TV band force_band + ------- ---------- + PAL B/G B + PAL I I + PAL D/K D + SECAM L L + +If the "force_band" parameter is specified, the driver will ignore any TV +band specified by applications and will always use the band provided in the +module parameter. + +The other parameter that can be specified is the audio subchannel format. +There are several stereo audio carrier systems in use, including NICAM and +three varieties of A2. To receive audio broadcast on one of these stereo +carriers, the "force_mpx_mode" parameter must be specified to the +wis-sony-tuner module. + + TV band Audio subcarrier force_mpx_mode + ------- ---------------- -------------- + PAL B/G Mono (default) 1 + PAL B/G A2 2 + PAL B/G NICAM 3 + PAL I Mono (default) 4 + PAL I NICAM 5 + PAL D/K Mono (default) 6 + PAL D/K A2 (1) 7 + PAL D/K A2 (2) 8 + PAL D/K A2 (3) 9 + PAL D/K NICAM 10 + SECAM L Mono (default) 11 + SECAM L NICAM 12 + +If the "force_mpx_mode" parameter is not specified, the correct mono-only +mode will be chosen based on the TV band. However, the tuner will not +receive stereo audio or bilingual broadcasts correctly. + +To pass the "force_band" or "force_mpx_mode" parameters to the +wis-sony-tuner module, the following line must be added to the modprobe +configuration file, which varies from one Linux distribution to another. + + options wis-sony-tuner force_band=B force_mpx_mode=2 + +The above example would force the tuner to the PAL B/G TV band and receive +stereo audio broadcasts on the A2 carrier. + +To verify that the configuration has been placed in the correct location, +execute: + + $ modprobe -c | grep wis-sony-tuner + +If the configuration line appears, then modprobe will pass the parameters +correctly the next time the wis-sony-tuner module is loaded into the +kernel. + + + 4. TESTING THE DRIVER + + +Because few Linux applications are able to correctly capture from +Video4Linux2 devices with only compressed formats supported, the new driver +should be tested with the "gorecord" application in the apps/ directory. + +First connect a video source to the device, such as a DVD player or VCR. +This will be captured to a file for testing the driver. If an input source +is unavailable, a test file can still be captured, but the video will be +black and the audio will be silent. + +This application will auto-detect the V4L2 and ALSA/OSS device names of the +hardware and will record video and audio to an AVI file for a specified +number of seconds. For example: + + $ apps/gorecord -duration 60 capture.avi + +If this application does not successfully record an AVI file, the error +messages produced by gorecord and recorded in the system log (usually in +/var/log/messages) should provide information to help resolve the problem. + +Supplying no parameters to gorecord will cause it to probe the available +devices and exit. Use the -help flag for usage information. + + + 5. USING THE DRIVER + + +The V4L2 device implemented by the driver provides a standard compressed +format API, within the following criteria: + + * Applications that only support the original Video4Linux1 API will not + be able to communicate with this driver at all. + + * No raw video modes are supported, so applications like xawtv that + expect only uncompressed video will not function. + + * Supported compression formats are: Motion-JPEG, MPEG1, MPEG2 and MPEG4. + + * MPEG video formats are delivered as Video Elementary Streams only. + Program Stream (PS), Transport Stream (TS) and Packetized Elementary + Stream (PES) formats are not supported. + + * Video parameters such as format and input port may not be changed while + the encoder is active. + + * The audio capture device only functions when the video encoder is + actively capturing video. Attempts to read from the audio device when + the encoder is inactive will result in an I/O error. + + * The native format of the audio device is 48Khz 2-channel 16-bit + little-endian PCM, delivered through the ALSA system. No audio + compression is implemented in the hardware. ALSA may convert to other + uncompressed formats on the fly. + +The include/ directory contains a C header file describing non-standard +features of the GO7007SB encoder, which are described below: + + + GO7007IOC_S_COMP_PARAMS, GO7007IOC_G_COMP_PARAMS + + These ioctls are used to negotiate general compression parameters. + + To query the current parameters, call the GO7007IOC_G_COMP_PARAMS ioctl + with a pointer to a struct go7007_comp_params. If the driver is not + set to MPEG format, the EINVAL error code will be returned. + + To change the current parameters, initialize all fields of a struct + go7007_comp_params and call the GO7007_IOC_S_COMP_PARAMS ioctl with a + pointer to this structure. The driver will return the current + parameters with any necessary changes to conform to the limitations of + the hardware or current compression mode. Any or all fields can be set + to zero to request a reasonable default value. If the driver is not + set to MPEG format, the EINVAL error code will be returned. When I/O + is in progress, the EBUSY error code will be returned. + + Fields in struct go7007_comp_params: + + __u32 The maximum number of frames in each + gop_size Group Of Pictures; i.e. the maximum + number of frames minus one between + each key frame. + + __u32 The maximum number of sequential + max_b_frames bidirectionally-predicted frames. + (B-frames are not yet supported.) + + enum go7007_aspect_ratio The aspect ratio to be encoded in the + aspect_ratio meta-data of the compressed format. + + Choices are: + GO7007_ASPECT_RATIO_1_1 + GO7007_ASPECT_RATIO_4_3_NTSC + GO7007_ASPECT_RATIO_4_3_PAL + GO7007_ASPECT_RATIO_16_9_NTSC + GO7007_ASPECT_RATIO_16_9_PAL + + __u32 Bit-wise OR of control flags (below) + flags + + Flags in struct go7007_comp_params: + + GO7007_COMP_CLOSED_GOP Only produce self-contained GOPs, used + to produce streams appropriate for + random seeking. + + GO7007_COMP_OMIT_SEQ_HEADER Omit the stream sequence header. + + + GO7007IOC_S_MPEG_PARAMS, GO7007IOC_G_MPEG_PARAMS + + These ioctls are used to negotiate MPEG-specific stream parameters when + the pixelformat has been set to V4L2_PIX_FMT_MPEG. + + To query the current parameters, call the GO7007IOC_G_MPEG_PARAMS ioctl + with a pointer to a struct go7007_mpeg_params. If the driver is not + set to MPEG format, the EINVAL error code will be returned. + + To change the current parameters, initialize all fields of a struct + go7007_mpeg_params and call the GO7007_IOC_S_MPEG_PARAMS ioctl with a + pointer to this structure. The driver will return the current + parameters with any necessary changes to conform to the limitations of + the hardware or selected MPEG mode. Any or all fields can be set to + zero to request a reasonable default value. If the driver is not set + to MPEG format, the EINVAL error code will be returned. When I/O is in + progress, the EBUSY error code will be returned. + + Fields in struct go7007_mpeg_params: + + enum go7007_mpeg_video_standard + mpeg_video_standard The MPEG video standard in which to + compress the video. + + Choices are: + GO7007_MPEG_VIDEO_MPEG1 + GO7007_MPEG_VIDEO_MPEG2 + GO7007_MPEG_VIDEO_MPEG4 + + __u32 Bit-wise OR of control flags (below) + flags + + __u32 The profile and level indication to be + pali stored in the sequence header. This + is only used as an indicator to the + decoder, and does not affect the MPEG + features used in the video stream. + Not valid for MPEG1. + + Choices for MPEG2 are: + GO7007_MPEG2_PROFILE_MAIN_MAIN + + Choices for MPEG4 are: + GO7007_MPEG4_PROFILE_S_L0 + GO7007_MPEG4_PROFILE_S_L1 + GO7007_MPEG4_PROFILE_S_L2 + GO7007_MPEG4_PROFILE_S_L3 + GO7007_MPEG4_PROFILE_ARTS_L1 + GO7007_MPEG4_PROFILE_ARTS_L2 + GO7007_MPEG4_PROFILE_ARTS_L3 + GO7007_MPEG4_PROFILE_ARTS_L4 + GO7007_MPEG4_PROFILE_AS_L0 + GO7007_MPEG4_PROFILE_AS_L1 + GO7007_MPEG4_PROFILE_AS_L2 + GO7007_MPEG4_PROFILE_AS_L3 + GO7007_MPEG4_PROFILE_AS_L4 + GO7007_MPEG4_PROFILE_AS_L5 + + Flags in struct go7007_mpeg_params: + + GO7007_MPEG_FORCE_DVD_MODE Force all compression parameters and + bitrate control settings to comply + with DVD MPEG2 stream requirements. + This overrides most compression and + bitrate settings! + + GO7007_MPEG_OMIT_GOP_HEADER Omit the GOP header. + + GO7007_MPEG_REPEAT_SEQHEADER Repeat the MPEG sequence header at + the start of each GOP. + + + GO7007IOC_S_BITRATE, GO7007IOC_G_BITRATE + + These ioctls are used to set and query the target bitrate value for the + compressed video stream. The bitrate may be selected by storing the + target bits per second in an int and calling GO7007IOC_S_BITRATE with a + pointer to the int. The bitrate may be queried by calling + GO7007IOC_G_BITRATE with a pointer to an int where the current bitrate + will be stored. + + Note that this is the primary means of controlling the video quality + for all compression modes, including V4L2_PIX_FMT_MJPEG. The + VIDIOC_S_JPEGCOMP ioctl is not supported. + + +---------------------------------------------------------------------------- + Installing the WIS PCI Voyager Driver +--------------------------------------------------------------------------- + +The WIS PCI Voyager driver requires several patches to the Linux 2.6.11.x +kernel source tree before compiling the driver. These patches update the +in-kernel SAA7134 driver to the newest development version and patch bugs +in the TDA8290/TDA8275 tuner driver. + +The following patches must be downloaded from Gerd Knorr's website and +applied in the order listed: + + http://dl.bytesex.org/patches/2.6.11-2/i2c-tuner + http://dl.bytesex.org/patches/2.6.11-2/i2c-tuner2 + http://dl.bytesex.org/patches/2.6.11-2/v4l2-api-mpeg + http://dl.bytesex.org/patches/2.6.11-2/saa7134-update + +The following patches are included with this SDK and can be applied in any +order: + + patches/2.6.11/saa7134-voyager.diff + patches/2.6.11/tda8275-newaddr.diff + patches/2.6.11/tda8290-ntsc.diff + +Check to make sure the CONFIG_VIDEO_SAA7134 option is enabled in the kernel +configuration, and build and install the kernel. + +After rebooting into the new kernel, the GO7007 driver can be compiled and +installed: + + $ make SAA7134_BUILD=y + $ make install + $ modprobe saa7134-go7007 + +There will be two V4L video devices associated with the PCI Voyager. The +first device (most likely /dev/video0) provides access to the raw video +capture mode of the SAA7133 device and is used to configure the source +video parameters and tune the TV tuner. This device can be used with xawtv +or other V4L(2) video software as a standard uncompressed device. + +The second device (most likely /dev/video1) provides access to the +compression functions of the GO7007. It can be tested using the gorecord +application in the apps/ directory of this SDK: + + $ apps/gorecord -vdevice /dev/video1 -noaudio test.avi + +Currently the frame resolution is fixed at 720x480 (NTSC) or 720x576 (PAL), +and the video standard must be specified to both the raw and the compressed +video devices (xawtv and gorecord, for example). + + +-------------------------------------------------------------------------- +RELEASE NOTES FOR WIS GO7007SB LINUX DRIVER +--------------------------------------------------------------------------- + +Last updated: 5 November 2005 + + - Release 0.9.7 includes new support for using udev to run fxload. The + install script should automatically detect whether the old hotplug + scripts or the new udev rules should be used. To force the use of + hotplug, run "make install USE_UDEV=n". To force the use of udev, run + "make install USE_UDEV=y". + + - Motion detection is supported but undocumented. Try the `modet` app + for a demonstration of how to use the facility. + + - Using USB2.0 devices such as the TV402U with USB1.1 HCDs or hubs can + cause buffer overruns and frame drops, even at low framerates, due to + inconsistency in the bitrate control mechanism. + + - On devices with an SAA7115, including the Plextor ConvertX, video height + values of 96, 128, 160, 192, 256, 320, and 384 do not work in NTSC mode. + All valid heights up to 512 work correctly in PAL mode. + + - The WIS Star Trek and PCI Voyager boards have no support yet for audio + or the TV tuner. diff --git a/LICENCE.ibt_firmware b/LICENCE.ibt_firmware new file mode 100644 index 0000000..f878c6a --- /dev/null +++ b/LICENCE.ibt_firmware @@ -0,0 +1,39 @@ +Copyright © 2014, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.it913x b/LICENCE.it913x new file mode 100644 index 0000000..ec8f56c --- /dev/null +++ b/LICENCE.it913x @@ -0,0 +1,17 @@ +Copyright (c) 2014, ITE Tech. Inc. + +The firmware files "dvb-usb-it9135-01.fw" and "dvb-usb-it9135-02.fw" +are for ITEtech it9135 Ax and Bx chip versions. + +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. diff --git a/LICENCE.iwlwifi_firmware b/LICENCE.iwlwifi_firmware new file mode 100644 index 0000000..6bdd16d --- /dev/null +++ b/LICENCE.iwlwifi_firmware @@ -0,0 +1,39 @@ +Copyright (c) 2006-2021, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.kaweth b/LICENCE.kaweth new file mode 100644 index 0000000..75a59c0 --- /dev/null +++ b/LICENCE.kaweth @@ -0,0 +1,28 @@ +Copyright 1999 Kawasaki LSI. + +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 Kawasaki LSI. +4. Neither the name of the company 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 KAWASAKI LSI ``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 KAWASAKI LSI BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.mediatek b/LICENCE.mediatek new file mode 100644 index 0000000..6886c61 --- /dev/null +++ b/LICENCE.mediatek @@ -0,0 +1,9 @@ +MediaTek Inc. grants permission to use and redistribute aforementioned firmware +files for the use with devices containing MediaTek chipsets, but not as part of +the Linux kernel or in any other form which would require these files themselves +to be covered by the terms of the GNU General Public License or the GNU Lesser +General Public License. + +These firmware files are distributed in the hope that they will be useful, but +are provided WITHOUT ANY WARRANTY, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTY +OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/LICENCE.microchip b/LICENCE.microchip new file mode 100644 index 0000000..f270c99 --- /dev/null +++ b/LICENCE.microchip @@ -0,0 +1,40 @@ +Copyright (C) 2018 Microchip Technology Incorporated and its subsidiaries. +All rights reserved. + +REDISTRIBUTION: Permission is hereby granted by Microchip Technology +Incorporated (Microchip), free of any license fees, to any person obtaining a +copy of this firmware (the "Software"), to install, reproduce, copy and +distribute copies, in binary form, hexadecimal or equivalent formats only, the +Software and to permit persons to whom the Software is provided to do the same, +subject to the following conditions: + +* Any redistribution of the Software must reproduce the above copyright notice, + this license notice, and the following disclaimers and notices in the + documentation and/or other materials provided with the Software. + +* Neither the name of Microchip, its products nor the names of its suppliers + may be used to endorse or promote products derived from this Software without + specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +Limited patent license. Microchip grants a world-wide, royalty-free, +non-exclusive, revocable license under any patents that it now has or hereafter +may have, own or control related to the Software to make, have made, use, +import, offer to sell and sell ("Utilize") this Software, but solely to the +extent that any such patent is necessary to Utilize the Software in conjunction +with Microchip processors. The patent license shall not apply to any other +combinations which include this Software nor to any other Microchip patents or +patent rights. No hardware per se is licensed hereunder. + +DISCLAIMER: THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.moxa b/LICENCE.moxa new file mode 100644 index 0000000..120017b --- /dev/null +++ b/LICENCE.moxa @@ -0,0 +1,16 @@ +The software accompanying this license statement (the “Software”) +is the property of Moxa Inc. (the “Moxa”), and is protected by +United States and International Copyright Laws and International +treaty provisions. No ownership rights are granted by this +Agreement or possession of the Software. Therefore, you must treat +the Licensed Software like any other copyrighted material. Your +rights and obligations in its use are described as follows: + +1. You may freely redistribute this software under this license. +2. You may freely download and use this software on Moxa's device. +3. You may not modify or attempt to reverse engineer the software, or + make any attempt to change or even examine the source code of the + software. +4. You may not re-license or sub-license the software to any person or + business, using any other license. +5. Moxa(r) is worldwide registered trademark. diff --git a/LICENCE.myri10ge_firmware b/LICENCE.myri10ge_firmware new file mode 100644 index 0000000..8184023 --- /dev/null +++ b/LICENCE.myri10ge_firmware @@ -0,0 +1,28 @@ +/******************************************************************************* + +Copyright (c) 2006-2010, Myricom Inc. +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. Neither the name of the Myricom Inc, nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +***************************************************************************/ diff --git a/LICENCE.nvidia b/LICENCE.nvidia new file mode 100644 index 0000000..b99d5a3 --- /dev/null +++ b/LICENCE.nvidia @@ -0,0 +1,131 @@ + License For Customer Use of NVIDIA Software + + +IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of +NVIDIA Software ("LICENSE") is the agreement which governs use of +the software of NVIDIA Corporation and its subsidiaries ("NVIDIA") +downloadable herefrom, including computer software and associated +printed materials ("SOFTWARE"). By downloading, installing, copying, +or otherwise using the SOFTWARE, you agree to be bound by the terms +of this LICENSE. If you do not agree to the terms of this LICENSE, +do not download the SOFTWARE. + +RECITALS + +Use of NVIDIA's products requires three elements: the SOFTWARE, the +hardware, and a personal computer. The SOFTWARE is protected by copyright +laws and international copyright treaties, as well as other intellectual +property laws and treaties. The SOFTWARE may be protected by various +patents, and is not sold, and instead is only licensed for use, strictly +in accordance with this document. The hardware is protected by various +patents, and is sold, but this agreement does not cover that sale, since +it may not necessarily be sold as a package with the SOFTWARE. This +agreement sets forth the terms and conditions of the SOFTWARE LICENSE only. + +1. DEFINITIONS + +1.1 Customer. Customer means the entity or individual that +downloads or otherwise obtains the SOFTWARE. + +2. GRANT OF LICENSE + +2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer +the following non-exclusive, non-transferable right to use the +SOFTWARE, with the following limitations: + +2.1.1 Rights. Customer may install and use multiple copies of the +SOFTWARE on a shared computer or concurrently on different computers, +and make multiple back-up copies of the SOFTWARE, solely for Customer's +use within Customer's Enterprise. "Enterprise" shall mean individual use +by Customer or any legal entity (such as a corporation or university) +and the subsidiaries it owns by more than fifty percent (50%). + +2.1.2 Open Source Exception. Notwithstanding the foregoing terms +of Section 2.1.1, SOFTWARE may be copied and redistributed solely for +use on operating systems distributed under the terms of an OSI-approved +open source license as listed by the Open Source Initiative at +http://opensource.org, provided that the binary files thereof are not +modified, and Customer provides a copy of this license with the SOFTWARE. + +2.1.3 Limitations. + +No Reverse Engineering. Customer may not reverse engineer, +decompile, or disassemble the SOFTWARE, nor attempt in any other +manner to obtain the source code. + +Usage. SOFTWARE is licensed only for use with microprocessor(s) which have +been (i) designed by NVIDIA and (ii) either (a) sold by or (b) licensed by +NVIDIA. Customer shall not use SOFTWARE in conjunction with, nor cause +SOFTWARE to be executed by, any other microprocessor. + +No Translation. Customer shall not translate SOFTWARE, nor cause or permit +SOFTWARE to be translated, from the architecture or language in which it is +originally provided by NVIDIA, into any other architecture or language. + +No Rental. Customer may not rent or lease the SOFTWARE to someone +else. + +3. TERMINATION + +This LICENSE will automatically terminate if Customer fails to +comply with any of the terms and conditions hereof. In such event, +Customer must destroy all copies of the SOFTWARE and all of its +component parts. + +Defensive Suspension. If Customer commences or participates in any legal +proceeding against NVIDIA, then NVIDIA may, in its sole discretion, +suspend or terminate all license grants and any other rights provided +under this LICENSE during the pendency of such legal proceedings. + +4. COPYRIGHT + +All title and copyrights in and to the SOFTWARE (including but +not limited to all images, photographs, animations, video, audio, +music, text, and other information incorporated into the SOFTWARE), +the accompanying printed materials, and any copies of the SOFTWARE, +are owned by NVIDIA, or its suppliers. The SOFTWARE is protected +by copyright laws and international treaty provisions. Accordingly, +Customer is required to treat the SOFTWARE like any other copyrighted +material, except as otherwise allowed pursuant to this LICENSE +and that it may make one copy of the SOFTWARE solely for backup or +archive purposes. + +5. APPLICABLE LAW + +This agreement shall be deemed to have been made in, and shall be +construed pursuant to, the laws of the State of California. + +6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY + +6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE +LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA AND ITS SUPPLIERS +DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. + +6.2 No Liability for Consequential Damages. TO THE MAXIMUM +EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL NVIDIA OR +ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR +CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, +DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS +OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT +OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. MISCELLANEOUS + +The United Nations Convention on Contracts for the International +Sale of Goods is specifically disclaimed. If any provision of this +LICENSE is inconsistent with, or cannot be fully enforced under, +the law, such provision will be construed as limited to the extent +necessary to be consistent with and fully enforceable under the law. +This agreement is the final, complete and exclusive agreement between +the parties relating to the subject matter hereof, and supersedes +all prior or contemporaneous understandings and agreements relating +to such subject matter, whether oral or written. Customer agrees +that it will not ship, transfer or export the SOFTWARE into any +country, or use the SOFTWARE in any manner, prohibited by the +United States Bureau of Export Administration or any export laws, +restrictions or regulations. This LICENSE may only be modified in +writing signed by an authorized officer of NVIDIA. + diff --git a/LICENCE.open-ath9k-htc-firmware b/LICENCE.open-ath9k-htc-firmware new file mode 100644 index 0000000..36655b7 --- /dev/null +++ b/LICENCE.open-ath9k-htc-firmware @@ -0,0 +1,206 @@ +This is a concatenation of LICENCE.txt and NOTICE.txt from the +open-ath9k-htc-firmware repository describing licensing terms for the +firmware image and its sources. + +The source code repository is publicly available at +https://github.com/qca/open-ath9k-htc-firmware . + + +LICENCE.txt +----------- + +Files with a Qualcomm Atheros / Atheros licence fall under the following +licence. Please see NOTICES.TXT for information about other files in this +repository. + +---- + +Copyright (c) 2013 Qualcomm Atheros, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted (subject to the limitations in the +disclaimer below) provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the + distribution. + + * Neither the name of Qualcomm Atheros nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE +GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT +HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---- + + +NOTICE.TXT +---------- + +This NOTICE.TXT file contains certain notices of software components included +with the software that QUALCOMM ATHEROS Incorporated ('Qualcomm Atheros') is +required to provide you. Notwithstanding anything in the notices in this file, +your use of these software components together with the Qualcomm Atheros +software (Qualcomm Atheros software hereinafter referred to as 'Software') is +subject to the terms of your license from Qualcomm Atheros. Compliance with +all copyright laws and software license agreements included in the notice +section of this file are the responsibility of the user. Except as may be +granted by separate express written agreement, this file provides no license +to any Qualcomm Atheros patents, trademarks, copyrights, or other intellectual +property. + +Copyright (c) 2013 QUALCOMM ATHEROS Incorporated. All rights reserved. + +QUALCOMM ATHEROS is a registered trademark and registered service mark of +QUALCOMM ATHEROS Incorporated. All other trademarks and service marks are +the property of their respective owners. + +NOTICES: + +/* + * Copyright (c) 2005-2012 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* + * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2005 Atheros Communications, Inc. + * Copyright (c) 2008-2010, Atheros Communications Inc. + * + * Redistribution and use in source and binary forms are permitted + * provided that the following conditions are met: + * 1. The materials contained herein are unmodified and are used + * unmodified. + * 2. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following NO + * ''WARRANTY'' disclaimer below (''Disclaimer''), without + * modification. + * 3. Redistributions in binary form must reproduce at minimum a + * disclaimer similar to the Disclaimer below and any redistribution + * must be conditioned upon including a substantially similar + * Disclaimer requirement for further binary redistribution. + * 4. Neither the names of the above-listed copyright holders nor the + * names of any contributors may be used to endorse or promote + * product derived from this software without specific prior written + * permission. + * + * 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. + */ + +---- + +The following files are from ECoS with a GPLv2 licence with modification +and linking caveats. Please see the licence below for more information: + +target_firmware/magpie_fw_dev/build/magpie_1_1/sboot/cmnos/printf/src/cmnos_printf.c +target_firmware/magpie_fw_dev/target/cmnos/cmnos_printf.c +target_firmware/magpie_fw_dev/target/cmnos/k2_fw_cmnos_printf.c + +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2002 Gary Thomas +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### + +---- + +Some of the source code is sourced from Tensilica, Inc. + +Although most of the files fall under the MIT licence, some of the source +files generated as part of the system development have a proprietary +Tensilica licence. + +With permission from Tensilica, Inc, these files have been relicenced +under the following licence: + +/* + * Copyright (c) 2013 Tensilica Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ diff --git a/LICENCE.phanfw b/LICENCE.phanfw new file mode 100644 index 0000000..8f7782f --- /dev/null +++ b/LICENCE.phanfw @@ -0,0 +1,32 @@ +Copyright © 2003-2013 QLogic Corporation +QLogic Linux Intelligent Ethernet (3000 and 3100 Series) Adapter Firmware + +Redistribution and use in binary form, without modification, for use in +conjunction with QLogic authorized products is permitted provided that the +following conditions are met: + +1. Redistribution in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +2. The name of QLogic Corporation may not be used to endorse or promote products + derived from this software without specific prior written permission. +3. Reverse engineering, decompilation, or disassembly of this firmware is not + permitted. + +REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,THIS PROGRAM IS +PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT CREATE OR GIVE +GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL +PROPERTY RIGHTS (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER +PROPRIETARY RIGHT) EMBODIED IN ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER +SOLELY OR IN COMBINATION WITH THIS PROGRAM. diff --git a/LICENCE.qat_firmware b/LICENCE.qat_firmware new file mode 100644 index 0000000..75a4ff1 --- /dev/null +++ b/LICENCE.qat_firmware @@ -0,0 +1,36 @@ +Copyright (c) 2014-2023 Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone. The patent +license shall not apply to any other combinations which include this +software. No hardware per se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.qla1280 b/LICENCE.qla1280 new file mode 100644 index 0000000..00cd353 --- /dev/null +++ b/LICENCE.qla1280 @@ -0,0 +1,23 @@ +Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 QLogic, Inc. +All rights reserved. + +Redistribution and use in source and binary forms are permitted provided +that the following conditions are met: +1. Redistribution of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistribution in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. diff --git a/LICENCE.qla2xxx b/LICENCE.qla2xxx new file mode 100644 index 0000000..6b3d8ff --- /dev/null +++ b/LICENCE.qla2xxx @@ -0,0 +1,31 @@ +Copyright (c) 2003-2017 QLogic Corporation +QLogic Linux Fibre Channel Adapter Firmware + +Redistribution and use in binary form, without modification, for use in conjunction +with QLogic authorized products is permitted provided that the following conditions +are met: + +1. Redistribution in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +2. The name of QLogic Corporation may not be used to endorse or promote products + derived from this software without specific prior written permission. +3. Reverse engineering, decompilation, or disassembly of this firmware is not + permitted. + +REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,THIS PROGRAM IS +PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT CREATE OR GIVE +GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL +PROPERTY RIGHTS (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY +RIGHT) EMBODIED IN ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN +COMBINATION WITH THIS PROGRAM. diff --git a/LICENCE.r8a779x_usb3 b/LICENCE.r8a779x_usb3 new file mode 100644 index 0000000..e2afcc9 --- /dev/null +++ b/LICENCE.r8a779x_usb3 @@ -0,0 +1,26 @@ +Copyright (c) 2014, Renesas Electronics Corporation +All rights reserved. + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + +1. Redistribution in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +2. The name of Renesas Electronics Corporation may not be used to endorse or + promote products derived from this software without specific prior written + permission. +3. Reverse engineering, decompilation, or disassembly of this software is + not permitted. + +THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS ELECTRONICS CORPORATION DISCLAIMS +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL RENESAS ELECTRONICS +CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.ralink-firmware.txt b/LICENCE.ralink-firmware.txt new file mode 100644 index 0000000..18dd038 --- /dev/null +++ b/LICENCE.ralink-firmware.txt @@ -0,0 +1,39 @@ +Copyright (c) 2007, Ralink Technology Corporation +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Ralink Technology Corporation nor the names of its + suppliers may be used to endorse or promote products derived from this + software without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Ralink Technology Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.ralink_a_mediatek_company_firmware b/LICENCE.ralink_a_mediatek_company_firmware new file mode 100644 index 0000000..fef16b6 --- /dev/null +++ b/LICENCE.ralink_a_mediatek_company_firmware @@ -0,0 +1,39 @@ +Copyright (c) 2013, Ralink, A MediaTek Company +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Ralink Technology Corporation nor the names of its + suppliers may be used to endorse or promote products derived from this + software without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Ralink Technology Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.rockchip b/LICENCE.rockchip new file mode 100644 index 0000000..d23b4c4 --- /dev/null +++ b/LICENCE.rockchip @@ -0,0 +1,41 @@ +Copyright (c) 2016, Fuzhou Rockchip Electronics Co.Ltd +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +* Neither the name of Fuzhou Rockchip Electronics Co.Ltd, its products + nor the names of its suppliers may be used to endorse or promote products + derived from this Software without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Fuzhou Rockchip Electronics Co.Ltd grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.rtlwifi_firmware.txt b/LICENCE.rtlwifi_firmware.txt new file mode 100644 index 0000000..d70921f --- /dev/null +++ b/LICENCE.rtlwifi_firmware.txt @@ -0,0 +1,39 @@ +Copyright (c) 2010, Realtek Semiconductor Corporation +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Realtek Semiconductor Corporation nor the names of its + suppliers may be used to endorse or promote products derived from this + software without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Realtek Semiconductor Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENCE.siano b/LICENCE.siano new file mode 100644 index 0000000..97e5440 --- /dev/null +++ b/LICENCE.siano @@ -0,0 +1,31 @@ +FIRMWARE LICENSE TERMS + +Copyright (c) 2005-2014 Siano Mobile Silicon Ltd. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the +following disclaimer in the documentation and/or other materials +provided with the distribution. + +* Neither the name of Siano Mobile Silicon Ltd. nor the names of its +suppliers may be used to endorse or promote products derived from this +software without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this software +is permitted. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE diff --git a/LICENCE.ti-connectivity b/LICENCE.ti-connectivity new file mode 100644 index 0000000..22f617f --- /dev/null +++ b/LICENCE.ti-connectivity @@ -0,0 +1,61 @@ +Copyright (c) 2016 Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +license under copyrights and patents it now or hereafter owns or controls to +make, have made, use, import, offer to sell and sell ("Utilize") this software +subject to the terms herein. With respect to the foregoing patent license, such +license is granted solely to the extent that any such patent is necessary to +Utilize the software alone. The patent license shall not apply to any +combinations which include this software, other than combinations with devices +manufactured by or for TI (“TI Devices”). No hardware patent is licensed +hereunder. + +Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer and +(if applicable) source code license limitations below) in the documentation +and/or other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + + * No reverse engineering, decompilation, or disassembly of this + software is permitted with respect to any software provided in binary + form. + + * any redistribution and use are licensed by TI for use only with TI + Devices. + + * Nothing shall obligate TI to provide you with source code for the + software licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution of +the source code are permitted provided that the following conditions are met: + + * any redistribution and use of the source code, including any + resulting derivative works, are licensed by TI for use only with TI + Devices. + + * any redistribution and use of any object code compiled from the + source code and any resulting derivative works, are licensed by TI + for use only with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this +software without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI’S LICENSORS "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 TI AND TI’S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.ti-keystone b/LICENCE.ti-keystone new file mode 100644 index 0000000..62cc3b3 --- /dev/null +++ b/LICENCE.ti-keystone @@ -0,0 +1,61 @@ +Copyright (c) 2015 Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +license under copyrights and patents it now or hereafter owns or controls to +make, have made, use, import, offer to sell and sell ("Utilize") this software +subject to the terms herein. With respect to the foregoing patent license, such +license is granted solely to the extent that any such patent is necessary to +Utilize the software alone. The patent license shall not apply to any +combinations which include this software, other than combinations with devices +manufactured by or for TI (“TI Devices”). No hardware patent is licensed +hereunder. + +Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer and +(if applicable) source code license limitations below) in the documentation +and/or other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + + * No reverse engineering, decompilation, or disassembly of this + software is permitted with respect to any software provided in binary + form. + + * any redistribution and use are licensed by TI for use only with TI + Devices. + + * Nothing shall obligate TI to provide you with source code for the + software licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution of +the source code are permitted provided that the following conditions are met: + + * any redistribution and use of the source code, including any + resulting derivative works, are licensed by TI for use only with TI + Devices. + + * any redistribution and use of any object code compiled from the + source code and any resulting derivative works, are licensed by TI + for use only with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this +software without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI’S LICENSORS "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 TI AND TI’S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.ti-tspa b/LICENCE.ti-tspa new file mode 100644 index 0000000..728fc2b --- /dev/null +++ b/LICENCE.ti-tspa @@ -0,0 +1,46 @@ +TI TSPA License +TECHNOLOGY AND SOFTWARE PUBLICLY AVAILABLE +SOFTWARE LICENSE + +Copyright (c) 2020, Texas Instruments Incorporated. + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +license under copyrights and patents it now or hereafter owns or controls to +make, have made, use, import, offer to sell and sell ("Utilize") this software, +but solely to the extent that any such patent is necessary to Utilize the +software alone. The patent license shall not apply to any combinations which +include this software. No hardware per se is licensed hereunder. + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + +* Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer below) in the +documentation and/or other materials provided with the distribution. + +* Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this software +without specific prior written permission. + +* No reverse engineering, decompilation, or disassembly of this software is +permitted. + +* Nothing shall obligate TI to provide you with source code for the software +licensed and provided to you in object code. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI’S LICENSORS "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 TI AND TI’S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.ueagle-atm4-firmware b/LICENCE.ueagle-atm4-firmware new file mode 100644 index 0000000..333675d --- /dev/null +++ b/LICENCE.ueagle-atm4-firmware @@ -0,0 +1,39 @@ +This license applies to eagle4 firmware & DSPcode +namely, the files eagleIV.fw DSP4p.bin* + +| Copyright (2006) Ikanos Communications, Inc. +| +| Redistribution and use in source and binary forms, with or without +| modification, are permitted provided that the following +| conditions are met: +| +| * Redistribution of source code must retain the above copyright +| notice, this list of conditions and the following disclaimer. +| +| * Redistribution in binary form must reproduce the above +| copyright notice, this list of conditions and the following +| disclaimer in the documentation and/or other materials provided +| with the distribution. +| +| * The name of Ikanos Corporation may not be used to endorse +| or promote products derived from this source code without specific +| prior written consent of Ikanos Corporation. +| +| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +| USER ACKNOWLEDGES AND AGREES THAT THE PURCHASE OR USE OF THIS SOFTWARE WILL +| NOT CREATE OR GIVE GROUNDS FOR A +| LICENSE BY IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL +| PROPERTY RIGHTS (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER +| PROPRIETARY RIGHT) EMBODIED IN ANY OTHER IKANOS HARDWARE OR SOFTWARE +| EITHER SOLELY OR IN COMBINATION WITH THIS SOFTWARE. + diff --git a/LICENCE.via_vt6656 b/LICENCE.via_vt6656 new file mode 100644 index 0000000..f231f98 --- /dev/null +++ b/LICENCE.via_vt6656 @@ -0,0 +1,25 @@ +The following license applies to the binary-only VT6656 firmware +as contained in the file "vntwusb.fw" +================================================================ +Copyright 1998-2010 VIA Technologies, Inc. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/LICENCE.wl1251 b/LICENCE.wl1251 new file mode 100644 index 0000000..bd0f5f1 --- /dev/null +++ b/LICENCE.wl1251 @@ -0,0 +1,59 @@ +Copyright (c) 2000 – 2013 Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + +Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +license under copyrights and patents it now or hereafter owns or controls to +make, have made, use, import, offer to sell and sell ("Utilize") this software +subject to the terms herein. With respect to the foregoing patent license, +such license is granted solely to the extent that any such patent is necessary +to Utilize the software alone. The patent license shall not apply to any +combinations which include this software, other than combinations with devices +manufactured by or for TI (“TI Devices”). No hardware patent is licensed +hereunder. + +Redistributions must preserve existing copyright notices and reproduce this +license (including the above copyright notice and the disclaimer and (if +applicable) source code license limitations below) in the documentation and/or +other materials provided with the distribution + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: + +* No reverse engineering, decompilation, or disassembly of this software + is permitted with respect to any software provided in binary form. + +* any redistribution and use are licensed by TI for use only with TI + Devices. + +* Nothing shall obligate TI to provide you with source code for the + software licensed and provided to you in object code. + +If software source code is provided to you, modification and redistribution of +the source code are permitted provided that the following conditions are met: + +* any redistribution and use of the source code, including any resulting + derivative works, are licensed by TI for use only with TI Devices. + +* any redistribution and use of any object code compiled from the source + code and any resulting derivative works, are licensed by TI for use + only with TI Devices. + +Neither the name of Texas Instruments Incorporated nor the names of its +suppliers may be used to endorse or promote products derived from this software +without specific prior written permission. + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY TI AND TI’S LICENSORS "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 TI AND TI’S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENCE.xc4000 b/LICENCE.xc4000 new file mode 100644 index 0000000..e3cd261 --- /dev/null +++ b/LICENCE.xc4000 @@ -0,0 +1,23 @@ +The following XC4000 firmware file "dvb-fe-xc4000-1.4.1.fw" was +created based on version 1.4 of "xc4000_firmwares.h". + +Firmware provided as part of an XC4000 Linux developers kit by Brian +Mathews to Devin Heitmueller + on July 1, 2009. + +The code was released by Xceive under the following license: + +// Copyright (c) 2009, Xceive Corporation +// +// Permission to use, copy, modify, and/or distribute this software, only +// for use with Xceive ICs, for any purpose with or without fee is hereby +// granted, provided that the above copyright notice and this permission +// notice appear in all source code copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENCE.xc5000 b/LICENCE.xc5000 new file mode 100644 index 0000000..0ac8557 --- /dev/null +++ b/LICENCE.xc5000 @@ -0,0 +1,23 @@ +The following XC500 firmware file "dvb-fe-xc5000-1.6.114.fw" was +created based on "xc5000_firmwares_32000Khz.h". + +Firmware provided as part of an XC5000 Linux developers kit by Brian +Mathews to Devin Heitmueller +on July 1, 2009. + +The code was released by Xceive under the following license: + +// Copyright (c) 2009, Xceive Corporation +// +// Permission to use, copy, modify, and/or distribute this software, only +// for use with Xceive ICs, for any purpose with or without fee is hereby +// granted, provided that the above copyright notice and this permission +// notice appear in all source code copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENCE.xc5000c b/LICENCE.xc5000c new file mode 100644 index 0000000..23b81e7 --- /dev/null +++ b/LICENCE.xc5000c @@ -0,0 +1,23 @@ +The following XC500C firmware file "dvb-fe-xc5000C-4.1.30.7.fw" was created +based on "Xc5200_firmwares_32000Khz.h". + +Firmware provided as part of an XC5000C Linux developers kit by Ramon Cazares + to Devin Heitmueller dheitmueller@linuxtv.org +on July 25, 2012. + +The code was released by Cresta Technology under the following license: + +// Copyright (c) 2012, Cresta Technology Corporation +// +// Permission to use, copy, modify, and/or distribute this software, only +// for use with Cresta Technlogy ICs, for any purpose with or without fee is +// hereby granted, provided that the above copyright notice and this +// permission notice appear in all source code copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSE.Lontium b/LICENSE.Lontium new file mode 100644 index 0000000..2989473 --- /dev/null +++ b/LICENSE.Lontium @@ -0,0 +1,2 @@ +Lontium Semiconductor Corp. grants permission to use and redistribute aforementioned firmware file for the use with devices containing Lontium chipsets, but not as part of the Linux kernel or in any other form which would require the file itself to be covered by the terms of the GNU General Public License or the GNU Lesser General Public License. +The firmware file is distributed in the hope that it will be useful, but is provided WITHOUT ANY WARRANTY, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/LICENSE.QualcommAtheros_ar3k b/LICENSE.QualcommAtheros_ar3k new file mode 100644 index 0000000..7fae632 --- /dev/null +++ b/LICENSE.QualcommAtheros_ar3k @@ -0,0 +1,47 @@ +Copyright (c) 2015, Qualcomm Atheros, Inc. +All rights reserved. + +Redistribution. Reproduction and redistribution in binary form, without +modification, for use solely in conjunction with a Qualcomm Atheros, Inc. +chipset, is permitted provided that the following conditions are met: + + • Redistributions must reproduce the above copyright notice and the following + disclaimer in the documentation and/or other materials provided with the + distribution. + + • Neither the name of Qualcomm Atheros, Inc. nor the names of its suppliers + may be used to endorse or promote products derived from this Software + without specific prior written permission. + + • No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +Limited patent license. Qualcomm Atheros, Inc. (“Licensor”) grants you +(“Licensee”) a limited, worldwide, royalty-free, non-exclusive license under +the Patents to make, have made, use, import, offer to sell and sell the +Software. No hardware per se is licensed hereunder. +The term “Patents” as used in this agreement means only those patents or patent +applications owned solely and exclusively by Licensor as of the date of +Licensor’s submission of the Software and any patents deriving priority (i.e., +having a first effective filing date) therefrom. The term “Software” as used in +this agreement means the firmware image submitted by Licensor, under the terms +of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/ +linux-firmware.git. +Notwithstanding anything to the contrary herein, Licensor does not grant and +Licensee does not receive, by virtue of this agreement or the Licensor’s +submission of any Software, any license or other rights under any patent or +patent application owned by any affiliate of Licensor or any other entity +(other than Licensor), whether expressly, impliedly, by virtue of estoppel or +exhaustion, or otherwise. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.QualcommAtheros_ath10k b/LICENSE.QualcommAtheros_ath10k new file mode 100644 index 0000000..c68935c --- /dev/null +++ b/LICENSE.QualcommAtheros_ath10k @@ -0,0 +1,47 @@ +Copyright (c) 2015-2017, Qualcomm Atheros, Inc. +All rights reserved. + +Redistribution. Reproduction and redistribution in binary form, without +modification, for use solely in conjunction with a Qualcomm Atheros, Inc. +chipset, is permitted provided that the following conditions are met: + + • Redistributions must reproduce the above copyright notice and the following + disclaimer in the documentation and/or other materials provided with the + distribution. + + • Neither the name of Qualcomm Atheros, Inc. nor the names of its suppliers + may be used to endorse or promote products derived from this Software + without specific prior written permission. + + • No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +Limited patent license. Qualcomm Atheros, Inc. (“Licensor”) grants you +(“Licensee”) a limited, worldwide, royalty-free, non-exclusive license under +the Patents to make, have made, use, import, offer to sell and sell the +Software. No hardware per se is licensed hereunder. +The term “Patents” as used in this agreement means only those patents or patent +applications owned solely and exclusively by Licensor as of the date of +Licensor’s submission of the Software and any patents deriving priority (i.e., +having a first effective filing date) therefrom. The term “Software” as used in +this agreement means the firmware image submitted by Licensor, under the terms +of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/ +linux-firmware.git. +Notwithstanding anything to the contrary herein, Licensor does not grant and +Licensee does not receive, by virtue of this agreement or the Licensor’s +submission of any Software, any license or other rights under any patent or +patent application owned by any affiliate of Licensor or any other entity +(other than Licensor), whether expressly, impliedly, by virtue of estoppel or +exhaustion, or otherwise. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.amd-sev b/LICENSE.amd-sev new file mode 100644 index 0000000..de4d948 --- /dev/null +++ b/LICENSE.amd-sev @@ -0,0 +1,64 @@ +Copyright (C) 2015-2019 Advanced Micro Devices, Inc., All rights reserved. + +Permission is hereby granted by Advanced Micro Devices, Inc. ("AMD"), +free of any license fees, to any person obtaining a copy of this +microcode in binary form (the "Software") ("You"), to install, +reproduce, copy and distribute copies of the Software and to permit +persons to whom the Software is provided to do the same, subject to +the following terms and conditions. Your use of any portion of the +Software shall constitute Your acceptance of the following terms and +conditions. If You do not agree to the following terms and conditions, +do not use, retain or redistribute any portion of the Software. + +If You redistribute this Software, You must reproduce the above +copyright notice and this license with the Software. +Without specific, prior, written permission from AMD, You may not +reference AMD or AMD products in the promotion of any product derived +from or incorporating this Software in any manner that implies that +AMD endorses or has certified such product derived from or +incorporating this Software. + +You may not reverse engineer, decompile, or disassemble this Software +or any portion thereof. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF +MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR +PURPOSE, OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR +USAGE OF TRADE. IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR +ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF DATA OR +INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE, GROSS NEGLIGENCE, THE +USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS +PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR +INCIDENTAL DAMAGES OR THE EXCLUSION OF IMPLIED WARRANTIES, THE ABOVE +LIMITATION MAY NOT APPLY TO YOU. + +Without limiting the foregoing, the Software may implement third party +technologies for which You must obtain licenses from parties other +than AMD. You agree that AMD has not obtained or conveyed to You, and +that You shall be responsible for obtaining the rights to use and/or +distribute the applicable underlying intellectual property rights +related to the third party technologies. These third party +technologies are not licensed hereunder. + +If You use the Software (in whole or in part), You shall adhere to all +applicable U.S., European, and other export laws, including but not +limited to the U.S. Export Administration Regulations ("EAR"), (15 +C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No +1334/2000 of 22 June 2000. Further, pursuant to Section 740.6 of the +EAR, You hereby certify that, except pursuant to a license granted by +the United States Department of Commerce Bureau of Industry and +Security or as otherwise permitted pursuant to a License Exception +under the U.S. Export Administration Regulations ("EAR"), You will not +(1) export, re-export or release to a national of a country in Country +Groups D:1, E:1 or E:2 any restricted technology, software, or source +code You receive hereunder, or (2) export to Country Groups D:1, E:1 +or E:2 the direct product of such technology or software, if such +foreign produced direct product is subject to national security +controls as identified on the Commerce Control List (currently found +in Supplement 1 to Part 774 of EAR). For the most current Country +Group listings, or for additional information about the EAR or Your +obligations under those regulations, please refer to the U.S. Bureau +of Industry and Security’s website at ttp://www.bis.doc.gov/. diff --git a/LICENSE.amd-ucode b/LICENSE.amd-ucode new file mode 100644 index 0000000..ea47c57 --- /dev/null +++ b/LICENSE.amd-ucode @@ -0,0 +1,64 @@ +Copyright (C) 2010-2022 Advanced Micro Devices, Inc., All rights reserved. + +Permission is hereby granted by Advanced Micro Devices, Inc. ("AMD"), +free of any license fees, to any person obtaining a copy of this +microcode in binary form (the "Software") ("You"), to install, +reproduce, copy and distribute copies of the Software and to permit +persons to whom the Software is provided to do the same, subject to +the following terms and conditions. Your use of any portion of the +Software shall constitute Your acceptance of the following terms and +conditions. If You do not agree to the following terms and conditions, +do not use, retain or redistribute any portion of the Software. + +If You redistribute this Software, You must reproduce the above +copyright notice and this license with the Software. +Without specific, prior, written permission from AMD, You may not +reference AMD or AMD products in the promotion of any product derived +from or incorporating this Software in any manner that implies that +AMD endorses or has certified such product derived from or +incorporating this Software. + +You may not reverse engineer, decompile, or disassemble this Software +or any portion thereof. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF +MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR +PURPOSE, OR WARRANTIES ARISING FROM CONDUCT, COURSE OF DEALING, OR +USAGE OF TRADE. IN NO EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR +ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR +LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF DATA OR +INFORMATION) ARISING OUT OF AMD'S NEGLIGENCE, GROSS NEGLIGENCE, THE +USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS +PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR +INCIDENTAL DAMAGES OR THE EXCLUSION OF IMPLIED WARRANTIES, THE ABOVE +LIMITATION MAY NOT APPLY TO YOU. + +Without limiting the foregoing, the Software may implement third party +technologies for which You must obtain licenses from parties other +than AMD. You agree that AMD has not obtained or conveyed to You, and +that You shall be responsible for obtaining the rights to use and/or +distribute the applicable underlying intellectual property rights +related to the third party technologies. These third party +technologies are not licensed hereunder. + +If You use the Software (in whole or in part), You shall adhere to all +applicable U.S., European, and other export laws, including but not +limited to the U.S. Export Administration Regulations ("EAR"), (15 +C.F.R. Sections 730 through 774), and E.U. Council Regulation (EC) No +1334/2000 of 22 June 2000. Further, pursuant to Section 740.6 of the +EAR, You hereby certify that, except pursuant to a license granted by +the United States Department of Commerce Bureau of Industry and +Security or as otherwise permitted pursuant to a License Exception +under the U.S. Export Administration Regulations ("EAR"), You will not +(1) export, re-export or release to a national of a country in Country +Groups D:1, E:1 or E:2 any restricted technology, software, or source +code You receive hereunder, or (2) export to Country Groups D:1, E:1 +or E:2 the direct product of such technology or software, if such +foreign produced direct product is subject to national security +controls as identified on the Commerce Control List (currently found +in Supplement 1 to Part 774 of EAR). For the most current Country +Group listings, or for additional information about the EAR or Your +obligations under those regulations, please refer to the U.S. Bureau +of Industry and Security?s website at ttp://www.bis.doc.gov/. diff --git a/LICENSE.amdgpu b/LICENSE.amdgpu new file mode 100644 index 0000000..349e207 --- /dev/null +++ b/LICENSE.amdgpu @@ -0,0 +1,51 @@ +Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved. + +REDISTRIBUTION: Permission is hereby granted, free of any license fees, +to any person obtaining a copy of this microcode (the "Software"), to +install, reproduce, copy and distribute copies, in binary form only, of +the Software and to permit persons to whom the Software is provided to +do the same, provided that the following conditions are met: + +No reverse engineering, decompilation, or disassembly of this Software +is permitted. + +Redistributions must reproduce the above copyright notice, this +permission notice, and the following disclaimers and notices in the +Software documentation and/or other materials provided with the +Software. + +DISCLAIMER: THE USE OF THE SOFTWARE IS AT YOUR SOLE RISK. THE SOFTWARE +IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND AND COPYRIGHT +HOLDER AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS AND +IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +COPYRIGHT HOLDER AND ITS LICENSORS DO NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE +UNINTERRUPTED OR ERROR-FREE. THE ENTIRE RISK ASSOCIATED WITH THE USE OF +THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, COPYRIGHT HOLDER AND ITS +LICENSORS DO NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE +OR THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS, +ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. + +DISCLAIMER: UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL COPYRIGHT +HOLDER AND ITS LICENSORS OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS +("AUTHORIZED REPRESENTATIVES") BE LIABLE FOR ANY INCIDENTAL, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS +PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE +LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE, +BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED +INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL +PROPERTY RIGHT EVEN IF COPYRIGHT HOLDER AND ITS AUTHORIZED +REPRESENTATIVES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN +NO EVENT SHALL COPYRIGHT HOLDER OR ITS AUTHORIZED REPRESENTATIVES TOTAL +LIABILITY FOR ALL DAMAGES, LOSSES, AND CAUSES OF ACTION (WHETHER IN +CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) EXCEED THE AMOUNT OF +US$10. + +Notice: The Software is subject to United States export laws and +regulations. You agree to comply with all domestic and international +export laws and regulations that apply to the Software, including but +not limited to the Export Administration Regulations administered by the +U.S. Department of Commerce and International Traffic in Arm Regulations +administered by the U.S. Department of State. These laws include +restrictions on destinations, end users and end use. diff --git a/LICENSE.amlogic_vdec b/LICENSE.amlogic_vdec new file mode 100644 index 0000000..ac48f20 --- /dev/null +++ b/LICENSE.amlogic_vdec @@ -0,0 +1,15 @@ +--------------------------------------------------------------------- +Amlogic Co., Inc. grants permission to use and redistribute +aforementioned firmware files for the use with devices containing +Amlogic chipsets, but not as part of the Linux kernel or in any other +form which would require these files themselves to be covered by the +terms of the GNU General Public License or the GNU Lesser General +Public License. + +These firmware files are distributed in the hope that they will be +useful, but are provided WITHOUT ANY WARRANTY, INCLUDING BUT NOT +LIMITED TO IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +Amlogic Contact: Arden Jin +--------------------------------------------------------------------- diff --git a/LICENSE.amphion_vpu b/LICENSE.amphion_vpu new file mode 100644 index 0000000..31840ec --- /dev/null +++ b/LICENSE.amphion_vpu @@ -0,0 +1,48 @@ +Copyright 2015, Amphion Semiconductor Ltd +Copyright 2021, NXP +All rights reserved. + +Redistribution. Reproduction and redistribution in binary form, without +modification, for use solely in conjunction with a NXP +chipset, is permitted provided that the following conditions are met: + + . Redistributions must reproduce the above copyright notice and the following + disclaimer in the documentation and/or other materials provided with the + distribution. + + . Neither the name of NXP nor the names of its suppliers + may be used to endorse or promote products derived from this Software + without specific prior written permission. + + . No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +Limited patent license. NXP (.Licensor.) grants you +(.Licensee.) a limited, worldwide, royalty-free, non-exclusive license under +the Patents to make, have made, use, import, offer to sell and sell the +Software. No hardware per se is licensed hereunder. +The term .Patents. as used in this agreement means only those patents or patent +applications owned solely and exclusively by Licensor as of the date of +Licensor.s submission of the Software and any patents deriving priority (i.e., +having a first effective filing date) therefrom. The term .Software. as used in +this agreement means the firmware image submitted by Licensor, under the terms +of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/ +linux-firmware.git. +Notwithstanding anything to the contrary herein, Licensor does not grant and +Licensee does not receive, by virtue of this agreement or the Licensor's +submission of any Software, any license or other rights under any patent or +patent application owned by any affiliate of Licensor or any other entity +(other than Licensor), whether expressly, impliedly, by virtue of estoppel or +exhaustion, or otherwise. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.atmel b/LICENSE.atmel new file mode 100644 index 0000000..5feb313 --- /dev/null +++ b/LICENSE.atmel @@ -0,0 +1,36 @@ +Copyright (C) 2015 Atmel Corporation. All rights reserved. + +REDISTRIBUTION: Permission is hereby granted by Atmel Corporation (Atmel), free +of any license fees, to any person obtaining a copy of this firmware (the +"Software"), to install, reproduce, copy and distribute copies, in binary form, +in hexadecimal or equivalent formats, of the Software and to permit persons to +whom the Software is provided to do the same, subject to the following +conditions: + +* Any redistribution of the Software must reproduce the above copyright notice, + this license notice, and the following disclaimers and notices in the + documentation and/or other materials provided with the Software. + +* Neither the name of Atmel Corporation, its products nor the names of its + suppliers may be used to endorse or promote products derived from this + Software without specific prior written permission. + +* All matters arising out of or in connection with this License and/or Software + shall be governed by California law and the parties agree to the exclusive + jurisdiction of the Californian courts to decide all disputes arising. + +* The licensee shall defend and indemnify Atmel against any and all claims, + costs, losses and damages (including reasonable legal fees) incurred by tme + arising out of any claim relating to the Software due to the licensee’s use or + sub-licensing of the Software + +DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.cirrus b/LICENSE.cirrus new file mode 100644 index 0000000..c9d7c22 --- /dev/null +++ b/LICENSE.cirrus @@ -0,0 +1,182 @@ +Use, distribution, or reproduction of this CIRRUS LOGIC software is governed by +the terms of this Agreement. Any use, distribution or reproduction of this +CIRRUS LOGIC software constitutes your acceptance of the following terms and +conditions. + +1. DEFINED TERMS + +“CIRRUS LOGIC” means either Cirrus Logic, Inc., a Delaware Corporation (for +licensees based in the United States), or Cirrus Logic International (UK) Ltd, a +company registered in Scotland (for licensees based outside the United States). + +“Licensee” means the party which has accepted these terms, including by +distributing, reproducing and/or using the Software. +“Software” means software provided to Licensee in binary code form, that runs or +is intended to run on a processor embedded in an end product (and related files +and documentation) (“Software”). + +2. GRANT OF LICENSE + +a. Subject to the terms, conditions, and limitations of this Agreement, CIRRUS +LOGIC grants to Licensee a non-exclusive , non-transferable license (the +“License”) to (i) use and integrate the Software with other software, and (ii) +reproduce and distribute the Software in its complete and unmodified form, +provided all use of the Software is in connection with CIRRUS LOGIC +semiconductor devices. These license rights do not automatically extend to any +third-party software within the Software for which a separate license is +required to enable use by the Licensee. Licensee must agree applicable license +terms with the relevant third-party licensors to use such software. +b. Licensee (i) shall not remove or obscure any copyright and/or trademark +notices from the Software, and (ii) shall maintain and reproduce all copyright +and other proprietary notices on any copy in the same form and manner that such +notices are included on the Software (except if the Software is embedded such +that it is not readily accessible to an end user). +c. Licensee may not make any modifications to the Software and may only +distribute the Software under the terms of this Agreement. Recipients of the +Software must be provided with a copy of this Agreement. + +3. TERMINATION + +a. This Agreement will automatically terminate if Licensee does not comply with +its terms. +b. In the event of termination: +i. Licensee must destroy all copies of the Software (and parts thereof), and all +Proprietary Information (as defined below), including any original, backup, or +archival copy that Licensee may have installed, downloaded, or recorded on any +medium. Upon written request from CIRRUS LOGIC, Licensee will certify in +writing that it has complied with this provision and has not retained any copies +of the Software or any Proprietary Information; +ii. the rights and licenses granted to Licensee under this Agreement will +immediately terminate; +iii. all rights and obligations under this Agreement which by their nature +should survive termination, will remain in full force and effect. + +4. OWNERSHIP, RIGHTS, USE LIMITATIONS, AND DUTIES + +a. CIRRUS LOGIC and/or its licensors own all proprietary rights in the Software. + Whilst this Agreement is in effect, Licensee hereby covenants that it will not +assert any claim that the Software infringes any intellectual property rights +owned or controlled by Licensee. +b. Other than as expressly set forth in this Agreement, CIRRUS LOGIC does not +grant, and Licensee does not receive, any ownership right, title or interest in +any intellectual property rights relating to the Software, nor in any copy of +any part of the foregoing. No license is granted to Licensee in any human +readable code of the Software (source code). +c. Licensee shall not (i) use, license, sell or otherwise distribute the +Software except as provided in this Agreement, (ii) attempt to modify in any +way, reverse engineer, decompile or disassemble any portion of the Software; or +(iii) use the Software or other material in violation of any applicable law or +regulation. +d. The Software is not intended or authorized for use in or with products for +which CIRRUS LOGIC semiconductor devices are not designed, tested or intended, +as detailed in the CIRRUS LOGIC Terms and Conditions of Sale, available at +www.cirrus.com/legal (as the same may be updated from time to time), which shall +apply to Licensee’s use of Software, insofar as relevant thereto. +e. CIRRUS LOGIC may require Licensee to cease using a version of the Software, +and may require use of an updated version, where (a) a third-party has claimed +that the Software infringes its intellectual property rights, and/or (b) for +technical reasons CIRRUS LOGIC is no longer able to permit ongoing use of the +version of the Software being used by Licensee. +f. If Licensee requests support, CIRRUS LOGIC has no obligation to provide any +such support but if it agrees to do so any such support will be on a reasonable +efforts basis. +g. Licensee shall keep complete and accurate records of its use of the Software +and shall, on request, promptly provide to CIRRUS LOGIC a certificate evidencing +the extent of such use. + +5. CONFIDENTIALITY + +a. Licensee may obtain or be provided with information relating to the Software, +including in documentation provided to it (“Proprietary Information”). Such +Proprietary Information shall belong solely to CIRRUS LOGIC and/or its +affiliates (or, as the case may be, relevant third parties). +b. During and after the term of this Agreement, Licensee agrees to maintain all +such Proprietary Information in strict confidence and to not use (except as +expressly authorized in this Agreement), disclose, or provide any third-party +with access to any Proprietary Information except under a written agreement with +terms at least as protective as the terms of this Agreement. Licensee also +agrees to exercise the same degree of care and diligence as it uses in respect +of its own confidential and proprietary information when dealing with CIRRUS +LOGIC Proprietary Information, and in any event no less than reasonable care and +diligence. +c. Information will not be considered Proprietary Information if (i) it becomes +public knowledge other than through any act or omission constituting a breach of +the Licensee’s obligations under this Agreement; (ii) the Licensee can prove it +was already in the Licensee’s possession and at its free disposal before the +disclosure hereunder; and (iii) it was received in good faith from a third party +having no obligation of confidentiality and which is free to disclose such +Confidential Information + +6. NO WARRANTIES OR LIABILITIES + +LICENSEE EXPRESSLY ACKNOWLEDGES AND AGREES THAT THE SOFTWARE IS PROVIDED BY +CIRRUS LOGIC “AS IS” WITHOUT ANY WARRANTIES WHATSOEVER AND THAT THE +INSTALLATION, OPERATION AND USE OF THE SOFTWARE IS AT LICENSEE’S OWN RISK. +CIRRUS LOGIC MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AND EXPRESSLY +DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE, GOOD TITLE, NON-INFRINGEMENT, SATISFACTORY QUALITY OR PERFORMANCE OR +WHICH MAY ARISE FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. CIRRUS LOGIC +PROVIDES NO WARRANTY THAT THE SOFTWARE IS FREE FROM DEFECTS OR CHARACTERISTICS +THAT COULD CAUSE VULNERABILITY TO CYBER-ATTACK, DATA BREACH OR PRIVACY +VIOLATIONS. CIRRUS LOGIC SHALL IN NO EVENT BE LIABLE TO LICENSEE OR ANYONE ELSE +FOR ANY LOSS, INJURY OR DAMAGE CAUSED IN WHOLE OR PART BY THE INSTALLATION, +OPERATION OR USE OF THE SOFTWARE, LICENSEE’S INCORRECT USE OF THE SOFTWARE +INCLUDING ANY FAILURE TO PROPERLY INSTALL ANY UPDATES TO THE SOFTWARE OR OTHER +SOFTWARE WITH WHICH THE SOFTWARE OPERATES OR WHICH IT UPDATES, OR IS INTENDED TO +OPERATE WITH OR UPDATE, OR THE RESULTS PRODUCED BY, OR FAILURES, DELAYS, OR +INTERRUPTIONS OF THE SOFTWARE. WITHOUT LIMITING THE FOREGOING GENERALITY, +CIRRUS LOGIC SHALL IN NO EVENT BE LIABLE WITH RESPECT TO ANY INTELLECTUAL +PROPERTY INFRINGEMENT CLAIMS WHICH ARISE FROM, OR IN ANY WAY RELATE TO, USE OF +THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ANY CLAIMS RELATING TO HAPTICS ON A +COMPONENT OR SYSTEM LEVEL. CIRRUS LOGIC AND ITS LICENSORS SHALL IN NO EVENT BE +LIABLE TO LICENSEE OR ANYONE ELSE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL OR +SPECIAL DAMAGES, INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS ARISING OUT OF OR +RELATING TO THE INSTALLATION, OPERATION OR USE OF THE SOFTWARE. BECAUSE SOME +JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN WARRANTIES OR +TYPES OF CLAIM OR LOSS THEN IN SUCH INSTANCES THE ABOVE EXCLUSIONS SHALL BE +INTERPRETED TO APPLY TO THE EXTENT PERMITTED BY LOCAL LAW. SUBJECT TO THE +FOREGOING, THE TOTAL LIABILITY OF CIRRUS LOGIC AND ITS LICENSORS TO LICENSEE +UNDER THIS AGREEMENT, AND/OR ARISING FROM, OR IN CONNECTION WITH, THE USE OF (OR +INABILITY TO USE) THE SOFTWARE, WHETHER ARISING IN CONTRACT, TORT (INCLUDING +NEGLIGENCE), QUASI TORT, OR OTHERWISE SHALL NOT EXCEED THE LICENSE FEES (IF ANY) +PAID BY LICENSEE FOR THE SOFTWARE THAT GAVE RISE TO THE CLAIM, OR TEN THOUSAND +U.S. DOLLARS (U.S. $10,000), WHICHEVER IS GREATER. + +7. EXPORT AND END USE RESTRICTIONS + +Licensee acknowledges that the Software is subject to United States and other +applicable export related laws and regulations (“Export Laws”). Licensee +agrees that it may not export, re-export or transfer the Software or any direct +product of the Software other than in accordance with those Export Laws. +Licensee further agrees to be bound by, and to act in accordance with, +provisions of the CIRRUS LOGIC Terms and Conditions of Sale available at +www.cirrus.com/legal (as updated from time to time), including insofar as they +relate to export/end use restrictions. + +8. GENERAL PROVISIONS + +This Agreement is not assignable or sub-licensable by Licensee without the prior +written consent of CIRRUS LOGIC. CIRRUS LOGIC may sub-license or assign any or +all of its rights and obligations under this Agreement without Licensee’s +consent. The waiver by either party of a breach of this Agreement shall not +constitute a waiver of any subsequent breach of this Agreement; nor shall any +delay to exercise any right under this Agreement operate as a waiver of such +right. This Agreement shall be deemed to have been made in, and shall be +construed pursuant to the laws of, the State of Texas without regard to +conflicts of laws provisions thereof. Both parties hereby consent to the +exclusive jurisdiction of the State of Texas and the locale of Austin therein. +The prevailing party in any action to enforce this Agreement shall be entitled +to recover costs and expenses including, without limitation, attorneys' fees. +The parties agree that CIRRUS LOGIC and its licensors shall be entitled to +equitable relief in addition to any remedies it may have hereunder or at law. + +9. ENTIRE AGREEMENT + +This Agreement and any terms referenced or incorporated herein, constitutes the +entire agreement between Licensee and CIRRUS LOGIC with respect to the Software +provided pursuant to this Agreement and supersedes any other agreement between +Licensee and CIRRUS LOGIC with respect thereto (including terms presented and/or +accepted as part of an installation process), but does not otherwise replace, +modify or cancel any other written agreement between Licensee and CIRRUS LOGIC. +If there is any inconsistency between these terms and those presented as part of +the process to install the Software, these terms will prevail. diff --git a/LICENSE.dib0700 b/LICENSE.dib0700 new file mode 100644 index 0000000..fdb6bde --- /dev/null +++ b/LICENSE.dib0700 @@ -0,0 +1,22 @@ +Firmware provided by Patrick Boettcher to Devin +Heitmueller on October 8, 2009. + +The USB firmware file "dvb-usb-dib0700.1.20.fw" for DiBcom's DiB0700, +used together with the Linux driver module dvb-usb-dib0700, is +provided under the following licensing terms: + +Copyright (c) 2009, DiBcom + +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. diff --git a/LICENSE.hfi1_firmware b/LICENSE.hfi1_firmware new file mode 100644 index 0000000..01f0932 --- /dev/null +++ b/LICENSE.hfi1_firmware @@ -0,0 +1,39 @@ +Copyright (c) 2015, Intel Corporation. +All rights reserved. + +Redistribution. + +Redistribution and use in binary form, without modification, are permitted +provided that the following conditions are met: +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials provided + with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers may + be used to endorse or promote products derived from this software without + specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software is + permitted. + +Limited patent license. + +Intel Corporation grants a world-wide, royalty-free, non-exclusive license +under patents it now or hereafter owns or controls to make, have made, use, +import, offer to sell and sell (“Utilize”) this software, but solely to the +extent that any such patent is necessary to Utilize the software alone. The +patent license shall not apply to any combinations which include this software. +No hardware per se is licensed hereunder. + + +DISCLAIMER. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/LICENSE.i915 b/LICENSE.i915 new file mode 100644 index 0000000..2492b8d --- /dev/null +++ b/LICENSE.i915 @@ -0,0 +1,39 @@ +Copyright (c) 2015, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENSE.ice b/LICENSE.ice new file mode 100644 index 0000000..497ee18 --- /dev/null +++ b/LICENSE.ice @@ -0,0 +1,39 @@ +Copyright (c) 2019, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENSE.ice_enhanced b/LICENSE.ice_enhanced new file mode 100644 index 0000000..6d4e9a9 --- /dev/null +++ b/LICENSE.ice_enhanced @@ -0,0 +1,38 @@ +Copyright (c) 2020 Intel Corporation + +Redistribution. Redistribution and use in binary form, without +modification, are permitted solely operating in conjunction with Intel +authorized products, provided that the following conditions are met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENSE.ipu3_firmware b/LICENSE.ipu3_firmware new file mode 100644 index 0000000..2559884 --- /dev/null +++ b/LICENSE.ipu3_firmware @@ -0,0 +1,36 @@ +Copyright (c) 2017, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell (“Utilize”) this software, but solely to the extent that any +such patent is necessary to Utilize the software alone. The patent license +shall not apply to any combinations which include this software. No hardware +per se is licensed hereunder. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/LICENSE.nxp b/LICENSE.nxp new file mode 100644 index 0000000..bfd2c70 --- /dev/null +++ b/LICENSE.nxp @@ -0,0 +1,26 @@ +LA_OPT_BINARY_FIRMWARE_ONLY rev2 June 2020 + +Copyright © 2018 NXP. All rights reserved. + +Software License Agreement (“Agreement”) + +ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE ACCOMPANYING BINARY SOFTWARE CONSTITUTES LICENSEE'S ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +Licensed Software. “Binary Software” means the software in binary form supplied directly by NXP pursuant to this Agreement. Subject to the terms and conditions of this Agreement, NXP USA, Inc. ("Licensor"), grants to you (“Licensee”) a worldwide, non-exclusive, and royalty-free copyright license to reproduce and distribute the Binary Software in its complete and unmodified binary form as provided by Licensor, for use solely in conjunction with a programmable processing unit supplied directly or indirectly from Licensor. + +Restrictions. Licensee must reproduce the Licensor copyright notice above with each binary copy of the Binary Software or in the accompanying documentation. Licensee must not reverse engineer, decompile, disassemble or modify in any way the Binary Software. Licensee must not use the Binary Software in violation of any applicable law or regulation. This Agreement shall automatically terminate upon Licensee's breach of any term or condition of this Agreement in which case, Licensee shall destroy all copies of the Binary Software. Neither the name of Licensor nor the names of its suppliers may be used to endorse or promote products derived from this Binary Software without specific prior written permission. +Disclaimer. TO THE MAXIMUM EXTENT PERMITTED BY LAW, LICENSOR EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE BINARY SOFTWARE. THE BINARY SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, LICENSOR DOES NOT WARRANT THAT THE BINARY SOFTWARE IS ERROR-FREE OR WILL OPERATE WITHOUT INTERRUPTION, AND LICENSOR GRANTS NO WARRANTY REGARDING ITS USE OR THE RESULTS THEREFROM, INCLUDING ITS CORRECTNESS, ACCURACY, OR RELIABILITY. + +Limitation of Liability. IN NO EVENT WILL LICENSOR, OR ANY OF LICENSOR'S LICENSORS HAVE ANY LIABILITY HEREUNDER FOR ANY INDIRECT, SPECIAL, OR +CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, INCLUDING DAMAGES FOR LOSS OF PROFITS, OR THE COST OF PROCUREMENT OF SUBSTITUTE GOODS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. LICENSOR’S TOTAL LIABILITY FOR ALL COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT OR THE BINARY SOFTWARE SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO THE AGGREGATE AMOUNT PAID BY LICENSEE TO LICENSOR IN CONNECTION WITH THE BINARY SOFTWARE TO WHICH LOSSES OR DAMAGES ARE CLAIMED. + +Trade Compliance. Licensee shall comply with all applicable export and import control laws and regulations including but not limited to the US Export Administration Regulation (including restrictions on certain military end uses and military end users as specified in Section 15 C.F.R. § 744.21 and prohibited party lists issued by other federal governments), Catch-all regulations and all national and international embargoes. Licensee further agrees that it will not knowingly transfer, divert, export or re-export, directly or indirectly, any product, software, including software source code, or technology restricted by such regulations or by other applicable national regulations, received from Licensor under this Agreement, or any direct product of such software or technical data to any person, firm, entity, country or destination to which such transfer, diversion, export or re-export is restricted or prohibited, without obtaining prior written authorization from the applicable competent government authorities to the extent required by those laws. Licensee acknowledge that the “restricted encryption software” that is subject to the US Export Administration Regulations (EAR), is not intended for use by a government end user, as defined in part 772 of the EAR. This provision shall survive termination or expiration of this Agreement. + +Assignment. Licensee may not assign this Agreement without the prior written consent of Licensor. Licensor may assign this Agreement without Licensee’s consent. + +Governing Law. This Agreement will be governed by, construed, and enforced in accordance with the laws of the State of Texas, USA, without regard to conflicts of laws principles, will apply to all matters relating to this Agreement or the Binary Software, and Licensee agrees that any litigation will be subject to the exclusive jurisdiction of the state or federal courts Texas, USA. The United Nations Convention on Contracts for the International Sale of Goods will not apply to this Agreement. +Restrictions, Disclaimer, Limitation of Liability, Trade Compliance, Assignment, and Governing Law shall survive termination or expiration of this Agreement. + + + + diff --git a/LICENSE.nxp_mc_firmware b/LICENSE.nxp_mc_firmware new file mode 100644 index 0000000..4b12f58 --- /dev/null +++ b/LICENSE.nxp_mc_firmware @@ -0,0 +1,127 @@ +Copyright (c) 2018 NXP. All rights reserved. + +Software License Agreement ("Agreement") + +ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE ACCOMPANYING BINARY SOFTWARE +CONSTITUTES LICENSEE'S ACCEPTANCE OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. + +Licensed Software. "Binary Software" means software in binary form specified in +ANNEX A. Subject to the terms and conditions of this Agreement, NXP USA, Inc. +("Licensor"), grants to you ("Licensee") a worldwide, non-exclusive, and +royalty-free license to reproduce and distribute the Binary Software in its +complete and unmodified binary form as provided by Licensor, for use solely in +conjunction with a programmable processing unit supplied directly or indirectly +from Licensor. + +Restrictions. Licensee must reproduce the Licensor copyright notice above with +each binary copy of the Binary Software or in the accompanying documentation. +Licensee must not reverse engineer, decompile, disassemble or modify in any way +the Binary Software. Licensee must not use the Binary Software in violation of +any applicable law or regulation. This Agreement shall automatically terminate +upon Licensee's breach of any term or condition of this Agreement in which case, +Licensee shall destroy all copies of the Binary Software. Neither the name of +Licensor nor the names of its suppliers may be used to endorse or promote +products derived from this Binary Software without specific prior written +permission. + +Disclaimer. TO THE MAXIMUM EXTENT PERMITTED BY LAW, LICENSOR EXPRESSLY +DISCLAIMS ANY WARRANTY FOR THE BINARY SOFTWARE. THE BINARY SOFTWARE IS PROVIDED +"AS IS", WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING +WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WITHOUT LIMITING THE GENERALITY OF THE +FOREGOING, LICENSOR DOES NOT WARRANT THAT THE BINARY SOFTWARE IS ERROR-FREE OR +WILL OPERATE WITHOUT INTERRUPTION, AND LICENSOR GRANTS NO WARRANTY REGARDING ITS +USE OR THE RESULTS THEREFROM, INCLUDING ITS CORRECTNESS, ACCURACY, OR +RELIABILITY. + +Limitation of Liability. IN NO EVENT WILL LICENSOR, OR ANY OF LICENSOR'S +LICENSORS HAVE ANY LIABILITY HEREUNDER FOR ANY INDIRECT, SPECIAL, OR +CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, ARISING OUT +OF THIS AGREEMENT, INCLUDING DAMAGES FOR LOSS OF PROFITS, OR THE COST OF +PROCUREMENT OF SUBSTITUTE GOODS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. LICENSOR'S TOTAL LIABILITY FOR ALL COSTS, DAMAGES, +CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT +OR THE BINARY SOFTWARE SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO THE AGGREGATE +AMOUNT PAID BY LICENSEE TO LICENSOR IN CONNECTION WITH THE BINARY SOFTWARE TO +WHICH LOSSES OR DAMAGES ARE CLAIMED. + +Trade Compliance. Licensee shall comply with all applicable export and import +control laws and regulations including but not limited to the US Export +Administration Regulation (including prohibited party lists issued by other +federal governments), Catch-all regulations and all national and international +embargoes. Licensee further agrees that it will not knowingly transfer, divert, +export or re-export, directly or indirectly, any product, software, including +software source code, or technology restricted by such regulations or by other +applicable national regulations, received from Licensor under this Agreement, +or any direct product of such software or technical data to any person, firm, +entity, country or destination to which such transfer, diversion, export or +re-export is restricted or prohibited, without obtaining prior written +authorization from the applicable competent government authorities to the extent +required by those laws. Licensee acknowledge that the "restricted encryption +software" that is subject to the US Export Administration Regulations (EAR), is +not intended for use by a government end user, as defined in part 772 of the +EAR. This provision shall survive termination or expiration of this Agreement. + +Assignment. Licensee may not assign this Agreement without the prior written +consent of Licensor. Licensor may assign this Agreement without Licensee's +consent. + +Governing Law. This Agreement will be governed by, construed, and enforced in +accordance with the laws of the State of Texas, USA, without regard to conflicts +of laws principles, will apply to all matters relating to this Agreement or the +Binary Software, and Licensee agrees that any litigation will be subject to the +exclusive jurisdiction of the state or federal courts Texas, USA. The United +Nations Convention on Contracts for the International Sale of Goods will not +apply to this Agreement. + +Restrictions, Warranty Disclaimer, Limitation of Liability, Trade Compliance, +Assignment, Governing Law, and Third Party Terms shall survive termination or +expiration of this Agreement. + +Third Party Terms. The licensed Binary Software includes the following third +party software for which the following terms apply: + +Libfdt - Flat Device Tree manipulation +Copyright (c) 2006 David Gibson, IBM Corporation +All rights reserved. + +Redistributions 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +LibElf +Copyright (c) 2006,2008-2011 Joseph Koshy +All rights reserved. + +Redistributions 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ANNEX A +BINARY SOFTWARE +Only software in binary form may be provided under this Agreement + diff --git a/LICENSE.qcom b/LICENSE.qcom new file mode 100644 index 0000000..faacf9c --- /dev/null +++ b/LICENSE.qcom @@ -0,0 +1,206 @@ +PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS +A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE +ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU +REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS +THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED +APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED +DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF +(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE +MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS +TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO +AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS +YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS +OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS +BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. + +1. RIGHT TO USE DELIVERABLES; RESTRICTIONS. + + 1.1 License. Subject to the terms and conditions of this Agreement, + including, without limitation, the restrictions, conditions, limitations and + exclusions set forth in this Agreement, QTI hereby grants to you a + nonexclusive, limited license under QTI's copyrights to: (i) install and use + the Materials; and (ii) to reproduce and redistribute the binary code portions + of the Materials (the "Redistributable Binary Code"). You may make and use a + reasonable number of copies of any documentation. + + 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary + Code is subject to the following restrictions: (i) Redistributable Binary Code + may only be distributed in binary format and may not be distributed in source + code format:; (ii) the Redistributable Binary Code may only operate in + conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets; + (iii) redistribution of the Redistributable Binary Code must include the .txt + file setting forth the terms and condition of this Agreement; (iv) you may not + use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or + trademarks; and (v) copyright, trademark, patent and any other notices that + appear on the Materials may not be removed or obscured. + + 1.3 Additional Restrictions. Except as expressly permitted by this Agreement, + you shall have no right to sublicense, transfer or otherwise disclose the + Materials to any third party. You shall not reverse engineer, reverse + assemble, reverse translate, decompile or reduce to source code form any + portion of the Materials provided in object code form or executable form. + Except for the purposes expressly permitted in this Agreement, You shall not + use the Materials for any other purpose. QTI (or its licensors) shall retain + title and all ownership rights in and to the Materials and any alterations, + modifications (including all derivative works), translations or adaptations + made of the Materials, and all copies thereof, and nothing herein shall be + deemed to grant any right to You under any of QTI's or its affiliates' + patents. You shall not subject the Materials to any third party license + terms (e.g., open source license terms). You shall not use the Materials for + the purpose of identifying or providing evidence to support any potential + patent infringement claim against QTI, its affiliates, or any of QTI's or + QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby + reserves all rights not expressly granted herein. + + 1.4 Third Party Software and Materials. The Software may contain or link to + certain software and/or materials that are written or owned by third parties. + Such third party code and materials may be licensed under separate or + different terms and conditions and are not licensed to you under the terms of + this Agreement. You agree to comply with all terms and conditions imposed on + you in the applicable third party licenses. Such terms and conditions may + impose certain obligations on you as a condition to the permitted use of such + third party code and materials. QTI does not represent or warrant that such + third party licensors have or will continue to license or make available their + code and materials to you. + + 1.5 Feedback. QTI may from time to time receive suggestions, feedback or + other information from You regarding the Materials. Any suggestions, feedback + or other disclosures received from You are and shall be entirely voluntary on + the part of You. Notwithstanding any other term in this Agreement, QTI shall + be free to use suggestions, feedback or other information received from You, + without obligation of any kind to You. The Parties agree that all inventions, + product improvements, and modifications conceived of or made by QTI that are + based, either in whole or in part, on ideas, feedback, suggestions, or + recommended improvements received from You are the exclusive property of QTI, + and all right, title and interest in and to any such inventions, product + improvements, and modifications will vest solely in QTI. + + 1.6 No Technical Support. QTI is under no obligation to provide any form of + technical support for the Materials, and if QTI, in its sole discretion, + chooses to provide any form of support or information relating to the + Materials, such support and information shall be deemed confidential and + proprietary to QTI. + +2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF +THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF +ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR +IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR +IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION +PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR +ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF +DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE +CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR +AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER +INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY +MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR +OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE +RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO +THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF +THIRD PARTIES. + +3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement, +nor any act by QTI or any of its affiliates pursuant to this Agreement or +relating to the Materials (including, without limitation, the provision by QTI +or its affiliates of the Materials), shall provide to You any license or any +other rights whatsoever under any patents, trademarks, trade secrets, copyrights +or any other intellectual property of QTI or any of its affiliates, except for +the copyright rights expressly licensed under this Agreement. You understand and +agree that: + + (i) Neither this Agreement, nor delivery of the Materials, grants any right to + practice, or any other right at all with respect to, any patent of QTI or any + of its affiliates; and + + (ii) A separate license agreement from QUALCOMM Incorporated is needed to use + or practice any patent of QUALCOMM Incorporated. You agree not to contend in + any context that, as a result of the provision or use of the Materials, either + QTI or any of its affiliates has any obligation to extend, or You or any other + party has obtained any right to, any license, whether express or implied, with + respect to any patent of QTI or any of its affiliates for any purpose. + +4. TERMINATION. This Agreement shall be effective upon acceptance, or access or +use of the Materials (whichever occurs first) by You and shall continue until +terminated. You may terminate the Agreement at any time by deleting and +destroying all copies of the Materials and all related information in Your +possession or control. This Agreement terminates immediately and automatically, +with or without notice, if You fail to comply with any provision hereof. +Additionally, QTI may at any time terminate this Agreement, without cause, upon +notice to You. Upon termination You must, to the extent possible, delete or +destroy all copies of the Materials in Your possession and the license granted +to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive +the termination of this Agreement. In the event that any restrictions, +conditions, limitations are found to be either invalid or unenforceable, the +rights granted to You in Section 1 (License) shall be null, void and ineffective +from the Effective Date, and QTI shall also have the right to terminate this +Agreement immediately, and with retroactive effect to the effective date. + +5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS +LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES, +INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL +DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE +TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS +AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT +REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF +THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS +LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF +ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT +EXCEED US$50. + +6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its +officers, directors, employees and successors and assigns against any and all +third party claims, demands, causes of action, losses, liabilities, damages, +costs and expenses, incurred by QTI (including but not limited to costs of +defense, investigation and reasonable attorney's fees) arising out of, resulting +from or related to: (i) any breach of this Agreement by You; and (ii) your acts, +omissions, products and services. If requested by QTI, You agree to defend QTI +in connection with any third party claims, demands, or causes of action +resulting from, arising out of or in connection with any of the foregoing. + +7. ASSIGNMENT. You shall not assign this Agreement or any right or interest +under this Agreement, nor delegate any obligation to be performed under this +Agreement, without QTI's prior written consent. For purposes of this Section 7, +an "assignment" by You under this Section shall be deemed to include, without +limitation, any merger, consolidation, sale of all or substantially all of its +assets, or any substantial change in the management or control of You. +Any attempted assignment in contravention of this Section 9 shall be void. +QTI may freely assign this Agreement or delegate any or all of its rights and +obligations hereunder to any third party. + +8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all +applicable local, international and national laws and regulations and with U.S. +Export Administration Regulations, as they apply to the subject matter of this +Agreement. This Agreement is governed by the laws of the State of California, +excluding California's choice of law rules. + +9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned +by a corporation or other legal entity, then this Agreement is formed by and +between QTI and such entity. The individual accepting the terms of this +Agreement represents and warrants to QTI that they have the authority to bind +such entity to the terms and conditions of this Agreement. + +10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits +attached hereto, which are incorporated herein by this reference, constitutes +the entire agreement between QTI and You and supersedes all prior negotiations, +representations and agreements between the parties with respect to the subject +matter hereof. No addition or modification of this Agreement shall be effective +unless made in writing and signed by the respective representatives of QTI and +You. The restrictions, limitations, exclusions and conditions set forth in this +Agreement shall apply even if QTI or any of its affiliates becomes aware of or +fails to act in a manner to address any violation or failure to comply +therewith. You hereby acknowledge and agree that the restrictions, limitations, +conditions and exclusions imposed in this Agreement on the rights granted in +this Agreement are not a derogation of the benefits of such rights. You further +acknowledges that, in the absence of such restrictions, limitations, conditions +and exclusions, QTI would not have entered into this Agreement with You. Each +party shall be responsible for and shall bear its own expenses in connection +with this Agreement. If any of the provisions of this Agreement are determined +to be invalid, illegal, or otherwise unenforceable, the remaining provisions +shall remain in full force and effect. This Agreement is entered into solely +in the English language, and if for any reason any other language version is +prepared by any party, it shall be solely for convenience and the English +version shall govern and control all aspects. If You are located in the +province of Quebec, Canada, the following applies: The Parties hereby confirm +they have requested this Agreement and all related documents be prepared +in English. diff --git a/LICENSE.qcom_yamato b/LICENSE.qcom_yamato new file mode 100644 index 0000000..1fd702b --- /dev/null +++ b/LICENSE.qcom_yamato @@ -0,0 +1,25 @@ +Copyright (c) 2008-2011, QUALCOMM Incorporated. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of QUALCOMM Incorporated nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.radeon b/LICENSE.radeon new file mode 100644 index 0000000..b05e714 --- /dev/null +++ b/LICENSE.radeon @@ -0,0 +1,51 @@ +Copyright (C) 2009-2017 Advanced Micro Devices, Inc. All rights reserved. + +REDISTRIBUTION: Permission is hereby granted, free of any license fees, +to any person obtaining a copy of this microcode (the "Software"), to +install, reproduce, copy and distribute copies, in binary form only, of +the Software and to permit persons to whom the Software is provided to +do the same, provided that the following conditions are met: + +No reverse engineering, decompilation, or disassembly of this Software +is permitted. + +Redistributions must reproduce the above copyright notice, this +permission notice, and the following disclaimers and notices in the +Software documentation and/or other materials provided with the +Software. + +DISCLAIMER: THE USE OF THE SOFTWARE IS AT YOUR SOLE RISK. THE SOFTWARE +IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND AND COPYRIGHT +HOLDER AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS AND +IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +COPYRIGHT HOLDER AND ITS LICENSORS DO NOT WARRANT THAT THE SOFTWARE WILL +MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE +UNINTERRUPTED OR ERROR-FREE. THE ENTIRE RISK ASSOCIATED WITH THE USE OF +THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, COPYRIGHT HOLDER AND ITS +LICENSORS DO NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE +OR THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS, +ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. + +DISCLAIMER: UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL COPYRIGHT +HOLDER AND ITS LICENSORS OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS +("AUTHORIZED REPRESENTATIVES") BE LIABLE FOR ANY INCIDENTAL, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS +PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE +LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE, +BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED +INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL +PROPERTY RIGHT EVEN IF COPYRIGHT HOLDER AND ITS AUTHORIZED +REPRESENTATIVES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN +NO EVENT SHALL COPYRIGHT HOLDER OR ITS AUTHORIZED REPRESENTATIVES TOTAL +LIABILITY FOR ALL DAMAGES, LOSSES, AND CAUSES OF ACTION (WHETHER IN +CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) EXCEED THE AMOUNT OF +US$10. + +Notice: The Software is subject to United States export laws and +regulations. You agree to comply with all domestic and international +export laws and regulations that apply to the Software, including but +not limited to the Export Administration Regulations administered by the +U.S. Department of Commerce and International Traffic in Arm Regulations +administered by the U.S. Department of State. These laws include +restrictions on destinations, end users and end use. diff --git a/LICENSE.sdma_firmware b/LICENSE.sdma_firmware new file mode 100644 index 0000000..0d3d562 --- /dev/null +++ b/LICENSE.sdma_firmware @@ -0,0 +1,47 @@ +Copyright 2017, NXP +All rights reserved. + +Redistribution. Reproduction and redistribution in binary form, without +modification, for use solely in conjunction with a NXP +chipset, is permitted provided that the following conditions are met: + + . Redistributions must reproduce the above copyright notice and the following + disclaimer in the documentation and/or other materials provided with the + distribution. + + . Neither the name of NXP nor the names of its suppliers + may be used to endorse or promote products derived from this Software + without specific prior written permission. + + . No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +Limited patent license. NXP (.Licensor.) grants you +(.Licensee.) a limited, worldwide, royalty-free, non-exclusive license under +the Patents to make, have made, use, import, offer to sell and sell the +Software. No hardware per se is licensed hereunder. +The term .Patents. as used in this agreement means only those patents or patent +applications owned solely and exclusively by Licensor as of the date of +Licensor.s submission of the Software and any patents deriving priority (i.e., +having a first effective filing date) therefrom. The term .Software. as used in +this agreement means the firmware image submitted by Licensor, under the terms +of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/ +linux-firmware.git. +Notwithstanding anything to the contrary herein, Licensor does not grant and +Licensee does not receive, by virtue of this agreement or the Licensor's +submission of any Software, any license or other rights under any patent or +patent application owned by any affiliate of Licensor or any other entity +(other than Licensor), whether expressly, impliedly, by virtue of estoppel or +exhaustion, or otherwise. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..50a4c29 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# This file implements the GNOME Build API: +# http://people.gnome.org/~walters/docs/build-api.txt + +FIRMWAREDIR = /lib/firmware + +all: + +check: + @./check_whence.py + +install: + install -d $(DESTDIR)$(FIRMWAREDIR) + ./copy-firmware.sh $(DESTDIR)$(FIRMWAREDIR) + +install-xz: + install -d $(DESTDIR)$(FIRMWAREDIR) + ./copy-firmware.sh --xz $(DESTDIR)$(FIRMWAREDIR) + +install-zst: + install -d $(DESTDIR)$(FIRMWAREDIR) + ./copy-firmware.sh --zstd $(DESTDIR)$(FIRMWAREDIR) diff --git a/README b/README new file mode 100644 index 0000000..77ff010 --- /dev/null +++ b/README @@ -0,0 +1,43 @@ + + Linux firmware + ============== + + + + git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git + +This repository contains all these firmware images which have been +extracted from older drivers, as well various new firmware images which +we were never permitted to include in a GPL'd work, but which we _have_ +been permitted to redistribute under separate cover. + +To submit firmware to this repository, please send either a git binary +diff or preferably a git pull request to: + linux-firmware@kernel.org +and also cc: to related mailing lists. + +If your commit adds new firmware, it must update the WHENCE file to +clearly state the license under which the firmware is available, and +that it is redistributable. Being redistributable includes ensuring +the firmware license provided includes an implicit or explicit +patent grant to end users to ensure full functionality of device +operation with the firmware. If the license is long and involved, it's +permitted to include it in a separate file and refer to it from the +WHENCE file ('See LICENSE.foo for details.'). +And if it were possible, a changelog of the firmware itself. + +Run 'make check' to check that WHENCE is consistent with the +repository contents. + +Ideally, your commit should contain a Signed-Off-By: from someone +authoritative on the licensing of the firmware in question (i.e. from +within the company that owns the code). + + +WARNING: +======= + +Don't send any "CONFIDENTIALITY STATEMENT" in your e-mail, patch or +request. Otherwise your firmware _will never be accepted_. + +Maintainers are really busy, so don't expect a prompt reply. diff --git a/RTL8192E/boot.img b/RTL8192E/boot.img new file mode 100644 index 0000000..16998bb Binary files /dev/null and b/RTL8192E/boot.img differ diff --git a/RTL8192E/data.img b/RTL8192E/data.img new file mode 100644 index 0000000..4cabc4a Binary files /dev/null and b/RTL8192E/data.img differ diff --git a/RTL8192E/main.img b/RTL8192E/main.img new file mode 100644 index 0000000..7703afd Binary files /dev/null and b/RTL8192E/main.img differ diff --git a/WHENCE b/WHENCE new file mode 100644 index 0000000..e6309eb --- /dev/null +++ b/WHENCE @@ -0,0 +1,6326 @@ + ********** + * WHENCE * + ********** + +This file attempts to document the origin and licensing information, +if known, for each piece of firmware distributed for use with the Linux +kernel. + +-------------------------------------------------------------------------- + +Driver: BCM-0bb4-0306 Cypress Bluetooth firmware for HTC Vive + +File: brcm/BCM-0bb4-0306.hcd +Link: brcm/BCM-0a5c-6410.hcd -> BCM-0bb4-0306.hcd + +Licence: Redistributable. See LICENCE.cypress for details. + +-------------------------------------------------------------------------- + +Driver: snd-korg1212 -- Korg 1212 IO audio device + +File: korg/k1212.dsp + +Licence: Unknown + +Found in alsa-firmware package in hex form; no licensing information. + +-------------------------------------------------------------------------- + +Driver: snd-maestro3 -- ESS Allegro Maestro3 audio device + +File: ess/maestro3_assp_kernel.fw +File: ess/maestro3_assp_minisrc.fw + +Licence: Unknown + +Found in alsa-firmware package in hex form with a comment claiming to +be GPLv2+, but without source -- and with another comment saying "ESS +drops binary dsp code images on our heads, but we don't get to see +specs on the dsp." + +-------------------------------------------------------------------------- + +Driver: snd-ymfpci -- Yamaha YMF724/740/744/754 audio devices + +File: yamaha/ds1_ctrl.fw +File: yamaha/ds1_dsp.fw +File: yamaha/ds1e_ctrl.fw + +Licence: Unknown + +Found alsa-firmware package in hex form, with the following comment: + Copyright (c) 1997-1999 Yamaha Corporation. All Rights Reserved. + +-------------------------------------------------------------------------- + +Driver: advansys - AdvanSys SCSI + +File: advansys/mcode.bin +File: advansys/3550.bin +File: advansys/38C0800.bin +File: advansys/38C1600.bin + +Licence: BSD, no source available. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: qla1280 - Qlogic QLA 1240/1x80/1x160 SCSI support + +File: qlogic/1040.bin +File: qlogic/1280.bin +File: qlogic/12160.bin + +Licence: Redistributable. See LICENCE.qla1280 for details + +-------------------------------------------------------------------------- + +Driver: kaweth -- USB KLSI KL5USB101-based Ethernet device + +File: kaweth/new_code.bin +File: kaweth/new_code_fix.bin +File: kaweth/trigger_code.bin +File: kaweth/trigger_code_fix.bin + +Licence: Redistributable. See LICENCE.kaweth for details + +Found in hex form in the kernel source. + +-------------------------------------------------------------------------- + +Driver: dvb-ttusb-budget -- Technotrend/Hauppauge Nova-USB devices + +File: ttusb-budget/dspbootcode.bin + +Licence: Unknown + +Found in hex form in the kernel source. + +-------------------------------------------------------------------------- + +Driver: keyspan -- USB Keyspan USA-xxx serial device + +File: keyspan/mpr.fw +File: keyspan/usa18x.fw +File: keyspan/usa19.fw +File: keyspan/usa19qi.fw +File: keyspan/usa19qw.fw +File: keyspan/usa19w.fw +File: keyspan/usa28.fw +File: keyspan/usa28xa.fw +File: keyspan/usa28xb.fw +File: keyspan/usa28x.fw +File: keyspan/usa49w.fw +File: keyspan/usa49wlc.fw + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: + + Copyright (C) 1999-2001 + Keyspan, A division of InnoSys Incorporated ("Keyspan") + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Keyspan's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified and may only be used with + Keyspan hardware. Distribution and/or Modification of the + keyspan.c driver which includes this firmware, in whole or in + part, requires the inclusion of this statement." + +-------------------------------------------------------------------------- + +Driver: keyspan_pda -- USB Keyspan PDA single-port serial device + +File: keyspan_pda/keyspan_pda.fw +Source: keyspan_pda/keyspan_pda.S + +File: keyspan_pda/xircom_pgs.fw +Source: keyspan_pda/xircom_pgs.S + +Source: keyspan_pda/Makefile + +Licence: GPLv2 or later. See GPL-2 and GPL-3 for details. + +Compiled from original 8051 source into Intel HEX, used in our binary ihex form. + +-------------------------------------------------------------------------- + +Driver: emi26 -- EMI 2|6 USB Audio interface + +File: emi26/bitstream.fw +Version: 1.1.1.131 +Info: DATE=2001dec06 + +File: emi26/firmware.fw +Version: 1.0.2.916 +Info: DATE=12.02.2002 + +File: emi26/loader.fw + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: +/* + * This firmware is for the Emagic EMI 2|6 Audio Interface + * + * The firmware contained herein is Copyright (c) 1999-2002 Emagic + * as an unpublished work. This notice does not imply unrestricted + * or public access to this firmware which is a trade secret of Emagic, + * and which may not be reproduced, used, sold or transferred to + * any third party without Emagic's written consent. All Rights Reserved. + * + * Permission is hereby granted for the distribution of this firmware + * image as part of a Linux or other Open Source operating system kernel + * in text or binary form as required. + * + * This firmware may not be modified and may only be used with the + * Emagic EMI 2|6 Audio Interface. Distribution and/or Modification of + * any driver which includes this firmware, in whole or in part, + * requires the inclusion of this statement. + */ + +-------------------------------------------------------------------------- + +Driver: emi62 -- EMI 6|2m USB Audio interface + +File: emi62/bitstream.fw +Version: 1.0.0.191 +Info: DATE= 2002oct28 + +File: emi62/loader.fw +Version: 1.0.2.002 +Info: DATE=10.01.2002 + +File: emi62/midi.fw +Version: 1.04.062 +Info: DATE=16.10.2002 + +File: emi62/spdif.fw +Version: 1.04.062 +Info: DATE=16.10.2002 + +Converted from Intel HEX files, used in our binary representation of ihex. + +Original licence information: None + +-------------------------------------------------------------------------- + +Driver: ti_usb_3410_5052 -- USB TI 3410/5052 serial device + +File: ti_3410.fw +Info: firmware 9/10/04 FW3410_Special_StartWdogOnStartPort + +File: ti_5052.fw +Info: firmware 9/18/04 + +Licence: Allegedly GPLv2+, but no source visible. Marked: + Copyright (C) 2004 Texas Instruments + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: ti_usb_3410_5052 -- Multi-Tech USB cell modems + +File: mts_cdma.fw +File: mts_gsm.fw +File: mts_edge.fw + +Licence: "all firmware components are redistributable in binary form" + per support@multitech.com + Copyright (C) 2005 Multi-Tech Systems, Inc. + +Found in hex form in ftp://ftp.multitech.com/wireless/wireless_linux.zip + +-------------------------------------------------------------------------- + +Driver: ti_usb_3410_5052 -- Multi-Tech USB fax modems + +File: mts_mt9234mu.fw +File: mts_mt9234zba.fw + +Licence: Unknown + +-------------------------------------------------------------------------- + +Driver: whiteheat -- USB ConnectTech WhiteHEAT serial device + +File: whiteheat.fw +Version: 4.06 + +File: whiteheat_loader.fw + +Licence: Allegedly GPLv2, but no source visible. Marked: + Copyright (C) 2000-2002 ConnectTech Inc + +Debug loader claims the following behaviour: + Port 1 LED flashes when the vend_ax program is running + Port 2 LED flashes when any SETUP command arrives + Port 3 LED flashes when any valid VENDOR request occurs + Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs + +Converted from Intel HEX files, used in our binary representation of ihex. + +-------------------------------------------------------------------------- + +Driver: cpia2 -- cameras based on Vision's CPiA2 + +File: cpia2/stv0672_vp4.bin + +Licence: Allegedly GPLv2+, but no source visible. Marked: + Copyright (C) 2001 STMicroelectronics, Inc. + Contact: steve.miller@st.com + Description: This file contains patch data for the CPiA2 (stv0672) VP4. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: dabusb -- Digital Audio Broadcasting (DAB) Receiver for USB and Linux + +File: dabusb/firmware.fw +File: dabusb/bitstream.bin + +Licence: Distributable + + * Copyright (C) 1999 BayCom GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that redistributions of source + * code retain the above copyright notice and this comment without + * modification. + +-------------------------------------------------------------------------- + +Driver: vicam -- USB 3com HomeConnect (aka vicam) + +File: vicam/firmware.fw + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: io_edgeport - USB Inside Out Edgeport Serial Driver + +File: edgeport/boot.fw +File: edgeport/boot2.fw +File: edgeport/down.fw +File: edgeport/down2.fw + +Licence: Allegedly GPLv2+, but no source visible. Marked: +//************************************************************** +//* Edgeport/4 Binary Image +//* Generated by HEX2C v1.06 +//* Copyright (C) 1998 Inside Out Networks, All rights reserved. +//************************************************************** + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: io_ti - USB Inside Out Edgeport Serial Driver +(TI Devices) + +File: edgeport/down3.bin + +Licence: +//************************************************************** +//* Edgeport Binary Image (for TI based products) +//* Generated by TIBin2C v2.00 (watchport) +//* Copyright (C) 2001 Inside Out Networks, All rights reserved. +//************************************************************** + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: dsp56k - Atari DSP56k support + +File: dsp56k/bootstrap.bin +Source: dsp56k/bootstrap.asm +Source: dsp56k/Makefile +Source: dsp56k/concat-bootstrap.pl + +Licence: GPLv2 or later. See GPL-2 and GPL-3 for details. + +DSP56001 assembler, buildable with a56 from +http://www.zdomain.com/a56.html + +-------------------------------------------------------------------------- + +Driver: snd-sb16-csp - Sound Blaster 16/AWE CSP support + +File: sb16/mulaw_main.csp +File: sb16/alaw_main.csp +File: sb16/ima_adpcm_init.csp +File: sb16/ima_adpcm_playback.csp +File: sb16/ima_adpcm_capture.csp + +Licence: Allegedly GPLv2+, but no source visible. Marked: +/* + * Copyright (c) 1994 Creative Technology Ltd. + * Microcode files for SB16 Advanced Signal Processor + */ + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: qla2xxx - QLogic QLA2XXX Fibre Channel + +File: ql2100_fw.bin +Version: 1.19.38 TP +File: ql2200_fw.bin +Version: 2.02.08 TP +File: ql2300_fw.bin +Version: 3.03.28 IPX +File: ql2322_fw.bin +Version: 3.03.28 IPX +File: ql2400_fw.bin +Version: 8.07.00 MID +File: ql2500_fw.bin +Version: 8.07.00 MIDQ + +Licence: Redistributable. See LICENCE.qla2xxx for details + +Available from http://ldriver.qlogic.com/firmware/ + +-------------------------------------------------------------------------- + +Driver: orinoco - Agere/Prism/Symbol Orinoco support + +File: agere_sta_fw.bin +Version: 9.48 Hermes I +File: agere_ap_fw.bin +Version: 9.48 Hermes I + +Licence: Redistributable. See LICENCE.agere for details + +-------------------------------------------------------------------------- + +Driver: ar9170 - Atheros 802.11n "otus" USB + +File: ar9170-1.fw +File: ar9170-2.fw + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: ath9k_htc - Atheros HTC devices (USB) + +File: ar9271.fw +File: ar7010.fw +File: ar7010_1_1.fw +File: htc_9271.fw +Version: 1.3.1 +File: htc_7010.fw +Version: 1.3.1 + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +File: ath9k_htc/htc_7010-1.4.0.fw +Version: 1.4.0 +File: ath9k_htc/htc_9271-1.4.0.fw +Version: 1.4.0 + +Licence: Free software. See LICENCE.open-ath9k-htc-firmware for details + +-------------------------------------------------------------------------- + +Driver: cassini - Sun Cassini + +File: sun/cassini.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: slicoss - Alacritech IS-NIC products + +File: slicoss/gbdownload.sys +File: slicoss/gbrcvucode.sys +File: slicoss/oasisdbgdownload.sys +File: slicoss/oasisdownload.sys +File: slicoss/oasisrcvucode.sys + +Licence: + Copyright (C) 1999-2009 Alacritech, Inc. + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Alacritech's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: sxg - Alacritech IS-NIC products + +File: sxg/saharadownloadB.sys +File: sxg/saharadbgdownloadB.sys + +Licence: + Copyright (C) 1999-2009 Alacritech, Inc. + + as an unpublished work. This notice does not imply unrestricted or + public access to the source code from which this firmware image is + derived. Except as noted below this firmware image may not be + reproduced, used, sold or transferred to any third party without + Alacritech's prior written consent. All Rights Reserved. + + Permission is hereby granted for the distribution of this firmware + image as part of a Linux or other Open Source operating system kernel + in text or binary form as required. + + This firmware may not be modified. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter + +File: cxgb3/t3b_psram-1.1.0.bin +File: cxgb3/t3c_psram-1.1.0.bin +File: cxgb3/t3fw-7.0.0.bin +File: cxgb3/t3fw-7.1.0.bin +File: cxgb3/t3fw-7.4.0.bin +File: cxgb3/t3fw-7.10.0.bin +File: cxgb3/t3fw-7.12.0.bin + +Licence: GPLv2 or OpenIB.org BSD license, no source visible + +-------------------------------------------------------------------------- + +Driver: cxgb3 - Chelsio Terminator 3 1G/10G Ethernet adapter + +File: cxgb3/ael2005_opt_edc.bin +File: cxgb3/ael2005_twx_edc.bin +File: cxgb3/ael2020_twx_edc.bin + +Licence: + * Copyright (c) 2007-2009 NetLogic Microsystems, Inc. + * + * Permission is hereby granted for the distribution of this firmware + * data in hexadecimal or equivalent format, provided this copyright + * notice is accompanying it. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: cxgb4 - Chelsio Terminator 4/5/6 1/10/25/40/100G Ethernet adapter + +File: cxgb4/t4fw-1.14.4.0.bin +File: cxgb4/t4fw-1.15.37.0.bin +File: cxgb4/t4fw-1.27.3.0.bin +Link: cxgb4/t4fw.bin -> t4fw-1.27.3.0.bin +File: cxgb4/t5fw-1.14.4.0.bin +File: cxgb4/t5fw-1.15.37.0.bin +File: cxgb4/t5fw-1.27.3.0.bin +Link: cxgb4/t5fw.bin -> t5fw-1.27.3.0.bin +File: cxgb4/t6fw-1.27.3.0.bin +Link: cxgb4/t6fw.bin -> t6fw-1.27.3.0.bin +File: cxgb4/aq1202_fw.cld +File: cxgb4/bcm8483.bin +File: cxgb4/configs/t4-config-default.txt +File: cxgb4/configs/t5-config-default.txt +File: cxgb4/configs/t6-config-default.txt +File: cxgb4/configs/t5-config-hashfilter.txt +File: cxgb4/configs/t6-config-hashfilter.txt +Link: cxgb4/t4-config.txt -> configs/t4-config-default.txt +Link: cxgb4/t5-config.txt -> configs/t5-config-default.txt +Link: cxgb4/t6-config.txt -> configs/t6-config-default.txt + +Licence: Redistributable. See LICENCE.chelsio_firmware for details + +-------------------------------------------------------------------------- + +Driver: e100 -- Intel PRO/100 Ethernet NIC + +File: e100/d101m_ucode.bin +File: e100/d101s_ucode.bin +File: e100/d102e_ucode.bin + +Licence: Redistributable. See LICENCE.e100 for details + +-------------------------------------------------------------------------- + +Driver: acenic -- Alteon AceNIC Gigabit Ethernet card + +File: acenic/tg1.bin +File: acenic/tg2.bin + +Licence: Unknown + +Found in hex form in kernel source, but source allegedly available at +http://alteon.shareable.org/ + +-------------------------------------------------------------------------- + +Driver: tg3 -- Broadcom Tigon3 based gigabit Ethernet cards + +File: tigon/tg3.bin +File: tigon/tg3_tso.bin +File: tigon/tg3_tso5.bin +File: tigon/tg357766.bin + +Licence: + * Firmware is: + * Derived from proprietary unpublished source code, + * Copyright (C) 2000-2013 Broadcom Corporation. + * + * Permission is hereby granted for the distribution of this firmware + * data in hexadecimal or equivalent format, provided this copyright + * notice is accompanying it. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: starfire - Adaptec Starfire/DuraLAN support + +File: adaptec/starfire_rx.bin +File: adaptec/starfire_tx.bin + +Licence: Allegedly GPLv2, but no source visible. + +Found in hex form in kernel source, with the following notice: + + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND + THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE + IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE + (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR + OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR + DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM. + +-------------------------------------------------------------------------- + +Driver: libertas - Marvell Libertas fullmac-type 802.11b/g cards + +File: libertas/cf8381.bin +File: libertas/cf8381_helper.bin +File: libertas/cf8385.bin +File: libertas/cf8385_helper.bin +File: libertas/gspi8682.bin +File: libertas/gspi8682_helper.bin +File: libertas/gspi8686_v9.bin +File: libertas/gspi8686_v9_helper.bin +File: libertas/gspi8688.bin +File: libertas/gspi8688_helper.bin +File: libertas/sd8385.bin +File: libertas/sd8385_helper.bin +File: libertas/sd8682.bin +File: libertas/sd8682_helper.bin +File: libertas/sd8686_v8.bin +File: libertas/sd8686_v8_helper.bin +File: libertas/sd8686_v9.bin +File: libertas/sd8686_v9_helper.bin +File: libertas/usb8388_v5.bin +File: libertas/usb8388_v9.bin +File: libertas/usb8682.bin +File: mrvl/sd8688.bin +Link: libertas/sd8688.bin -> ../mrvl/sd8688.bin +File: mrvl/sd8688_helper.bin +Link: libertas/sd8688_helper.bin -> ../mrvl/sd8688_helper.bin + +Licence: Redistributable. See LICENCE.Marvell for details. Extracted from +Linux driver tarballs downloaded from Marvell's "Extranet" with permission. + +-------------------------------------------------------------------------- + +Driver: libertas - Marvell Libertas 802.11b/g cards, OLPC firmware + +File: libertas/lbtf_sdio.bin +Version: 9.0.7.p4 + +File: lbtf_usb.bin +Version: 5.132.3.p1 + +File: libertas/usb8388_olpc.bin +Version: 5.110.22.p23 + +Licence: Redistributable. See LICENCE.OLPC for details. + +Available from http://dev.laptop.org/pub/firmware/libertas/ + +-------------------------------------------------------------------------- + +Driver: mwl8k - Marvell Libertas softmac-type 802.11b/g/n cards + +File: mwl8k/fmimage_8687.fw +File: mwl8k/helper_8687.fw +File: mwl8k/fmimage_8366.fw +File: mwl8k/fmimage_8366_ap-1.fw +File: mwl8k/fmimage_8366_ap-2.fw +File: mwl8k/fmimage_8366_ap-3.fw +Version: 5.2.8.16 +File: mwl8k/helper_8366.fw + +File: mwl8k/fmimage_8764_ap-1.fw +Version: 7.4.0.9 + +Licence: Redistributable. See LICENCE.Marvell for details. 8687 images +downloaded from Marvell's "Extranet" with permission. 8366 images contributed +directly by Marvell. + +-------------------------------------------------------------------------- + +Driver: mwifiex - Marvell Wi-Fi fullmac-type 802.11n/ac cards + +File: mrvl/sd8787_uapsta.bin +Version: W14.68.35.p66 + +File: mrvl/usb8766_uapsta.bin +Version: 14.68.22.p16 + +File: mrvl/sd8797_uapsta.bin +Version: W14.68.29.p59 + +File: mrvl/usb8797_uapsta.bin +Version: W14.68.29.p60 + +File: mrvl/sd8897_uapsta.bin +Version: W15.68.19.17 + +File: mrvl/usb8897_uapsta.bin +Version: 15.68.4.p103 + +File: mrvl/pcie8897_uapsta.bin +Version: W15.68.19.p21 + +File: mrvl/sd8887_uapsta.bin +Version: W15.68.7.p189 + +File: mrvl/sd8801_uapsta.bin +Version: W14.68.36.p204 + +File: mrvl/usb8801_uapsta.bin +Version: W14.68.36.p138 + +File: mrvl/pcieuart8997_combo_v4.bin +Version: W16.68.1.p179 + +File: mrvl/pcieusb8997_combo_v4.bin +Version: W16.68.1.p195 + +File: mrvl/pcie8997_wlan_v4.bin +Version: W16.68.1.p195 + +File: mrvl/usbusb8997_combo_v4.bin +Version: W16.68.1.p183 + +File: mrvl/sdsd8997_combo_v4.bin +Version: W16.68.1.p179 + +File: mrvl/sdsd8977_combo_v2.bin +Version: W16.68.1.p195 + +Licence: Redistributable. See LICENCE.NXP for details. +Originates from https://github.com/NXP/mwifiex-firmware.git + +-------------------------------------------------------------------------- + + +Driver: iwlwifi - Intel Wireless Wifi + +File: iwlwifi-3945-2.ucode +Version: 15.32.2.9 + +File: iwlwifi-4965-2.ucode +Version: 228.61.2.24 + +File: iwlwifi-5000-5.ucode +Version: 8.83.5.1 + +File: iwlwifi-5150-2.ucode +Version: 8.24.2.2 + +File: iwlwifi-1000-5.ucode +Version: 39.31.5.1 + +File: iwlwifi-6000-4.ucode +Version: 9.221.4.1 + +File: iwlwifi-6050-5.ucode +Version: 41.28.5.1 + +File: iwlwifi-6000g2a-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-6000g2b-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-135-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-100-5.ucode +Version: 39.31.5.1 + +File: iwlwifi-105-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-2030-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-2000-6.ucode +Version: 18.168.6.1 + +File: iwlwifi-7260-17.ucode +Version: 17.bfb58538.0 + +File: iwlwifi-3160-17.ucode +Version: 17.bfb58538.0 + +File: iwlwifi-7265-17.ucode +Version: 17.bfb58538.0 + +File: iwlwifi-7265D-29.ucode +Version: 29.f2390aa8.0 + +File: iwlwifi-3168-29.ucode +Version: 29.0bd893f3.0 + +File: iwlwifi-8000C-34.ucode +Version: 34.610288.0 + +File: iwlwifi-8000C-36.ucode +Version: 36.ca7b901d.0 + +File: iwlwifi-8265-34.ucode +Version: 34.610288.0 + +File: iwlwifi-8265-36.ucode +Version: 36.ca7b901d.0 + +File: iwlwifi-9000-pu-b0-jf-b0-34.ucode +Version: 34.ba501b11.0 + +File: iwlwifi-9000-pu-b0-jf-b0-38.ucode +Version: 38.755cfdd8.0 + +File: iwlwifi-9000-pu-b0-jf-b0-46.ucode +Version: 46.ff18e32a.0 + +File: iwlwifi-9260-th-b0-jf-b0-34.ucode +Version: 34.ba501b11.0 + +File: iwlwifi-9260-th-b0-jf-b0-38.ucode +Version: 38.755cfdd8.0 + +File: iwlwifi-9260-th-b0-jf-b0-46.ucode +Version: 46.ff18e32a.0 + +File: iwlwifi-cc-a0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-Qu-b0-hr-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-Qu-b0-jf-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-Qu-c0-hr-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-Qu-c0-jf-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-QuZ-a0-hr-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-QuZ-a0-jf-b0-50.ucode +Version: 50.3e391d3e.0 + +File: iwlwifi-cc-a0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-Qu-b0-hr-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-Qu-b0-jf-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-Qu-c0-hr-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-Qu-c0-jf-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-QuZ-a0-hr-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-QuZ-a0-jf-b0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-so-a0-gf-a0.pnvm + +File: iwlwifi-so-a0-gf4-a0.pnvm + +File: iwlwifi-ty-a0-gf-a0-59.ucode +Version: 59.601f3a66.0 + +File: iwlwifi-cc-a0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-Qu-b0-hr-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-Qu-b0-jf-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-Qu-c0-hr-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-Qu-c0-jf-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-QuZ-a0-hr-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-QuZ-a0-jf-b0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-ty-a0-gf-a0-66.ucode +Version: 66.f1c864e0.0 + +File: iwlwifi-cc-a0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-Qu-b0-hr-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-Qu-b0-jf-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-Qu-c0-hr-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-Qu-c0-jf-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-QuZ-a0-hr-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-QuZ-a0-jf-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-ty-a0-gf-a0-72.ucode +Version: 72.a764baac.0 + +File: iwlwifi-so-a0-gf4-a0-72.ucode +Version: 72.a764baac.0 + +File: iwlwifi-so-a0-gf-a0-72.ucode +Version: 72.a764baac.0 + +File: iwlwifi-so-a0-hr-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-so-a0-jf-b0-72.ucode +Version: 72.daa05125.0 + +File: iwlwifi-cc-a0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-Qu-b0-hr-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-Qu-b0-jf-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-Qu-c0-hr-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-Qu-c0-jf-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-QuZ-a0-hr-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-QuZ-a0-jf-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-ty-a0-gf-a0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-so-a0-gf4-a0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-so-a0-gf-a0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-so-a0-hr-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-so-a0-jf-b0-73.ucode +Version: 73.35c0a2c6.0 + +File: iwlwifi-cc-a0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-Qu-b0-hr-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-Qu-b0-jf-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-Qu-c0-hr-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-Qu-c0-jf-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-QuZ-a0-hr-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-QuZ-a0-jf-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-ty-a0-gf-a0-74.ucode +Version: 74.fe17486e.0 + +File: iwlwifi-so-a0-gf4-a0-74.ucode +Version: 74.fe17486e.0 + +File: iwlwifi-so-a0-gf-a0-74.ucode +Version: 74.fe17486e.0 + +File: iwlwifi-so-a0-hr-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-so-a0-jf-b0-74.ucode +Version: 74.a5e9588b.0 + +File: iwlwifi-cc-a0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-Qu-b0-hr-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-Qu-b0-jf-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-Qu-c0-hr-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-Qu-c0-jf-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-QuZ-a0-hr-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-QuZ-a0-jf-b0-77.ucode +Version: 74.206b0184.0 + +File: iwlwifi-ty-a0-gf-a0-77.ucode +Version: 74.f92b5fed.0 + +File: iwlwifi-ty-a0-gf-a0-78.ucode +Version: 75.3bfdc55f.0 + +File: iwlwifi-ty-a0-gf-a0-79.ucode +Version: 76.27f1c37b.0 + +File: iwlwifi-ty-a0-gf-a0-81.ucode +Version: 78.31fc9ae6.0 + +File: iwlwifi-so-a0-gf4-a0-77.ucode +Version: 74.f92b5fed.0 + +File: iwlwifi-so-a0-gf4-a0-78.ucode +Version: 75.3bfdc55f.0 + +File: iwlwifi-so-a0-gf4-a0-79.ucode +Version: 76.27f1c37b.0 + +File: iwlwifi-so-a0-gf4-a0-81.ucode +Version: 78.31fc9ae6.0 + +File: iwlwifi-so-a0-gf-a0-77.ucode +Version: 74.f92b5fed.0 + +File: iwlwifi-so-a0-gf-a0-78.ucode +Version: 74.3bfdc55f.0 + +File: iwlwifi-so-a0-gf-a0-79.ucode +Version: 75.27f1c37b.0 + +File: iwlwifi-so-a0-gf-a0-81.ucode +Version: 78.31fc9ae6.0 + +File: iwlwifi-so-a0-hr-b0-77.ucode +Version: 74.f92b5fed.0 + +File: iwlwifi-so-a0-hr-b0-79.ucode +Version: 75.27f1c37b.0 + +File: iwlwifi-so-a0-hr-b0-81.ucode +Version: 78.31fc9ae6.0 + +File: iwlwifi-so-a0-jf-b0-77.ucode +Version: 74.f92b5fed.0 + +File: iwlwifi-ty-a0-gf-a0.pnvm + +Licence: Redistributable. See LICENCE.iwlwifi_firmware for details + +Also available from http://wireless.kernel.org/en/users/Drivers/iwlwifi#Firmware + +-------------------------------------------------------------------------- + +Driver: ipu3-imgu - Intel IPU3 (3rd Gen Image Processing Unit) driver + +File: intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin +Version: irci_irci_ecr-master_20161208_0213_20170112_1500 +md5sum: 59abc311fce49c5a180b5a8a3917912d +Link: intel/ipu3-fw.bin -> irci_irci_ecr-master_20161208_0213_20170112_1500.bin + +Licence: Redistributable. See LICENSE.ipu3_firmware for details + +-------------------------------------------------------------------------- + +Driver: tehuti - Tehuti Networks 10G Ethernet + +File: tehuti/bdx.bin + +Licence: + + Copyright (C) 2007 Tehuti Networks Ltd. + + Permission is hereby granted for the distribution of this firmware data + in hexadecimal or equivalent format, provided this copyright notice is + accompanying it. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: typhoon - 3cr990 series Typhoon + +File: 3com/typhoon.bin + +Licence: +/* + * Copyright 1999-2004 3Com Corporation. All Rights Reserved. + * + * Redistribution and use in source and binary forms of the 3c990img.h + * microcode software are permitted provided that the following conditions + * are met: + * 1. Redistribution of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistribution in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of 3Com may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY 3COM ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * USER ACKNOWLEDGES AND AGREES THAT PURCHASE OR USE OF THE 3c990img.h + * MICROCODE SOFTWARE WILL NOT CREATE OR GIVE GROUNDS FOR A LICENSE BY + * IMPLICATION, ESTOPPEL, OR OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS + * (PATENT, COPYRIGHT, TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) + * EMBODIED IN ANY OTHER 3COM HARDWARE OR SOFTWARE EITHER SOLELY OR IN + * COMBINATION WITH THE 3c990img.h MICROCODE SOFTWARE + */ + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: yam - YAM driver for AX.25 + +File: yam/1200.bin +File: yam/9600.bin + +Licence: + * (C) F6FBB 1998 + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: pcnet_cs - NE2000 compatible PCMCIA adapter + +File: cis/LA-PCM.cis +File: cis/PCMLM28.cis +File: cis/DP83903.cis +File: cis/NE2K.cis +File: cis/tamarack.cis +File: cis/PE-200.cis +File: cis/PE520.cis +Source: cis/ + +Licence: Dual GPLv2/MPL + +Originally developed by the pcmcia-cs project +Copyright (C) 1998, 1999, 2000 David A. Hinds + +-------------------------------------------------------------------------- + +Driver: 3c589_cs - 3Com PCMCIA adapter + +File: cis/3CXEM556.cis +Source: cis/src/3CXEM556.cis + +Licence: Dual GPLv2/MPL + +Originally developed by the pcmcia-cs project +Copyright (C) 1998, 1999, 2000 David A. Hinds + +-------------------------------------------------------------------------- + +Driver: 3c574_cs - 3Com PCMCIA adapter + +File: cis/3CCFEM556.cis +Source: cis/src/3CCFEM556.cis + +Licence: Dual GPLv2/MPL + +Originally developed by the pcmcia-cs project +Copyright (C) 1998, 1999, 2000 David A. Hinds + +-------------------------------------------------------------------------- + +Driver: serial_cs - Serial PCMCIA adapter + +File: cis/MT5634ZLX.cis +File: cis/RS-COM-2P.cis +File: cis/COMpad2.cis +File: cis/COMpad4.cis +Source: cis/src/MT5634ZLX.cis +Source: cis/src/RS-COM-2P.cis +Source: cis/src/COMpad2.cis +Source: cis/src/COMpad4.cis + +Licence: Dual GPLv2/MPL + +Originally developed by the pcmcia-cs project +Copyright (C) 1998, 1999, 2000 David A. Hinds + +-------------------------------------------------------------------------- + +Driver: serial_cs - Serial PCMCIA adapter + +File: cis/SW_555_SER.cis +File: cis/SW_7xx_SER.cis +File: cis/SW_8xx_SER.cis + +Licence: GPLv3. See GPL-3 for details. + +Copyright Sierra Wireless + +-------------------------------------------------------------------------- + +Driver: smc91c92_cs - SMC 91Cxx PCMCIA + +File: ositech/Xilinx7OD.bin + +Licence: Allegedly GPL, but no source visible. Marked: + This file contains the firmware of Seven of Diamonds from OSITECH. + (Special thanks to Kevin MacPherson of OSITECH) + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: cx231xx - Conexant Cx23100/101/102 USB broadcast A/V decoder + +File: v4l-cx231xx-avcore-01.fw + +Driver: cx23418 - Conexant PCI Broadcast A/V with MPEG encoder + +File: v4l-cx23418-apu.fw +File: v4l-cx23418-cpu.fw +File: v4l-cx23418-dig.fw + +Driver: cx23885 - Conexant PCI Express Broadcast A/V decoder + +File: v4l-cx23885-avcore-01.fw + +Driver: cx23840 - Conexant sideport Broadcast A/V decoder + +File: v4l-cx25840.fw + +Licence: Redistributable. + + Conexant grants permission to use and redistribute these firmware + files for use with Conexant devices, but not as a part of the Linux + kernel or in any other form which would require these files themselves + to be covered by the terms of the GNU General Public License. + These firmware files are distributed in the hope that they will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- + +Driver: qlogicpti - PTI Qlogic, ISP Driver + +File: qlogic/isp1000.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: myri_sbus - MyriCOM Gigabit Ethernet + +File: myricom/lanai.bin + +Licence: Unknown + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: bnx2x: Broadcom Everest + +File: bnx2x/bnx2x-e1-7.13.1.0.fw +File: bnx2x/bnx2x-e1-7.13.11.0.fw +File: bnx2x/bnx2x-e1-7.13.15.0.fw +File: bnx2x/bnx2x-e1-7.13.21.0.fw +File: bnx2x/bnx2x-e1h-7.13.1.0.fw +File: bnx2x/bnx2x-e1h-7.13.11.0.fw +File: bnx2x/bnx2x-e1h-7.13.15.0.fw +File: bnx2x/bnx2x-e1h-7.13.21.0.fw +File: bnx2x/bnx2x-e2-7.13.1.0.fw +File: bnx2x/bnx2x-e2-7.13.11.0.fw +File: bnx2x/bnx2x-e2-7.13.15.0.fw +File: bnx2x/bnx2x-e2-7.13.21.0.fw + + +License: + Copyright (c) 2007-2011 Broadcom Corporation + + This file contains firmware data derived from proprietary unpublished + source code, Copyright (c) 2007-2011 Broadcom Corporation. + + Permission is hereby granted for the distribution of this firmware data + in hexadecimal or equivalent format, provided this copyright notice is + accompanying it. + + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: bnx2 - Broadcom NetXtremeII + +File: bnx2/bnx2-mips-06-6.2.3.fw +File: bnx2/bnx2-mips-09-6.2.1b.fw +File: bnx2/bnx2-rv2p-06-6.0.15.fw +File: bnx2/bnx2-rv2p-09-6.0.17.fw +File: bnx2/bnx2-rv2p-09ax-6.0.17.fw + +Licence: + + This file contains firmware data derived from proprietary unpublished + source code, Copyright (c) 2004 - 2010 Broadcom Corporation. + + Permission is hereby granted for the distribution of this firmware data + in hexadecimal or equivalent format, provided this copyright notice is + accompanying it. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: netxen_nic - NetXen Multi port (1/10) Gigabit Ethernet NIC + +File: phanfw.bin +Version: 4.0.590 + +Licence: Redistributable. See LICENCE.phanfw for details. + +Available from http://ldriver.qlogic.com/firmware/netxen_nic/new/ + +-------------------------------------------------------------------------- + +Driver: dvb-ttpci -- AV7110 cards + +File: av7110/bootcode.bin +Source: av7110/Boot.S +Source: av7110/Makefile + +Licence: GPLv2 or later. See GPL-2 and GPL-3 for details. + +ARM assembly source code from https://linuxtv.org/downloads/firmware/Boot.S + +-------------------------------------------------------------------------- + +Driver: snd-wavefront - ISA WaveFront sound card + +File: yamaha/yss225_registers.bin + +Licence: Allegedly GPLv2+, but no source visible. + +Found in hex form in kernel source, with the following comment: + Copyright (c) 1998-2002 by Paul Davis + +-------------------------------------------------------------------------- + +Driver: rt61pci - Ralink RT2561, RT2561S, RT2661 wireless MACs + +File: rt2561.bin +File: rt2561s.bin +File: rt2661.bin + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +Downloaded from http://www.ralinktech.com/ralink/Home/Support/Linux.html + +-------------------------------------------------------------------------- + +Driver: rt73usb - Ralink RT2571W, RT2671 wireless MACs + +File: rt73.bin + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +Downloaded from http://www.ralinktech.com/ralink/Home/Support/Linux.html + +--------------------------------------------------------------------------- + +Driver: mt7601u - MediaTek MT7601U Wireless MACs + +File: mediatek/mt7601u.bin +Version: 34 +Link: mt7601u.bin -> mediatek/mt7601u.bin + +Licence: Redistributable. See LICENCE.ralink_a_mediatek_company_firmware for details + +Downloaded from http://www.mediatek.com/en/downloads/ + +-------------------------------------------------------------------------- + +Driver: rt2800pci - Ralink RT2860, RT2890, RT3090, RT3290, RT5390 wireless MACs + +File: rt2860.bin +Version: 40 + +File: rt3290.bin +Version: 37 + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +Binary file supplied originally by Shiang Tu , latest +from http://www.mediatek.com/en/downloads1/downloads/ + +-------------------------------------------------------------------------- + +Driver: rt2860sta - Ralink RT3090 wireless MACs + +Link: rt3090.bin -> rt2860.bin + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +-------------------------------------------------------------------------- + +Driver: rt2800usb - Ralink RT2870, RT3070, RT3071, RT3072, RT5370 wireless MACs + +File: rt2870.bin +Version: 36 + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +Binary file supplied originally by Shiang Tu , latest +from http://www.mediatek.com/en/downloads1/downloads/ + +-------------------------------------------------------------------------- + +Driver: rt2870sta - Ralink RT2870, RT3070, RT3071 wireless MACs + +Link: rt3070.bin -> rt2870.bin +File: rt3071.bin + +Licence: Redistributable. See LICENCE.ralink-firmware.txt for details + +rt3071.bin is a copy of bytes 4096-8191 of rt2870.bin for compatibility. + +-------------------------------------------------------------------------- + +Driver: usbdux/usbduxfast/usbduxsigma - usbdux data acquisition cards + +File: usbdux_firmware.bin +File: usbduxfast_firmware.bin +File: usbduxsigma_firmware.bin +Source: usbdux/ + +Licence: GPLv2. See GPL-2 for details. + +Provided from the author, Bernd Porr + +-------------------------------------------------------------------------- + +Driver: xc4000 - Xceive 4000 Tuner driver + +File: dvb-fe-xc4000-1.4.1.fw +Version: 1.4.1 + +Licence: Redistributable. See LICENCE.xc4000 for details + +-------------------------------------------------------------------------- +Driver: xc5000 - Xceive 5000 Tuner driver + +File: dvb-fe-xc5000-1.6.114.fw +Version: 1.6.114 + +File: dvb-fe-xc5000c-4.1.30.7.fw +Version: 4.1.30.7 + +Licence: Redistributable. See LICENCE.xc5000 and LICENCE.xc5000c for details + +-------------------------------------------------------------------------- + +Driver: dib0700 - DiBcom dib0700 USB DVB bridge driver + +File: dvb-usb-dib0700-1.20.fw +Version: 1.20 + +Licence: Redistributable. See LICENSE.dib0700 for details + +-------------------------------------------------------------------------- + +Driver: ath3k - DFU Driver for Atheros bluetooth chipset AR3011 + +File: ath3k-1.fw +Version: 1.0 + +Fix EEPROM radio table issue and change PID to 3005 + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: mga - Matrox G200/G400/G550 + +File: matrox/g200_warp.fw +File: matrox/g400_warp.fw + +Licence: + +Copyright 1999 Matrox Graphics Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +MATROX GRAPHICS INC., OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: r128 - ATI Rage 128 + +File: r128/r128_cce.bin + +Licence: + +Copyright 2000 Advanced Micro Devices, Inc. + + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + +Found in decimal form in kernel source. + +-------------------------------------------------------------------------- + +Driver: radeon - ATI Radeon + +File: radeon/R100_cp.bin +File: radeon/R200_cp.bin +File: radeon/R300_cp.bin +File: radeon/R420_cp.bin +File: radeon/RS600_cp.bin +File: radeon/RS690_cp.bin +File: radeon/R520_cp.bin +File: radeon/R600_pfp.bin +File: radeon/R600_me.bin +File: radeon/RV610_pfp.bin +File: radeon/RV610_me.bin +File: radeon/RV630_pfp.bin +File: radeon/RV630_me.bin +File: radeon/RV620_pfp.bin +File: radeon/RV620_me.bin +File: radeon/RV635_pfp.bin +File: radeon/RV635_me.bin +File: radeon/RV670_pfp.bin +File: radeon/RV670_me.bin +File: radeon/RS780_pfp.bin +File: radeon/RS780_me.bin +File: radeon/RV770_pfp.bin +File: radeon/RV770_me.bin +File: radeon/RV730_pfp.bin +File: radeon/RV730_me.bin +File: radeon/RV710_pfp.bin +File: radeon/RV710_me.bin + +Licence: + + * Copyright 2007-2009 Advanced Micro Devices, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: radeon - ATI Radeon + +File: radeon/R600_rlc.bin +File: radeon/R600_uvd.bin +File: radeon/RS780_uvd.bin +File: radeon/R700_rlc.bin +File: radeon/RV710_uvd.bin +File: radeon/RV710_smc.bin +File: radeon/RV730_smc.bin +File: radeon/RV740_smc.bin +File: radeon/RV770_smc.bin +File: radeon/RV770_uvd.bin +File: radeon/CEDAR_me.bin +File: radeon/CEDAR_pfp.bin +File: radeon/CEDAR_rlc.bin +File: radeon/CEDAR_smc.bin +File: radeon/CYPRESS_me.bin +File: radeon/CYPRESS_pfp.bin +File: radeon/CYPRESS_rlc.bin +File: radeon/CYPRESS_uvd.bin +File: radeon/CYPRESS_smc.bin +File: radeon/JUNIPER_me.bin +File: radeon/JUNIPER_pfp.bin +File: radeon/JUNIPER_rlc.bin +File: radeon/JUNIPER_smc.bin +File: radeon/REDWOOD_me.bin +File: radeon/REDWOOD_pfp.bin +File: radeon/REDWOOD_rlc.bin +File: radeon/REDWOOD_smc.bin +File: radeon/PALM_me.bin +File: radeon/PALM_pfp.bin +File: radeon/SUMO_rlc.bin +File: radeon/SUMO_uvd.bin +File: radeon/BARTS_mc.bin +File: radeon/BARTS_me.bin +File: radeon/BARTS_pfp.bin +File: radeon/BARTS_smc.bin +File: radeon/BTC_rlc.bin +File: radeon/CAICOS_mc.bin +File: radeon/CAICOS_me.bin +File: radeon/CAICOS_pfp.bin +File: radeon/CAICOS_smc.bin +File: radeon/TURKS_mc.bin +File: radeon/TURKS_me.bin +File: radeon/TURKS_pfp.bin +File: radeon/TURKS_smc.bin +File: radeon/CAYMAN_mc.bin +File: radeon/CAYMAN_me.bin +File: radeon/CAYMAN_pfp.bin +File: radeon/CAYMAN_rlc.bin +File: radeon/CAYMAN_smc.bin +File: radeon/SUMO_pfp.bin +File: radeon/SUMO_me.bin +File: radeon/SUMO2_pfp.bin +File: radeon/SUMO2_me.bin +File: radeon/ARUBA_me.bin +File: radeon/ARUBA_pfp.bin +File: radeon/ARUBA_rlc.bin +File: radeon/PITCAIRN_ce.bin +File: radeon/PITCAIRN_mc.bin +File: radeon/PITCAIRN_mc2.bin +File: radeon/PITCAIRN_me.bin +File: radeon/PITCAIRN_pfp.bin +File: radeon/PITCAIRN_rlc.bin +File: radeon/PITCAIRN_smc.bin +File: radeon/TAHITI_ce.bin +File: radeon/TAHITI_mc.bin +File: radeon/TAHITI_mc2.bin +File: radeon/TAHITI_me.bin +File: radeon/TAHITI_pfp.bin +File: radeon/TAHITI_rlc.bin +File: radeon/TAHITI_uvd.bin +File: radeon/TAHITI_smc.bin +File: radeon/TAHITI_vce.bin +File: radeon/VERDE_ce.bin +File: radeon/VERDE_mc.bin +File: radeon/VERDE_mc2.bin +File: radeon/VERDE_me.bin +File: radeon/VERDE_pfp.bin +File: radeon/VERDE_rlc.bin +File: radeon/VERDE_smc.bin +File: radeon/OLAND_ce.bin +File: radeon/OLAND_mc.bin +File: radeon/OLAND_mc2.bin +File: radeon/OLAND_me.bin +File: radeon/OLAND_pfp.bin +File: radeon/OLAND_rlc.bin +File: radeon/OLAND_smc.bin +File: radeon/HAINAN_ce.bin +File: radeon/HAINAN_mc.bin +File: radeon/HAINAN_mc2.bin +File: radeon/HAINAN_me.bin +File: radeon/HAINAN_pfp.bin +File: radeon/HAINAN_rlc.bin +File: radeon/HAINAN_smc.bin +File: radeon/BONAIRE_ce.bin +File: radeon/BONAIRE_mc.bin +File: radeon/BONAIRE_mc2.bin +File: radeon/BONAIRE_me.bin +File: radeon/BONAIRE_mec.bin +File: radeon/BONAIRE_pfp.bin +File: radeon/BONAIRE_rlc.bin +File: radeon/BONAIRE_sdma.bin +File: radeon/BONAIRE_uvd.bin +File: radeon/BONAIRE_smc.bin +File: radeon/BONAIRE_vce.bin +File: radeon/KABINI_ce.bin +File: radeon/KABINI_me.bin +File: radeon/KABINI_mec.bin +File: radeon/KABINI_pfp.bin +File: radeon/KABINI_rlc.bin +File: radeon/KABINI_sdma.bin +File: radeon/KAVERI_ce.bin +File: radeon/KAVERI_me.bin +File: radeon/KAVERI_mec.bin +File: radeon/KAVERI_pfp.bin +File: radeon/KAVERI_rlc.bin +File: radeon/KAVERI_sdma.bin +File: radeon/HAWAII_ce.bin +File: radeon/HAWAII_mc.bin +File: radeon/HAWAII_mc2.bin +File: radeon/HAWAII_me.bin +File: radeon/HAWAII_mec.bin +File: radeon/HAWAII_pfp.bin +File: radeon/HAWAII_rlc.bin +File: radeon/HAWAII_sdma.bin +File: radeon/HAWAII_smc.bin +File: radeon/MULLINS_ce.bin +File: radeon/MULLINS_me.bin +File: radeon/MULLINS_mec.bin +File: radeon/MULLINS_pfp.bin +File: radeon/MULLINS_rlc.bin +File: radeon/MULLINS_sdma.bin +File: radeon/pitcairn_ce.bin +File: radeon/pitcairn_k_smc.bin +File: radeon/pitcairn_mc.bin +File: radeon/pitcairn_me.bin +File: radeon/pitcairn_pfp.bin +File: radeon/pitcairn_rlc.bin +File: radeon/pitcairn_smc.bin +File: radeon/tahiti_ce.bin +File: radeon/tahiti_k_smc.bin +File: radeon/tahiti_mc.bin +File: radeon/tahiti_me.bin +File: radeon/tahiti_pfp.bin +File: radeon/tahiti_rlc.bin +File: radeon/tahiti_smc.bin +File: radeon/verde_ce.bin +File: radeon/verde_k_smc.bin +File: radeon/verde_mc.bin +File: radeon/verde_me.bin +File: radeon/verde_pfp.bin +File: radeon/verde_rlc.bin +File: radeon/verde_smc.bin +File: radeon/oland_ce.bin +File: radeon/oland_k_smc.bin +File: radeon/oland_mc.bin +File: radeon/oland_me.bin +File: radeon/oland_pfp.bin +File: radeon/oland_rlc.bin +File: radeon/oland_smc.bin +File: radeon/hainan_ce.bin +File: radeon/hainan_k_smc.bin +File: radeon/hainan_mc.bin +File: radeon/hainan_me.bin +File: radeon/hainan_pfp.bin +File: radeon/hainan_rlc.bin +File: radeon/hainan_smc.bin +File: radeon/bonaire_ce.bin +File: radeon/bonaire_k_smc.bin +File: radeon/bonaire_mc.bin +File: radeon/bonaire_me.bin +File: radeon/bonaire_mec.bin +File: radeon/bonaire_pfp.bin +File: radeon/bonaire_rlc.bin +File: radeon/bonaire_sdma.bin +File: radeon/bonaire_sdma1.bin +File: radeon/bonaire_smc.bin +File: radeon/bonaire_uvd.bin +File: radeon/bonaire_vce.bin +File: radeon/kabini_ce.bin +File: radeon/kabini_me.bin +File: radeon/kabini_mec.bin +File: radeon/kabini_pfp.bin +File: radeon/kabini_rlc.bin +File: radeon/kabini_sdma.bin +File: radeon/kabini_sdma1.bin +File: radeon/kabini_uvd.bin +File: radeon/kabini_vce.bin +File: radeon/kaveri_ce.bin +File: radeon/kaveri_me.bin +File: radeon/kaveri_mec.bin +File: radeon/kaveri_mec2.bin +File: radeon/kaveri_pfp.bin +File: radeon/kaveri_rlc.bin +File: radeon/kaveri_sdma.bin +File: radeon/kaveri_sdma1.bin +File: radeon/kaveri_uvd.bin +File: radeon/kaveri_vce.bin +File: radeon/hawaii_ce.bin +File: radeon/hawaii_k_smc.bin +File: radeon/hawaii_mc.bin +File: radeon/hawaii_me.bin +File: radeon/hawaii_mec.bin +File: radeon/hawaii_pfp.bin +File: radeon/hawaii_rlc.bin +File: radeon/hawaii_sdma.bin +File: radeon/hawaii_sdma1.bin +File: radeon/hawaii_smc.bin +File: radeon/hawaii_uvd.bin +File: radeon/hawaii_vce.bin +File: radeon/mullins_ce.bin +File: radeon/mullins_me.bin +File: radeon/mullins_mec.bin +File: radeon/mullins_pfp.bin +File: radeon/mullins_rlc.bin +File: radeon/mullins_sdma.bin +File: radeon/mullins_sdma1.bin +File: radeon/mullins_uvd.bin +File: radeon/mullins_vce.bin +File: radeon/banks_k_2_smc.bin +File: radeon/si58_mc.bin + +Licence: Redistributable. See LICENSE.radeon for details. + +-------------------------------------------------------------------------- + +Driver: amdgpu - AMD Radeon + +File: amdgpu/tahiti_ce.bin +File: amdgpu/tahiti_k_smc.bin +File: amdgpu/tahiti_mc.bin +File: amdgpu/tahiti_me.bin +File: amdgpu/tahiti_pfp.bin +File: amdgpu/tahiti_rlc.bin +File: amdgpu/tahiti_smc.bin +File: amdgpu/tahiti_uvd.bin +File: amdgpu/pitcairn_ce.bin +File: amdgpu/pitcairn_k_smc.bin +File: amdgpu/pitcairn_mc.bin +File: amdgpu/pitcairn_me.bin +File: amdgpu/pitcairn_pfp.bin +File: amdgpu/pitcairn_rlc.bin +File: amdgpu/pitcairn_smc.bin +File: amdgpu/pitcairn_uvd.bin +File: amdgpu/verde_ce.bin +File: amdgpu/verde_k_smc.bin +File: amdgpu/verde_mc.bin +File: amdgpu/verde_me.bin +File: amdgpu/verde_pfp.bin +File: amdgpu/verde_rlc.bin +File: amdgpu/verde_smc.bin +File: amdgpu/verde_uvd.bin +File: amdgpu/hainan_ce.bin +File: amdgpu/hainan_k_smc.bin +File: amdgpu/hainan_mc.bin +File: amdgpu/hainan_me.bin +File: amdgpu/hainan_pfp.bin +File: amdgpu/hainan_rlc.bin +File: amdgpu/hainan_smc.bin +File: amdgpu/oland_ce.bin +File: amdgpu/oland_k_smc.bin +File: amdgpu/oland_mc.bin +File: amdgpu/oland_me.bin +File: amdgpu/oland_pfp.bin +File: amdgpu/oland_rlc.bin +File: amdgpu/oland_smc.bin +File: amdgpu/oland_uvd.bin +File: amdgpu/si58_mc.bin +File: amdgpu/banks_k_2_smc.bin +File: amdgpu/bonaire_ce.bin +File: amdgpu/bonaire_k_smc.bin +File: amdgpu/bonaire_mc.bin +File: amdgpu/bonaire_me.bin +File: amdgpu/bonaire_mec.bin +File: amdgpu/bonaire_pfp.bin +File: amdgpu/bonaire_rlc.bin +File: amdgpu/bonaire_sdma.bin +File: amdgpu/bonaire_sdma1.bin +File: amdgpu/bonaire_smc.bin +File: amdgpu/bonaire_uvd.bin +File: amdgpu/bonaire_vce.bin +File: amdgpu/hawaii_ce.bin +File: amdgpu/hawaii_k_smc.bin +File: amdgpu/hawaii_mc.bin +File: amdgpu/hawaii_me.bin +File: amdgpu/hawaii_mec.bin +File: amdgpu/hawaii_pfp.bin +File: amdgpu/hawaii_rlc.bin +File: amdgpu/hawaii_sdma.bin +File: amdgpu/hawaii_sdma1.bin +File: amdgpu/hawaii_smc.bin +File: amdgpu/hawaii_uvd.bin +File: amdgpu/hawaii_vce.bin +File: amdgpu/kabini_ce.bin +File: amdgpu/kabini_me.bin +File: amdgpu/kabini_mec.bin +File: amdgpu/kabini_pfp.bin +File: amdgpu/kabini_rlc.bin +File: amdgpu/kabini_sdma.bin +File: amdgpu/kabini_sdma1.bin +File: amdgpu/kabini_uvd.bin +File: amdgpu/kabini_vce.bin +File: amdgpu/mullins_ce.bin +File: amdgpu/mullins_me.bin +File: amdgpu/mullins_mec.bin +File: amdgpu/mullins_pfp.bin +File: amdgpu/mullins_rlc.bin +File: amdgpu/mullins_sdma.bin +File: amdgpu/mullins_sdma1.bin +File: amdgpu/mullins_uvd.bin +File: amdgpu/mullins_vce.bin +File: amdgpu/kaveri_ce.bin +File: amdgpu/kaveri_me.bin +File: amdgpu/kaveri_mec.bin +File: amdgpu/kaveri_mec2.bin +File: amdgpu/kaveri_pfp.bin +File: amdgpu/kaveri_rlc.bin +File: amdgpu/kaveri_sdma.bin +File: amdgpu/kaveri_sdma1.bin +File: amdgpu/kaveri_uvd.bin +File: amdgpu/kaveri_vce.bin +File: amdgpu/topaz_ce.bin +File: amdgpu/topaz_k_smc.bin +File: amdgpu/topaz_mc.bin +File: amdgpu/topaz_me.bin +File: amdgpu/topaz_mec2.bin +File: amdgpu/topaz_mec.bin +File: amdgpu/topaz_pfp.bin +File: amdgpu/topaz_rlc.bin +File: amdgpu/topaz_sdma1.bin +File: amdgpu/topaz_sdma.bin +File: amdgpu/topaz_smc.bin +File: amdgpu/tonga_ce.bin +File: amdgpu/tonga_k_smc.bin +File: amdgpu/tonga_mc.bin +File: amdgpu/tonga_me.bin +File: amdgpu/tonga_mec2.bin +File: amdgpu/tonga_mec.bin +File: amdgpu/tonga_pfp.bin +File: amdgpu/tonga_rlc.bin +File: amdgpu/tonga_sdma1.bin +File: amdgpu/tonga_sdma.bin +File: amdgpu/tonga_smc.bin +File: amdgpu/tonga_uvd.bin +File: amdgpu/tonga_vce.bin +File: amdgpu/carrizo_ce.bin +File: amdgpu/carrizo_me.bin +File: amdgpu/carrizo_mec2.bin +File: amdgpu/carrizo_mec.bin +File: amdgpu/carrizo_pfp.bin +File: amdgpu/carrizo_rlc.bin +File: amdgpu/carrizo_sdma1.bin +File: amdgpu/carrizo_sdma.bin +File: amdgpu/carrizo_uvd.bin +File: amdgpu/carrizo_vce.bin +File: amdgpu/fiji_ce.bin +File: amdgpu/fiji_mc.bin +File: amdgpu/fiji_me.bin +File: amdgpu/fiji_mec2.bin +File: amdgpu/fiji_mec.bin +File: amdgpu/fiji_pfp.bin +File: amdgpu/fiji_rlc.bin +File: amdgpu/fiji_sdma1.bin +File: amdgpu/fiji_sdma.bin +File: amdgpu/fiji_smc.bin +File: amdgpu/fiji_uvd.bin +File: amdgpu/fiji_vce.bin +File: amdgpu/stoney_ce.bin +File: amdgpu/stoney_me.bin +File: amdgpu/stoney_mec.bin +File: amdgpu/stoney_pfp.bin +File: amdgpu/stoney_rlc.bin +File: amdgpu/stoney_sdma.bin +File: amdgpu/stoney_uvd.bin +File: amdgpu/stoney_vce.bin +File: amdgpu/polaris10_ce.bin +File: amdgpu/polaris10_ce_2.bin +File: amdgpu/polaris10_mc.bin +File: amdgpu/polaris10_k_mc.bin +File: amdgpu/polaris10_me.bin +File: amdgpu/polaris10_me_2.bin +File: amdgpu/polaris10_mec2.bin +File: amdgpu/polaris10_mec2_2.bin +File: amdgpu/polaris10_mec.bin +File: amdgpu/polaris10_mec_2.bin +File: amdgpu/polaris10_pfp.bin +File: amdgpu/polaris10_pfp_2.bin +File: amdgpu/polaris10_rlc.bin +File: amdgpu/polaris10_sdma1.bin +File: amdgpu/polaris10_sdma.bin +File: amdgpu/polaris10_smc.bin +File: amdgpu/polaris10_k_smc.bin +File: amdgpu/polaris10_k2_smc.bin +File: amdgpu/polaris10_smc_sk.bin +File: amdgpu/polaris10_uvd.bin +File: amdgpu/polaris10_vce.bin +File: amdgpu/polaris11_ce.bin +File: amdgpu/polaris11_ce_2.bin +File: amdgpu/polaris11_mc.bin +File: amdgpu/polaris11_k_mc.bin +File: amdgpu/polaris11_me.bin +File: amdgpu/polaris11_me_2.bin +File: amdgpu/polaris11_mec2.bin +File: amdgpu/polaris11_mec2_2.bin +File: amdgpu/polaris11_mec.bin +File: amdgpu/polaris11_mec_2.bin +File: amdgpu/polaris11_pfp.bin +File: amdgpu/polaris11_pfp_2.bin +File: amdgpu/polaris11_rlc.bin +File: amdgpu/polaris11_sdma1.bin +File: amdgpu/polaris11_sdma.bin +File: amdgpu/polaris11_smc.bin +File: amdgpu/polaris11_k_smc.bin +File: amdgpu/polaris11_k2_smc.bin +File: amdgpu/polaris11_smc_sk.bin +File: amdgpu/polaris11_uvd.bin +File: amdgpu/polaris11_vce.bin +File: amdgpu/polaris12_ce.bin +File: amdgpu/polaris12_ce_2.bin +File: amdgpu/polaris12_mc.bin +File: amdgpu/polaris12_k_mc.bin +File: amdgpu/polaris12_32_mc.bin +File: amdgpu/polaris12_me.bin +File: amdgpu/polaris12_me_2.bin +File: amdgpu/polaris12_mec.bin +File: amdgpu/polaris12_mec_2.bin +File: amdgpu/polaris12_mec2.bin +File: amdgpu/polaris12_mec2_2.bin +File: amdgpu/polaris12_pfp.bin +File: amdgpu/polaris12_pfp_2.bin +File: amdgpu/polaris12_rlc.bin +File: amdgpu/polaris12_sdma.bin +File: amdgpu/polaris12_sdma1.bin +File: amdgpu/polaris12_smc.bin +File: amdgpu/polaris12_k_smc.bin +File: amdgpu/polaris12_uvd.bin +File: amdgpu/polaris12_vce.bin +File: amdgpu/vegam_ce.bin +File: amdgpu/vegam_me.bin +File: amdgpu/vegam_mec.bin +File: amdgpu/vegam_mec2.bin +File: amdgpu/vegam_pfp.bin +File: amdgpu/vegam_rlc.bin +File: amdgpu/vegam_sdma.bin +File: amdgpu/vegam_sdma1.bin +File: amdgpu/vegam_smc.bin +File: amdgpu/vegam_uvd.bin +File: amdgpu/vegam_vce.bin +File: amdgpu/vega10_acg_smc.bin +File: amdgpu/vega10_asd.bin +File: amdgpu/vega10_ce.bin +File: amdgpu/vega10_gpu_info.bin +File: amdgpu/vega10_me.bin +File: amdgpu/vega10_mec.bin +File: amdgpu/vega10_mec2.bin +File: amdgpu/vega10_pfp.bin +File: amdgpu/vega10_rlc.bin +File: amdgpu/vega10_sdma.bin +File: amdgpu/vega10_sdma1.bin +File: amdgpu/vega10_smc.bin +File: amdgpu/vega10_sos.bin +File: amdgpu/vega10_uvd.bin +File: amdgpu/vega10_vce.bin +File: amdgpu/vega12_asd.bin +File: amdgpu/vega12_ce.bin +File: amdgpu/vega12_gpu_info.bin +File: amdgpu/vega12_me.bin +File: amdgpu/vega12_mec.bin +File: amdgpu/vega12_mec2.bin +File: amdgpu/vega12_pfp.bin +File: amdgpu/vega12_rlc.bin +File: amdgpu/vega12_sdma.bin +File: amdgpu/vega12_sdma1.bin +File: amdgpu/vega12_smc.bin +File: amdgpu/vega12_sos.bin +File: amdgpu/vega12_uvd.bin +File: amdgpu/vega12_vce.bin +File: amdgpu/vega20_asd.bin +File: amdgpu/vega20_ce.bin +File: amdgpu/vega20_me.bin +File: amdgpu/vega20_mec.bin +File: amdgpu/vega20_mec2.bin +File: amdgpu/vega20_pfp.bin +File: amdgpu/vega20_rlc.bin +File: amdgpu/vega20_sdma.bin +File: amdgpu/vega20_sdma1.bin +File: amdgpu/vega20_smc.bin +File: amdgpu/vega20_sos.bin +File: amdgpu/vega20_uvd.bin +File: amdgpu/vega20_vce.bin +File: amdgpu/vega20_ta.bin +File: amdgpu/raven_asd.bin +File: amdgpu/raven_ce.bin +File: amdgpu/raven_gpu_info.bin +File: amdgpu/raven_me.bin +File: amdgpu/raven_mec.bin +File: amdgpu/raven_mec2.bin +File: amdgpu/raven_pfp.bin +File: amdgpu/raven_rlc.bin +File: amdgpu/raven_sdma.bin +File: amdgpu/raven_vcn.bin +File: amdgpu/raven_dmcu.bin +File: amdgpu/raven_kicker_rlc.bin +File: amdgpu/raven_ta.bin +File: amdgpu/picasso_asd.bin +File: amdgpu/picasso_ce.bin +File: amdgpu/picasso_gpu_info.bin +File: amdgpu/picasso_me.bin +File: amdgpu/picasso_mec.bin +File: amdgpu/picasso_mec2.bin +File: amdgpu/picasso_pfp.bin +File: amdgpu/picasso_rlc.bin +File: amdgpu/picasso_rlc_am4.bin +File: amdgpu/picasso_sdma.bin +File: amdgpu/picasso_vcn.bin +File: amdgpu/picasso_ta.bin +File: amdgpu/raven2_asd.bin +File: amdgpu/raven2_ce.bin +File: amdgpu/raven2_gpu_info.bin +File: amdgpu/raven2_me.bin +File: amdgpu/raven2_mec.bin +File: amdgpu/raven2_mec2.bin +File: amdgpu/raven2_pfp.bin +File: amdgpu/raven2_rlc.bin +File: amdgpu/raven2_sdma.bin +File: amdgpu/raven2_vcn.bin +File: amdgpu/raven2_ta.bin +File: amdgpu/navi10_asd.bin +File: amdgpu/navi10_ce.bin +File: amdgpu/navi10_gpu_info.bin +File: amdgpu/navi10_me.bin +File: amdgpu/navi10_mec.bin +File: amdgpu/navi10_mec2.bin +File: amdgpu/navi10_pfp.bin +File: amdgpu/navi10_rlc.bin +File: amdgpu/navi10_sdma.bin +File: amdgpu/navi10_sdma1.bin +File: amdgpu/navi10_smc.bin +File: amdgpu/navi10_sos.bin +File: amdgpu/navi10_vcn.bin +File: amdgpu/navi10_ta.bin +File: amdgpu/navi14_asd.bin +File: amdgpu/navi14_ce.bin +File: amdgpu/navi14_ce_wks.bin +File: amdgpu/navi14_gpu_info.bin +File: amdgpu/navi14_me.bin +File: amdgpu/navi14_me_wks.bin +File: amdgpu/navi14_mec.bin +File: amdgpu/navi14_mec_wks.bin +File: amdgpu/navi14_mec2.bin +File: amdgpu/navi14_mec2_wks.bin +File: amdgpu/navi14_pfp.bin +File: amdgpu/navi14_pfp_wks.bin +File: amdgpu/navi14_rlc.bin +File: amdgpu/navi14_sdma.bin +File: amdgpu/navi14_sdma1.bin +File: amdgpu/navi14_smc.bin +File: amdgpu/navi14_sos.bin +File: amdgpu/navi14_vcn.bin +File: amdgpu/navi14_ta.bin +File: amdgpu/navi12_asd.bin +File: amdgpu/navi12_ce.bin +File: amdgpu/navi12_dmcu.bin +File: amdgpu/navi12_gpu_info.bin +File: amdgpu/navi12_me.bin +File: amdgpu/navi12_mec.bin +File: amdgpu/navi12_mec2.bin +File: amdgpu/navi12_pfp.bin +File: amdgpu/navi12_rlc.bin +File: amdgpu/navi12_sdma.bin +File: amdgpu/navi12_sdma1.bin +File: amdgpu/navi12_smc.bin +File: amdgpu/navi12_sos.bin +File: amdgpu/navi12_vcn.bin +File: amdgpu/navi12_ta.bin +File: amdgpu/renoir_asd.bin +File: amdgpu/renoir_ce.bin +File: amdgpu/renoir_gpu_info.bin +File: amdgpu/renoir_me.bin +File: amdgpu/renoir_mec.bin +File: amdgpu/renoir_mec2.bin +File: amdgpu/renoir_pfp.bin +File: amdgpu/renoir_rlc.bin +File: amdgpu/renoir_sdma.bin +File: amdgpu/renoir_vcn.bin +File: amdgpu/renoir_dmcub.bin +File: amdgpu/renoir_ta.bin +File: amdgpu/sienna_cichlid_ce.bin +File: amdgpu/sienna_cichlid_dmcub.bin +File: amdgpu/sienna_cichlid_me.bin +File: amdgpu/sienna_cichlid_mec.bin +File: amdgpu/sienna_cichlid_mec2.bin +File: amdgpu/sienna_cichlid_pfp.bin +File: amdgpu/sienna_cichlid_rlc.bin +File: amdgpu/sienna_cichlid_sdma.bin +File: amdgpu/sienna_cichlid_smc.bin +File: amdgpu/sienna_cichlid_sos.bin +File: amdgpu/sienna_cichlid_ta.bin +File: amdgpu/sienna_cichlid_vcn.bin +File: amdgpu/green_sardine_asd.bin +File: amdgpu/green_sardine_ce.bin +File: amdgpu/green_sardine_dmcub.bin +File: amdgpu/green_sardine_me.bin +File: amdgpu/green_sardine_mec2.bin +File: amdgpu/green_sardine_mec.bin +File: amdgpu/green_sardine_pfp.bin +File: amdgpu/green_sardine_rlc.bin +File: amdgpu/green_sardine_sdma.bin +File: amdgpu/green_sardine_ta.bin +File: amdgpu/green_sardine_vcn.bin +File: amdgpu/navy_flounder_ce.bin +File: amdgpu/navy_flounder_dmcub.bin +File: amdgpu/navy_flounder_me.bin +File: amdgpu/navy_flounder_mec.bin +File: amdgpu/navy_flounder_mec2.bin +File: amdgpu/navy_flounder_pfp.bin +File: amdgpu/navy_flounder_rlc.bin +File: amdgpu/navy_flounder_sdma.bin +File: amdgpu/navy_flounder_smc.bin +File: amdgpu/navy_flounder_sos.bin +File: amdgpu/navy_flounder_ta.bin +File: amdgpu/navy_flounder_vcn.bin +File: amdgpu/arcturus_asd.bin +File: amdgpu/arcturus_gpu_info.bin +File: amdgpu/arcturus_mec2.bin +File: amdgpu/arcturus_mec.bin +File: amdgpu/arcturus_rlc.bin +File: amdgpu/arcturus_sdma.bin +File: amdgpu/arcturus_smc.bin +File: amdgpu/arcturus_sos.bin +File: amdgpu/arcturus_ta.bin +File: amdgpu/arcturus_vcn.bin +File: amdgpu/dimgrey_cavefish_ce.bin +File: amdgpu/dimgrey_cavefish_dmcub.bin +File: amdgpu/dimgrey_cavefish_me.bin +File: amdgpu/dimgrey_cavefish_mec.bin +File: amdgpu/dimgrey_cavefish_mec2.bin +File: amdgpu/dimgrey_cavefish_pfp.bin +File: amdgpu/dimgrey_cavefish_rlc.bin +File: amdgpu/dimgrey_cavefish_sdma.bin +File: amdgpu/dimgrey_cavefish_smc.bin +File: amdgpu/dimgrey_cavefish_sos.bin +File: amdgpu/dimgrey_cavefish_ta.bin +File: amdgpu/dimgrey_cavefish_vcn.bin +File: amdgpu/vangogh_asd.bin +File: amdgpu/vangogh_ce.bin +File: amdgpu/vangogh_dmcub.bin +File: amdgpu/vangogh_me.bin +File: amdgpu/vangogh_mec2.bin +File: amdgpu/vangogh_mec.bin +File: amdgpu/vangogh_pfp.bin +File: amdgpu/vangogh_rlc.bin +File: amdgpu/vangogh_sdma.bin +File: amdgpu/vangogh_toc.bin +File: amdgpu/vangogh_vcn.bin +File: amdgpu/yellow_carp_asd.bin +File: amdgpu/yellow_carp_ce.bin +File: amdgpu/yellow_carp_dmcub.bin +File: amdgpu/yellow_carp_me.bin +File: amdgpu/yellow_carp_mec.bin +File: amdgpu/yellow_carp_mec2.bin +File: amdgpu/yellow_carp_pfp.bin +File: amdgpu/yellow_carp_rlc.bin +File: amdgpu/yellow_carp_sdma.bin +File: amdgpu/yellow_carp_ta.bin +File: amdgpu/yellow_carp_toc.bin +File: amdgpu/yellow_carp_vcn.bin +File: amdgpu/beige_goby_ce.bin +File: amdgpu/beige_goby_dmcub.bin +File: amdgpu/beige_goby_me.bin +File: amdgpu/beige_goby_mec.bin +File: amdgpu/beige_goby_mec2.bin +File: amdgpu/beige_goby_pfp.bin +File: amdgpu/beige_goby_rlc.bin +File: amdgpu/beige_goby_sdma.bin +File: amdgpu/beige_goby_smc.bin +File: amdgpu/beige_goby_sos.bin +File: amdgpu/beige_goby_ta.bin +File: amdgpu/beige_goby_vcn.bin +File: amdgpu/cyan_skillfish2_ce.bin +File: amdgpu/cyan_skillfish2_me.bin +File: amdgpu/cyan_skillfish2_mec.bin +File: amdgpu/cyan_skillfish2_mec2.bin +File: amdgpu/cyan_skillfish2_pfp.bin +File: amdgpu/cyan_skillfish2_rlc.bin +File: amdgpu/cyan_skillfish2_sdma.bin +File: amdgpu/cyan_skillfish2_sdma1.bin +File: amdgpu/aldebaran_mec2.bin +File: amdgpu/aldebaran_mec.bin +File: amdgpu/aldebaran_rlc.bin +File: amdgpu/aldebaran_sdma.bin +File: amdgpu/aldebaran_sjt_mec2.bin +File: amdgpu/aldebaran_sjt_mec.bin +File: amdgpu/aldebaran_smc.bin +File: amdgpu/aldebaran_sos.bin +File: amdgpu/aldebaran_ta.bin +File: amdgpu/aldebaran_vcn.bin +File: amdgpu/gc_10_3_6_ce.bin +File: amdgpu/gc_10_3_6_me.bin +File: amdgpu/gc_10_3_6_mec.bin +File: amdgpu/gc_10_3_6_mec2.bin +File: amdgpu/gc_10_3_6_pfp.bin +File: amdgpu/gc_10_3_6_rlc.bin +File: amdgpu/gc_10_3_7_ce.bin +File: amdgpu/gc_10_3_7_me.bin +File: amdgpu/gc_10_3_7_mec.bin +File: amdgpu/gc_10_3_7_mec2.bin +File: amdgpu/gc_10_3_7_pfp.bin +File: amdgpu/gc_10_3_7_rlc.bin +File: amdgpu/gc_11_0_0_imu.bin +File: amdgpu/gc_11_0_0_me.bin +File: amdgpu/gc_11_0_0_mec.bin +File: amdgpu/gc_11_0_0_mes1.bin +File: amdgpu/gc_11_0_0_mes.bin +File: amdgpu/gc_11_0_0_mes_2.bin +File: amdgpu/gc_11_0_0_pfp.bin +File: amdgpu/gc_11_0_0_rlc.bin +File: amdgpu/gc_11_0_1_imu.bin +File: amdgpu/gc_11_0_1_me.bin +File: amdgpu/gc_11_0_1_mec.bin +File: amdgpu/gc_11_0_1_mes.bin +File: amdgpu/gc_11_0_1_mes1.bin +File: amdgpu/gc_11_0_1_mes_2.bin +File: amdgpu/gc_11_0_1_pfp.bin +File: amdgpu/gc_11_0_1_rlc.bin +File: amdgpu/gc_11_0_2_imu.bin +File: amdgpu/gc_11_0_2_me.bin +File: amdgpu/gc_11_0_2_mec.bin +File: amdgpu/gc_11_0_2_mes1.bin +File: amdgpu/gc_11_0_2_mes.bin +File: amdgpu/gc_11_0_2_mes_2.bin +File: amdgpu/gc_11_0_2_pfp.bin +File: amdgpu/gc_11_0_2_rlc.bin +File: amdgpu/gc_11_0_4_imu.bin +File: amdgpu/gc_11_0_4_me.bin +File: amdgpu/gc_11_0_4_mec.bin +File: amdgpu/gc_11_0_4_mes.bin +File: amdgpu/gc_11_0_4_mes1.bin +File: amdgpu/gc_11_0_4_mes_2.bin +File: amdgpu/gc_11_0_4_pfp.bin +File: amdgpu/gc_11_0_4_rlc.bin +File: amdgpu/dcn_3_1_4_dmcub.bin +File: amdgpu/dcn_3_1_5_dmcub.bin +File: amdgpu/dcn_3_1_6_dmcub.bin +File: amdgpu/dcn_3_2_0_dmcub.bin +File: amdgpu/dcn_3_2_1_dmcub.bin +File: amdgpu/psp_13_0_0_sos.bin +File: amdgpu/psp_13_0_0_ta.bin +File: amdgpu/psp_13_0_4_ta.bin +File: amdgpu/psp_13_0_4_toc.bin +File: amdgpu/psp_13_0_5_asd.bin +File: amdgpu/psp_13_0_5_ta.bin +File: amdgpu/psp_13_0_5_toc.bin +File: amdgpu/psp_13_0_7_sos.bin +File: amdgpu/psp_13_0_7_ta.bin +File: amdgpu/psp_13_0_8_asd.bin +File: amdgpu/psp_13_0_8_ta.bin +File: amdgpu/psp_13_0_8_toc.bin +File: amdgpu/psp_13_0_11_ta.bin +File: amdgpu/psp_13_0_11_toc.bin +File: amdgpu/sdma_5_2_6.bin +File: amdgpu/sdma_5_2_7.bin +File: amdgpu/sdma_6_0_0.bin +File: amdgpu/sdma_6_0_1.bin +File: amdgpu/sdma_6_0_2.bin +File: amdgpu/smu_13_0_0.bin +File: amdgpu/smu_13_0_7.bin +File: amdgpu/vcn_3_1_2.bin +File: amdgpu/vcn_4_0_0.bin +File: amdgpu/vcn_4_0_2.bin +File: amdgpu/vcn_4_0_4.bin + +Licence: Redistributable. See LICENSE.amdgpu for details. + +-------------------------------------------------------------------------- + +Driver: s2255drv + +File: f2255usb.bin +Version: 1.2.8 + +Licence: Redistributable. + + Sensoray grants permission to use and redistribute these firmware + files for use with Sensoray devices, but not as a part of the Linux + kernel or in any other form which would require these files themselves + to be covered by the terms of the GNU General Public License. + These firmware files are distributed in the hope that they will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- + +Driver: rtl8192e - Realtek 8192 PCI wireless driver + +File: RTL8192E/boot.img +File: RTL8192E/data.img +File: RTL8192E/main.img + +Licence: Redistributable, provided by Realtek in their driver + source download. + +-------------------------------------------------------------------------- + +Driver: lgs8gxx - Legend Silicon GB20600 demodulator driver + +File: lgs8g75.fw + +Licence: Unknown + +-------------------------------------------------------------------------- + +Driver: ib_qib - QLogic Infiniband + +File: qlogic/sd7220.fw + +Licence: + + * Copyright (c) 2007, 2008 QLogic Corporation. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- + +Driver: qed - QLogic 4xxxx Ethernet Driver Core Module. + +File: qed/qed_init_values_zipped-8.4.2.0.bin +File: qed/qed_init_values_zipped-8.7.3.0.bin +File: qed/qed_init_values_zipped-8.10.5.0.bin +File: qed/qed_init_values-8.10.9.0.bin +File: qed/qed_init_values_zipped-8.10.10.0.bin +File: qed/qed_init_values-8.14.6.0.bin +File: qed/qed_init_values_zipped-8.15.3.0.bin +File: qed/qed_init_values-8.18.9.0.bin +File: qed/qed_init_values_zipped-8.20.0.0.bin +File: qed/qed_init_values-8.20.0.0.bin +File: qed/qed_init_values-8.30.12.0.bin +File: qed/qed_init_values_zipped-8.33.1.0.bin +File: qed/qed_init_values_zipped-8.33.11.0.bin +File: qed/qed_init_values-8.33.12.0.bin +File: qed/qed_init_values_zipped-8.37.2.0.bin +File: qed/qed_init_values_zipped-8.37.7.0.bin +File: qed/qed_init_values-8.37.7.0.bin +File: qed/qed_init_values-8.40.33.0.bin +File: qed/qed_init_values_zipped-8.42.2.0.bin +File: qed/qed_init_values_zipped-8.59.1.0.bin + +Licence: + This file contains firmware data derived from proprietary unpublished + source code. + Copyright (c) 2015-2018 QLogic Corporation. + + Permission is hereby granted for the distribution of this firmware data + in hexadecimal or equivalent format, provided this copyright notice is + accompanying it. + +-------------------------------------------------------------------------- + +Driver: ueagle-atm - Driver for USB ADSL Modems based on Eagle IV Chipset + +File: ueagle-atm/CMV4p.bin.v2 +File: ueagle-atm/DSP4p.bin +File: ueagle-atm/eagleIV.fw +Version: 1.0 + +Licence: Redistributable. See LICENCE.ueagle-atm4-firmware for details + +-------------------------------------------------------------------------- + +Driver: ueagle-atm - Driver for USB ADSL Modems based on Eagle I,II,III + +File: ueagle-atm/930-fpga.bin +File: ueagle-atm/CMVeiWO.bin +File: ueagle-atm/CMVepFR10.bin +File: ueagle-atm/DSP9p.bin +File: ueagle-atm/eagleIII.fw +File: ueagle-atm/adi930.fw +File: ueagle-atm/CMVep.bin +File: ueagle-atm/CMVepFR.bin +File: ueagle-atm/DSPei.bin +File: ueagle-atm/CMV9i.bin +File: ueagle-atm/CMVepES03.bin +File: ueagle-atm/CMVepIT.bin +File: ueagle-atm/DSPep.bin +File: ueagle-atm/CMV9p.bin +File: ueagle-atm/CMVepES.bin +File: ueagle-atm/CMVepWO.bin +File: ueagle-atm/eagleI.fw +File: ueagle-atm/CMVei.bin +File: ueagle-atm/CMVepFR04.bin +File: ueagle-atm/DSP9i.bin +File: ueagle-atm/eagleII.fw +Version: 1.1 + +Licence: Redistributable. Based on + https://mail.gna.org/public/eagleusb-dev/2004-11/msg00172.html + +-------------------------------------------------------------------------- + +Driver: vxge - Exar X3100 Series 10GbE PCIe I/O Virtualized Server Adapter + +File: vxge/X3fw.ncf +File: vxge/X3fw-pxe.ncf +Version: 1.8.1 + +Licence: + + This file contains firmware data derived from proprietary unpublished + source code, Copyright (c) 2010 Exar Corporation. + + Permission is hereby granted for the distribution of this firmware data + in hexadecimal or equivalent format, provided this copyright notice is + accompanying it. + +-------------------------------------------------------------------------- + +Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver. + +File: brcm/bcm43xx-0.fw +File: brcm/bcm43xx_hdr-0.fw +Version: 610.812 + +Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details. + +-------------------------------------------------------------------------- + +Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver. + +File: brcm/bcm4329-fullmac-4.bin +File: brcm/brcmfmac43236b.bin +File: brcm/brcmfmac4329-sdio.bin +File: brcm/brcmfmac4330-sdio.bin +File: brcm/brcmfmac4334-sdio.bin +File: brcm/brcmfmac4335-sdio.bin +File: brcm/brcmfmac43241b0-sdio.bin +File: brcm/brcmfmac43241b4-sdio.bin +File: brcm/brcmfmac43241b5-sdio.bin +File: brcm/brcmfmac43242a.bin +File: brcm/brcmfmac43143.bin +File: brcm/brcmfmac43143-sdio.bin +File: brcm/brcmfmac43430a0-sdio.bin +File: brcm/brcmfmac4350c2-pcie.bin +File: brcm/brcmfmac4350-pcie.bin +File: brcm/brcmfmac43569.bin +File: brcm/brcmfmac4358-pcie.bin +File: brcm/brcmfmac43602-pcie.bin +File: brcm/brcmfmac43602-pcie.ap.bin +File: brcm/brcmfmac4366b-pcie.bin +File: brcm/brcmfmac4366c-pcie.bin +File: brcm/brcmfmac4371-pcie.bin + +Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details. + +File: brcm/brcmfmac4373.bin +File: cypress/cyfmac43012-sdio.bin +Link: brcm/brcmfmac43012-sdio.bin -> ../cypress/cyfmac43012-sdio.bin +File: cypress/cyfmac43012-sdio.clm_blob +Link: brcm/brcmfmac43012-sdio.clm_blob -> ../cypress/cyfmac43012-sdio.clm_blob +File: cypress/cyfmac43340-sdio.bin +Link: brcm/brcmfmac43340-sdio.bin -> ../cypress/cyfmac43340-sdio.bin +File: cypress/cyfmac43362-sdio.bin +Link: brcm/brcmfmac43362-sdio.bin -> ../cypress/cyfmac43362-sdio.bin +File: cypress/cyfmac4339-sdio.bin +Link: brcm/brcmfmac4339-sdio.bin -> ../cypress/cyfmac4339-sdio.bin +File: cypress/cyfmac43430-sdio.bin +Link: brcm/brcmfmac43430-sdio.bin -> ../cypress/cyfmac43430-sdio.bin +File: cypress/cyfmac43430-sdio.clm_blob +Link: brcm/brcmfmac43430-sdio.clm_blob -> ../cypress/cyfmac43430-sdio.clm_blob +File: cypress/cyfmac43455-sdio.bin +Link: brcm/brcmfmac43455-sdio.bin -> ../cypress/cyfmac43455-sdio.bin +File: cypress/cyfmac43455-sdio.clm_blob +Link: brcm/brcmfmac43455-sdio.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob +File: cypress/cyfmac4354-sdio.bin +Link: brcm/brcmfmac4354-sdio.bin -> ../cypress/cyfmac4354-sdio.bin +File: cypress/cyfmac4354-sdio.clm_blob +Link: brcm/brcmfmac4354-sdio.clm_blob -> ../cypress/cyfmac4354-sdio.clm_blob +File: cypress/cyfmac4356-pcie.bin +Link: brcm/brcmfmac4356-pcie.bin -> ../cypress/cyfmac4356-pcie.bin +File: cypress/cyfmac4356-pcie.clm_blob +Link: brcm/brcmfmac4356-pcie.clm_blob -> ../cypress/cyfmac4356-pcie.clm_blob +File: cypress/cyfmac4356-sdio.bin +Link: brcm/brcmfmac4356-sdio.bin -> ../cypress/cyfmac4356-sdio.bin +File: cypress/cyfmac4356-sdio.clm_blob +Link: brcm/brcmfmac4356-sdio.clm_blob -> ../cypress/cyfmac4356-sdio.clm_blob +File: cypress/cyfmac43570-pcie.bin +Link: brcm/brcmfmac43570-pcie.bin -> ../cypress/cyfmac43570-pcie.bin +File: cypress/cyfmac43570-pcie.clm_blob +Link: brcm/brcmfmac43570-pcie.clm_blob -> ../cypress/cyfmac43570-pcie.clm_blob +File: cypress/cyfmac4373-sdio.bin +Link: brcm/brcmfmac4373-sdio.bin -> ../cypress/cyfmac4373-sdio.bin +File: cypress/cyfmac4373-sdio.clm_blob +Link: brcm/brcmfmac4373-sdio.clm_blob -> ../cypress/cyfmac4373-sdio.clm_blob +File: cypress/cyfmac54591-pcie.bin +Link: brcm/brcmfmac54591-pcie.bin -> ../cypress/cyfmac54591-pcie.bin +File: cypress/cyfmac54591-pcie.clm_blob +Link: brcm/brcmfmac54591-pcie.clm_blob -> ../cypress/cyfmac54591-pcie.clm_blob + +Licence: Redistributable. See LICENCE.cypress for details. + +File: "brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt" +File: "brcm/brcmfmac43241b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt" +File: "brcm/brcmfmac4330-sdio.Prowise-PT301.txt" +File: "brcm/brcmfmac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.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.WC121.txt" +File: "brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt" +Link: brcm/brcmfmac43362-sdio.kobo,aura.txt -> brcmfmac43362-sdio.WC121.txt +Link: brcm/brcmfmac43362-sdio.kobo,tolino-shine2hd.txt -> brcmfmac43362-sdio.WC121.txt +Link: brcm/brcmfmac43362-sdio.lemaker,bananapro.txt -> brcmfmac43362-sdio.cubietech,cubietruck.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" +Link: brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.friendlyarm,nanopi-r1.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.starfive,visionfive-v1.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-a1.txt -> brcmfmac43430-sdio.AP6212.txt +Link: brcm/brcmfmac43430-sdio.beagle,beaglev-starlight-jh7100-r0.txt -> 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 +Link: brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-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" +Link: brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt +File: "brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt" +Link: brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ 4\ Model\ B.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt +Link: brcm/brcmfmac43455-sdio.Raspberry\ Pi\ Foundation-Raspberry\ Pi\ Compute\ Module\ 4.txt -> 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-pcie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt" +File: "brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt" +File: brcm/brcmfmac4356-sdio.AP6356S.txt +Link: brcm/brcmfmac4356-sdio.firefly,firefly-rk3399.txt -> brcmfmac4356-sdio.AP6356S.txt +Link: brcm/brcmfmac4356-sdio.khadas,vim2.txt -> brcmfmac4356-sdio.AP6356S.txt +Link: brcm/brcmfmac4356-sdio.vamrs,rock960.txt -> brcmfmac4356-sdio.AP6356S.txt +File: brcm/brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.beagle,am5729-beagleboneai.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,pinenote-v1.1.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,pinenote-v1.2.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,quartz64-a.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,rockpro64-v2.0.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,rockpro64-v2.1.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,soquartz-model-a.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,soquartz-cm4io.txt -> brcmfmac43455-sdio.AW-CM256SM.txt +Link: brcm/brcmfmac43455-sdio.pine64,soquartz-blade.txt -> brcmfmac43455-sdio.AW-CM256SM.txt + +Licence: GPLv2. See GPL-2 for details. + +-------------------------------------------------------------------------- + +Driver: ti-vpe - Texas Instruments V4L2 driver for Video Processing Engine + +File: ti/vpdma-1b8.bin + +Licence: Redistributable. See LICENCE.ti-tspa for details. + +-------------------------------------------------------------------------- + +Driver: wl1251 - Texas Instruments 802.11 WLAN driver for WiLink4 chips + +File: ti-connectivity/wl1251-fw.bin +Version: 4.0.4.3.7 + +File: ti-connectivity/wl1251-nvs.bin + +Licence: Redistributable. See LICENCE.wl1251 for details. + +The published NVS files are for testing only. Every device needs to +have a unique NVS which is properly calibrated for best results. + +The driver expects to find the firmwares under a ti-connectivity subdirectory. +So if your system looks for firmwares in /lib/firmware, the firmwares for +wl12xx chips must be located in /lib/firmware/ti-connectivity/. + +-------------------------------------------------------------------------- + +Driver: wl12xx - Texas Instruments 802.11 WLAN driver for WiLink6/7 chips + +File: ti-connectivity/wl1271-fw.bin +Version: 6.1.0.50.350 (STA-only) +File: ti-connectivity/wl1271-fw-2.bin +Version: 6.1.5.50.74 (STA-only) +File: ti-connectivity/wl1271-fw-ap.bin +Version: 6.2.1.0.54 (AP-only) +File: ti-connectivity/wl127x-fw-3.bin +Version: 6.3.0.0.77 +File: ti-connectivity/wl127x-fw-plt-3.bin +Version: 6.3.0.0.77 (PLT-only) +File: ti-connectivity/wl127x-fw-4-sr.bin +Version: 6.3.5.0.98 (Single-role) +File: ti-connectivity/wl127x-fw-4-mr.bin +Version: 6.5.2.0.15 (Multi-role) +File: ti-connectivity/wl127x-fw-4-plt.bin +Version: 6.3.5.0.98 (PLT-only) +File: ti-connectivity/wl127x-fw-5-sr.bin +Version: 6.3.10.0.142 (Single-role) +File: ti-connectivity/wl127x-fw-5-mr.bin +Version: 6.5.7.0.50 (Multi-role) +File: ti-connectivity/wl127x-fw-5-plt.bin +Version: 6.3.10.0.142 (PLT-only) + +File: ti-connectivity/wl128x-fw.bin +Version: 7.1.5.50.74 (STA-only) +File: ti-connectivity/wl128x-fw-ap.bin +Version: 7.2.1.0.54 (AP-only) +File: ti-connectivity/wl128x-fw-3.bin +Version: 7.3.0.0.77 +File: ti-connectivity/wl128x-fw-plt-3.bin +Version: 7.3.0.0.77 +File: ti-connectivity/wl128x-fw-4-sr.bin +Version: 7.3.5.0.98 (Single-role) +File: ti-connectivity/wl128x-fw-4-mr.bin +Version: 7.5.2.0.15 (Multi-role) +File: ti-connectivity/wl128x-fw-4-plt.bin +Version: 7.3.5.0.98 (PLT) +File: ti-connectivity/wl128x-fw-5-sr.bin +Version: 7.3.10.0.142 (Single-role) +File: ti-connectivity/wl128x-fw-5-mr.bin +Version: 7.5.7.0.50 (Multi-role) +File: ti-connectivity/wl128x-fw-5-plt.bin +Version: 7.3.10.2.142 (PLT-only) + +File: ti-connectivity/wl127x-nvs.bin +File: ti-connectivity/wl128x-nvs.bin +Link: ti-connectivity/wl12xx-nvs.bin -> wl127x-nvs.bin +Link: ti-connectivity/wl1271-nvs.bin -> wl127x-nvs.bin + +Licence: Redistributable. See LICENCE.ti-connectivity for details. + +The NVS file includes two parts: + - radio calibration + - HW configuration parameters (aka. INI values) + +The published NVS files are for testing only. Every device needs to +hava a unique NVS which is properly calibrated for best results. You +can find more information about NVS generation for your device here: + +http://wireless.kernel.org/en/users/Drivers/wl12xx/calibrator + +If you're using a wl127x based device, use a symbolic link called +wl1271-nvs.bin that links to the wl127x-nvs.bin file. If you are +using wl128x, link to wl128x-nvs.bin instead. + +The driver expects to find the firmwares under a ti-connectivity +subdirectory. So if your system looks for firmwares in /lib/firmware, +the firmwares for wl12xx chips must be located in +/lib/firmware/ti-connectivity/. + +-------------------------------------------------------------------------- + +Driver: wl18xx - Texas Instruments 802.11 WLAN driver for WiLink8 chips + +File: ti-connectivity/wl18xx-fw.bin +Version: 8.2.0.0.100 +File: ti-connectivity/wl18xx-fw-2.bin +Version: 8.5.0.0.55 +File: ti-connectivity/wl18xx-fw-3.bin +Version: 8.8.0.0.13 +File: ti-connectivity/wl18xx-fw-4.bin +Version: 8.9.0.0.79 + +Licence: Redistributable. See LICENCE.ti-connectivity for details. + +The driver expects to find the firmwares under a ti-connectivity +subdirectory. So if your system looks for firmwares in /lib/firmware, +the firmwares for wl18xx chips must be located in +/lib/firmware/ti-connectivity/. + +-------------------------------------------------------------------------- + +Driver: TI_ST - Texas Instruments bluetooth driver + +File: ti-connectivity/TIInit_6.2.31.bts +Version: 2.44 (TI_P31.123) +File: ti-connectivity/TIInit_6.6.15.bts +Version: 2.14 (TI_P6_15.93) +File: ti-connectivity/TIInit_7.2.31.bts + +Licence: Redistributable. See LICENCE.ti-connectivity for details. + + TIInit_7.2.31.bts version 7.2.31 + + In order to use that file copy it to /lib/firmware/ti-connectivity. + +-------------------------------------------------------------------------- + +Driver: tlg2300 - Telgent 2300 V4L/DVB driver. + +File: tlg2300_firmware.bin + +Licence: Redistributable. + + Telegent System grants permission to use and redistribute these + firmware files for use with devices containing the chip tlg2300, but + not as a part of the Linux kernel or in any other form which would + require these files themselves to be covered by the terms of the GNU + General Public License. These firmware files are distributed in the + hope that they will be useful, but WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. + +-------------------------------------------------------------------------- + +Driver: r8712u - Realtek 802.11n WLAN driver for RTL8712U + +File: rtlwifi/rtl8712u.bin +Info: From Vendor's rtl8712_8188_8191_8192SU_usb_linux_v7_0.20100831 + Reverted rtl8188C_8192C_8192D_usb_linux_v3.4.2_3727.20120404 + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8192ce - Realtek 802.11n WLAN driver for RTL8192CE + +File: rtlwifi/rtl8192cfw.bin +File: rtlwifi/rtl8192cfwU.bin +File: rtlwifi/rtl8192cfwU_B.bin +Info: From Vendor's realtek/rtlwifi_linux_mac80211_0019.0320.2014V628 driver + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8192cu - Realtek 802.11n WLAN driver for RTL8192CU + +File: rtlwifi/rtl8192cufw.bin +File: rtlwifi/rtl8192cufw_A.bin +File: rtlwifi/rtl8192cufw_B.bin +File: rtlwifi/rtl8192cufw_TMSC.bin +Info: From Vendor's rtl8188C_8192C_usb_linux_v4.0.1_6911.20130308 driver + All files extracted from driver/hal/rtl8192c/usb/Hal8192CUHWImg.c + Relevant variables (CONFIG_BT_COEXISTENCE not set): + - rtlwifi/rtl8192cufw_A.bin: Rtl8192CUFwUMCACutImgArray + - rtlwifi/rtl8192cufw_B.bin: Rtl8192CUFwUMCBCutImgArray + - rtlwifi/rtl8192cufw_TMSC.bin: Rtl8192CUFwTSMCImgArray + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8192se - Realtek 802.11n WLAN driver for RTL8192SE + +Info: updated from rtl_92ce_92se_92de_linux_mac80211_0004.0816.2011 driver version +File: rtlwifi/rtl8192sefw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8192de - Realtek 802.11n WLAN driver for RTL8192DE + +Info: Updated from Realtek version rtl_92ce_92se_92de_8723ae_linux_mac80211_0007.0809.2012 +File: rtlwifi/rtl8192defw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8723e - Realtek 802.11n WLAN driver for RTL8723E + +Info: Taken from Realtek version rtl_92ce_92se_92de_8723ae_linux_mac80211_0007.0809.2012 +File: rtlwifi/rtl8723fw.bin +File: rtlwifi/rtl8723fw_B.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8723be - Realtek 802.11n WLAN driver for RTL8723BE + +Info: From Vendor's realtek/rtlwifi_linux_mac80211_0019.0320.2014V628 driver +File: rtlwifi/rtl8723befw.bin +Info: Update to version 36 - Sent by Realtek +File: rtlwifi/rtl8723befw_36.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8723de - Realtek 802.11ac WLAN driver for RTL8723DE + +Info: Supplied by Vendor at https://github.com/pkshih/rtlwifi_rtl8723de +File: rtlwifi/rtl8723defw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8188ee - Realtek 802.11n WLAN driver for RTL8188EE + +Info: Taken from Realtek version rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0010.0109.2013 +File: rtlwifi/rtl8188efw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8821ae - Realtek 802.11n WLAN driver for RTL8812AE + +Info: From Vendor's realtek/rtlwifi_linux_mac80211_0019.0320.2014V628 driver +File: rtlwifi/rtl8812aefw.bin +File: rtlwifi/rtl8812aefw_wowlan.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8821ae - Realtek 802.11n WLAN driver for RTL8821AE + +Info: From Vendor's realtek/rtlwifi_linux_mac80211_0019.0320.2014V628 driver +File: rtlwifi/rtl8821aefw.bin +File: rtlwifi/rtl8821aefw_wowlan.bin +Info: Update to version 29 - Sent by Realtek +File: rtlwifi/rtl8821aefw_29.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8822be - Realtek 802.11n WLAN driver for RTL8822BE + +Info: Sent to Larry Finger by Realtek engineer Ping-Ke Shih +File: rtlwifi/rtl8822befw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtw88 - Realtek 802.11ac WLAN driver for RTL8822BE and RTL8822CE + +Info: Sent to Larry Finger by Realtek engineer Yan-Hsuan Chuang +File: rtw88/rtw8822b_fw.bin +File: rtw88/rtw8822c_fw.bin +File: rtw88/rtw8822c_wow_fw.bin +File: rtw88/README +File: rtw88/rtw8723d_fw.bin +File: rtw88/rtw8821c_fw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + + These firmware should be put under /lib/firmware/rtw88/ + And note that the rtw88 driver is able to support wake-on-wireless LAN + for RTL8822C devices, after kernel v5.6+. So, make sure the firmware + rtw88/rtw8822c_wow_fw.bin is also packed, otherwise the firmware load + fail could be a problem. + Although RTL8723D devices are 802.11n device, they are also supported + by rtw88 because the hardware arch is similar. + +-------------------------------------------------------------------------- + +Driver: rtw89 - Realtek 802.11ax WLAN driver for RTL8851B/RTL8852A/RTL8852B/RTL8852C + +File: rtw89/rtw8851b_fw.bin +File: rtw89/rtw8852a_fw.bin +File: rtw89/rtw8852b_fw.bin +File: rtw89/rtw8852b_fw-1.bin +File: rtw89/rtw8852c_fw.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8192ee - Realtek 802.11n WLAN driver for RTL8192EE + +Info: Initial version taken from Realtek version + rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1224.2013 + Updated Jan. 14, 2015 with file added by Realtek to + http://github.com/lwfinger/rtlwifi_new.git. + Same firmware rtl8192eu_nic.bin so just link them +Link: rtlwifi/rtl8192eefw.bin -> rtl8192eu_nic.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8723bs - Realtek 802.11n WLAN driver for RTL8723BS + +Info: Firmware files extracted from data statements in Realtek driver + v4.3.5.5_12290.20140916_BTCOEX20140507-4E40. +File: rtlwifi/rtl8723bs_bt.bin +Link: rtlwifi/rtl8723bs_nic.bin -> rtl8723bu_nic.bin +Link: rtlwifi/rtl8723bs_ap_wowlan.bin -> rtl8723bu_ap_wowlan.bin +Link: rtlwifi/rtl8723bs_wowlan.bin -> rtl8723bu_wowlan.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: rtl8xxxu - Realtek 802.11n WLAN driver for RTL8XXX USB devices + +Info: rtl8723au taken from Realtek driver + rtl8723A_WiFi_linux_v4.1.3_6044.20121224 + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8723aufw_A.bin +File: rtlwifi/rtl8723aufw_B.bin +File: rtlwifi/rtl8723aufw_B_NoBT.bin + +Info: rtl8723bu taken from Realtek driver + rtl8723BU_WiFi_linux_v4.3.16_14189.20150519_BTCOEX20150119-5844 + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8723bu_nic.bin +File: rtlwifi/rtl8723bu_wowlan.bin +File: rtlwifi/rtl8723bu_ap_wowlan.bin + +Info: rtl8192eu taken from Realtek driver + rtl8192EU_WiFi_linux_v5.11.2.1-18-g8e7df912b.20210527_COEX20171113-0047 + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8192eu_nic.bin +Version: 35.7 +File: rtlwifi/rtl8192eu_wowlan.bin +Version: 35.7 +File: rtlwifi/rtl8192eu_ap_wowlan.bin +Version: 18.0 + +Info: rtl8188fu taken from Realtek driver + RTL8188FU_Linux_v4.3.23.6_20964.20170110 + Firmware was embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8188fufw.bin + +File: rtlwifi/rtl8710bufw_SMIC.bin +Version: 16.0 +File: rtlwifi/rtl8710bufw_UMC.bin +Version: 16.0 + +Info: rtl8188eu taken from Realtek driver version + v5.2.2.4_25483.20171222. + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8188eufw.bin +Version: 28.0 + +Info: rtl8192fu taken from Realtek driver version + v5.8.6.2_35538.20191028_COEX20190910-0d02. + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8192fufw.bin +Version: 6.0 + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: r8169 - RealTek 8169/8168/8101 ethernet driver. + +File: rtl_nic/rtl8168d-1.fw +File: rtl_nic/rtl8168d-2.fw +File: rtl_nic/rtl8105e-1.fw +File: rtl_nic/rtl8168e-1.fw +File: rtl_nic/rtl8168e-2.fw + +File: rtl_nic/rtl8168e-3.fw +Version: 0.0.4 + +File: rtl_nic/rtl8168f-1.fw +Version: 0.0.5 + +File: rtl_nic/rtl8168f-2.fw +Version: 0.0.4 + +File: rtl_nic/rtl8411-1.fw +Version: 0.0.3 + +File: rtl_nic/rtl8411-2.fw +Version: 0.0.1 + +File: rtl_nic/rtl8402-1.fw +Version: 0.0.1 + +File: rtl_nic/rtl8106e-1.fw +Version: 0.0.1 + +File: rtl_nic/rtl8106e-2.fw +Version: 0.0.1 + +File: rtl_nic/rtl8168g-1.fw +Version: 0.0.3 + +File: rtl_nic/rtl8168g-2.fw +Version: 0.0.1 + +File: rtl_nic/rtl8168g-3.fw +Version: 0.0.1 + +File: rtl_nic/rtl8168h-1.fw +Version: 0.0.2 + +File: rtl_nic/rtl8168h-2.fw +Version: 0.0.2 + +File: rtl_nic/rtl8168fp-3.fw +Version: 0.0.1 + +File: rtl_nic/rtl8107e-1.fw +Version: 0.0.2 + +File: rtl_nic/rtl8107e-2.fw +Version: 0.0.2 + +File: rtl_nic/rtl8125a-3.fw +Version: 0.0.1 + +File: rtl_nic/rtl8125b-1.fw +Version: 0.0.2 + +File: rtl_nic/rtl8125b-2.fw +Version: 0.0.2 + +Licence: + * Copyright © 2011-2013, Realtek Semiconductor Corporation + * + * Permission is hereby granted for the distribution of this firmware + * data in hexadecimal or equivalent format, provided this copyright + * notice is accompanying it. + +-------------------------------------------------------------------------- + +Driver: r8152 - Realtek RTL8152/RTL8153 Based USB Ethernet Adapters + +File: rtl_nic/rtl8153a-2.fw +File: rtl_nic/rtl8153a-3.fw +File: rtl_nic/rtl8153a-4.fw +File: rtl_nic/rtl8153b-2.fw +File: rtl_nic/rtl8153c-1.fw +File: rtl_nic/rtl8156a-2.fw +File: rtl_nic/rtl8156b-2.fw + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +-------------------------------------------------------------------------- + +Driver: vt6656 - VIA VT6656 USB wireless driver + +File: vntwusb.fw + +Licence: Redistributable. See LICENCE.via_vt6656 for details. + +-------------------------------------------------------------------------- + +Driver: DFU Driver for Atheros bluetooth chipset AR3012 + +File: ar3k/AthrBT_0x01020001.dfu +File: ar3k/ramps_0x01020001_26.dfu +File: ar3k/AthrBT_0x01020200.dfu +File: ar3k/ramps_0x01020200_26.dfu +File: ar3k/ramps_0x01020200_40.dfu +File: ar3k/AthrBT_0x31010000.dfu +File: ar3k/ramps_0x31010000_40.dfu +File: ar3k/AthrBT_0x11020000.dfu +File: ar3k/ramps_0x11020000_40.dfu +File: ar3k/ramps_0x01020201_26.dfu +File: ar3k/ramps_0x01020201_40.dfu +File: ar3k/AthrBT_0x41020000.dfu +File: ar3k/ramps_0x41020000_40.dfu +File: ar3k/AthrBT_0x11020100.dfu +File: ar3k/ramps_0x11020100_40.dfu +File: ar3k/AthrBT_0x31010100.dfu +File: ar3k/ramps_0x31010100_40.dfu + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: DFU Driver for Atheros bluetooth chipset AR3012 + +File: ar3k/AthrBT_0x01020201.dfu +File: ar3k/1020201coex/ramps_0x01020201_26_HighPriority.dfu + +Licence: Redistributable. See LICENSE.QualcommAtheros_ar3k for details + +-------------------------------------------------------------------------- + +Driver:Atheros AR300x UART HCI Bluetooth Chip driver + +File: ar3k/1020201/PS_ASIC.pst +File: ar3k/1020201/RamPatch.txt +File: ar3k/1020200/ar3kbdaddr.pst +File: ar3k/1020200/PS_ASIC.pst +File: ar3k/1020200/RamPatch.txt +File: ar3k/30101/ar3kbdaddr.pst +File: ar3k/30101/PS_ASIC.pst +File: ar3k/30101/RamPatch.txt +File: ar3k/30000/ar3kbdaddr.pst +File: ar3k/30000/PS_ASIC.pst +File: ar3k/30000/RamPatch.txt + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: ath6kl - Atheros support for AR6003 + +File: ath6k/AR6004/hw1.3/fw-3.bin +File: ath6k/AR6004/hw1.3/bdata.bin +File: ath6k/AR6004/hw1.2/fw-2.bin +File: ath6k/AR6004/hw1.2/bdata.bin +File: ath6k/AR6003/hw1.0/otp.bin.z77 +File: ath6k/AR6003/hw1.0/bdata.SD31.bin +File: ath6k/AR6003/hw1.0/bdata.SD32.bin +File: ath6k/AR6003/hw1.0/data.patch.bin +File: ath6k/AR6003/hw1.0/bdata.WB31.bin +File: ath6k/AR6003/hw1.0/athwlan.bin.z77 +File: ath6k/AR6003/hw2.1.1/fw-2.bin +File: ath6k/AR6003/hw2.1.1/fw-3.bin +File: ath6k/AR6003/hw2.1.1/otp.bin +File: ath6k/AR6003/hw2.1.1/athwlan.bin +File: ath6k/AR6003/hw2.1.1/endpointping.bin +File: ath6k/AR6003/hw2.1.1/bdata.SD31.bin +File: ath6k/AR6003/hw2.1.1/bdata.SD32.bin +File: ath6k/AR6003/hw2.1.1/data.patch.bin +File: ath6k/AR6003/hw2.1.1/bdata.WB31.bin +File: ath6k/AR6003/hw2.0/otp.bin.z77 +File: ath6k/AR6003/hw2.0/bdata.SD31.bin +File: ath6k/AR6003/hw2.0/bdata.SD32.bin +File: ath6k/AR6003/hw2.0/data.patch.bin +File: ath6k/AR6003/hw2.0/bdata.WB31.bin +File: ath6k/AR6003/hw2.0/athwlan.bin.z77 +File: ath6k/AR6002/eeprom.data +File: ath6k/AR6002/eeprom.bin +File: ath6k/AR6002/athwlan.bin.z77 +File: ath6k/AR6002/data.patch.hw2_0.bin + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: ath10k - Qualcomm Atheros support for QCA988x family of chips + +File: ath10k/QCA988X/hw2.0/board.bin +File: ath10k/QCA988X/hw2.0/firmware-4.bin +Version: 10.2.4.45 +File: ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt +File: ath10k/QCA988X/hw2.0/firmware-5.bin +Version: 10.2.4-1.0-00047 +File: ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA6174/hw2.1/board.bin +File: ath10k/QCA6174/hw2.1/board-2.bin +File: ath10k/QCA6174/hw2.1/firmware-5.bin +Version: SW_RM.1.1.1-00157-QCARMSWPZ-1 +File: ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt +File: ath10k/QCA6174/hw3.0/board.bin +File: ath10k/QCA6174/hw3.0/board-2.bin +File: ath10k/QCA6174/hw3.0/firmware-4.bin +Version: WLAN.RM.2.0-00180-QCARMSWPZ-1 +File: ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt +File: ath10k/QCA6174/hw3.0/firmware-6.bin +Version: WLAN.RM.4.4.1-00288-QCARMSWPZ-1 +File: ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt +File: ath10k/QCA6174/hw3.0/firmware-sdio-6.bin +Version: WLAN.RMH.4.4.1-00174 +File: ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt +File: ath10k/QCA9377/hw1.0/board.bin +File: ath10k/QCA9377/hw1.0/board-2.bin +File: ath10k/QCA9377/hw1.0/firmware-5.bin +Version: WLAN.TF.1.0-00002-QCATFSWPZ-5 +File: ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA9377/hw1.0/firmware-sdio-5.bin +Version: WLAN.TF.1.1.1-00061-QCATFSWPZ-1 +File: ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt +File: ath10k/QCA99X0/hw2.0/board-2.bin +File: ath10k/QCA99X0/hw2.0/firmware-5.bin +Version: 10.4.1.00030-1 +File: ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA4019/hw1.0/board-2.bin +File: ath10k/QCA4019/hw1.0/firmware-5.bin +Version: 10.4-3.6-00140 +File: ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA9887/hw1.0/board.bin +File: ath10k/QCA9887/hw1.0/firmware-5.bin +Version: 10.2.4-1.0-00047 +File: ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA9888/hw2.0/board-2.bin +File: ath10k/QCA9888/hw2.0/firmware-5.bin +Version: 10.4-3.9.0.2-00157 +File: ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA9984/hw1.0/board-2.bin +File: ath10k/QCA9984/hw1.0/firmware-5.bin +Version: 10.4-3.9.0.2-00157 +File: ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt +File: ath10k/QCA9377/hw1.0/firmware-6.bin +Version: WLAN.TF.2.1-00021-QCARMSWP-1 +File: ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt +File: ath10k/WCN3990/hw1.0/board-2.bin +File: ath10k/WCN3990/hw1.0/firmware-5.bin +File: ath10k/WCN3990/hw1.0/wlanmdsp.mbn +Link: qcom/sdm845/wlanmdsp.mbn -> ../../ath10k/WCN3990/hw1.0/wlanmdsp.mbn +Version: WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1 +File: ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details + +-------------------------------------------------------------------------- + +Driver: ath11k - Qualcomm Technologies 802.11ax chipset support + +File: ath11k/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.7.0.1-01744-QCAHKSWPL_SILICONZ-1 +File: 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.7.0.1-01744-QCAHKSWPL_SILICONZ-1 +File: 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 +Version: WLAN.HST.1.0.1-05266-QCAHSTSWPLZ_V2_TO_X86-1 +File: ath11k/QCA6390/hw2.0/Notice.txt +File: ath11k/WCN6855/hw2.0/regdb.bin +File: ath11k/WCN6855/hw2.0/board-2.bin +File: ath11k/WCN6855/hw2.0/amss.bin +File: ath11k/WCN6855/hw2.0/m3.bin +Version: WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 +File: ath11k/WCN6855/hw2.0/Notice.txt +Link: ath11k/WCN6855/hw2.1/regdb.bin -> ../hw2.0/regdb.bin +Link: ath11k/WCN6855/hw2.1/board-2.bin -> ../hw2.0/board-2.bin +Link: ath11k/WCN6855/hw2.1/amss.bin -> ../hw2.0/amss.bin +Link: ath11k/WCN6855/hw2.1/m3.bin -> ../hw2.0/m3.bin +File: ath11k/QCN9074/hw1.0/board-2.bin +File: ath11k/QCN9074/hw1.0/amss.bin +File: ath11k/QCN9074/hw1.0/m3.bin +Version: WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 +File: ath11k/QCN9074/hw1.0/Notice.txt +File: ath11k/WCN6750/hw1.0/board-2.bin +File: ath11k/WCN6750/hw1.0/wpss.b00 +File: ath11k/WCN6750/hw1.0/wpss.b01 +File: ath11k/WCN6750/hw1.0/wpss.b02 +File: ath11k/WCN6750/hw1.0/wpss.b03 +File: ath11k/WCN6750/hw1.0/wpss.b04 +File: ath11k/WCN6750/hw1.0/wpss.b05 +File: ath11k/WCN6750/hw1.0/wpss.b06 +File: ath11k/WCN6750/hw1.0/wpss.b07 +File: ath11k/WCN6750/hw1.0/wpss.b08 +File: ath11k/WCN6750/hw1.0/wpss.mdt +Version: WLAN.MSL.1.0.1-01160-QCAMSLSWPLZ-1 +File: ath11k/WCN6750/hw1.0/Notice.txt +File: ath11k/IPQ5018/hw1.0/board-2.bin +File: ath11k/IPQ5018/hw1.0/m3_fw.b00 +File: ath11k/IPQ5018/hw1.0/m3_fw.b01 +File: ath11k/IPQ5018/hw1.0/m3_fw.b02 +File: ath11k/IPQ5018/hw1.0/m3_fw.flist +File: ath11k/IPQ5018/hw1.0/m3_fw.mdt +File: ath11k/IPQ5018/hw1.0/q6_fw.b00 +File: ath11k/IPQ5018/hw1.0/q6_fw.b01 +File: ath11k/IPQ5018/hw1.0/q6_fw.b02 +File: ath11k/IPQ5018/hw1.0/q6_fw.b03 +File: ath11k/IPQ5018/hw1.0/q6_fw.b04 +File: ath11k/IPQ5018/hw1.0/q6_fw.b05 +File: ath11k/IPQ5018/hw1.0/q6_fw.b07 +File: ath11k/IPQ5018/hw1.0/q6_fw.b08 +File: ath11k/IPQ5018/hw1.0/q6_fw.b09 +File: ath11k/IPQ5018/hw1.0/q6_fw.b10 +File: ath11k/IPQ5018/hw1.0/q6_fw.b11 +File: ath11k/IPQ5018/hw1.0/q6_fw.b13 +File: ath11k/IPQ5018/hw1.0/q6_fw.b14 +File: ath11k/IPQ5018/hw1.0/q6_fw.flist +File: ath11k/IPQ5018/hw1.0/q6_fw.mdt +Version: WLAN.HK.2.6.0.1-00861-QCAHKSWPL_SILICONZ-1 +File: ath11k/IPQ5018/hw1.0/Notice.txt + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details + +-------------------------------------------------------------------------- + +Driver: myri10ge - Myri10GE 10GbE NIC driver + +File: myri10ge_eth_z8e.dat +File: myri10ge_ethp_z8e.dat +File: myri10ge_rss_eth_z8e.dat +File: myri10ge_rss_ethp_z8e.dat +File: myri10ge_eth_big_z8e.dat +File: myri10ge_ethp_big_z8e.dat +File: myri10ge_rss_eth_big_z8e.dat +File: myri10ge_rss_ethp_big_z8e.dat +Version: 1.4.57 + +License: Redistributable. See LICENCE.myri10ge_firmware for details. + +-------------------------------------------------------------------------- + +Driver: ath6kl - Atheros support for AR6003 WiFi-Bluetooth combo module + +File: ath6k/AR6003.1/hw2.1.1/athwlan.bin +File: ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin +File: ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin +File: ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin +File: ath6k/AR6003.1/hw2.1.1/data.patch.bin +File: ath6k/AR6003.1/hw2.1.1/endpointping.bin +File: ath6k/AR6003.1/hw2.1.1/otp.bin + +License: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: ath6kl - Atheros support for AR3001 WiFi-Bluetooth combo module + +File: ar3k/30101coex/ar3kbdaddr.pst +File: ar3k/30101coex/PS_ASIC_aclLowPri.pst +File: ar3k/30101coex/PS_ASIC_aclHighPri.pst +File: ar3k/30101coex/PS_ASIC.pst +File: ar3k/30101coex/RamPatch.txt + +License: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: drxk - Micronas DRX-K demodulator driver + +File: dvb-usb-terratec-h5-drxk.fw + +Licence: Redistributable. + +TERRATEC grants permission to use and redistribute these firmware +files for use with TERRATEC devices, but not as part of the Linux +kernel or in any other form which would require these files themselves +to be covered by the terms of the GNU General Public License. + +These firmware files are distributed in the hope that they will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- + +Driver: ene-ub6250 -- ENE UB6250 SD card reader driver + +File: ene-ub6250/sd_init1.bin +File: ene-ub6250/sd_init2.bin +File: ene-ub6250/sd_rdwr.bin +File: ene-ub6250/ms_init.bin +File: ene-ub6250/msp_rdwr.bin +File: ene-ub6250/ms_rdwr.bin + +Licence: Redistributable. See LICENCE.ene_firmware for details. + +-------------------------------------------------------------------------- + +Driver: isci -- Intel C600 SAS controller driver + +File: isci/isci_firmware.bin +Source: isci/ + +Licence: GPLv2. See GPL-2 for details. + +-------------------------------------------------------------------------- + +Driver: ar5523 -- Atheros AR5523 based USB Wifi dongles + +File: ar5523.bin + +Licence: Redistributable. See LICENCE.atheros_firmware for details + +-------------------------------------------------------------------------- + +Driver: s5p-mfc - Samsung MFC video encoder/decoder driver + +File: s5p-mfc.fw +File: s5p-mfc-v6.fw +File: s5p-mfc-v6-v2.fw +File: s5p-mfc-v7.fw +File: s5p-mfc-v8.fw + +Licence: Redistributable. + +Samsung grants permission to use and redistribute aforementioned firmware +files for the use with Exynos series devices, but not as part of the Linux +kernel, or in any other form which would require these files themselves +to be covered by the terms of the GNU General Public License. + +These firmware files are distributed in the hope that they will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- + +Driver: carl9170 -- Atheros AR9170 802.11 draft-n USB driver + +File: carl9170-1.fw +Version: 1.9.6 +Source: carl9170fw/ + +Downloaded from http://linuxwireless.org/en/users/Drivers/carl9170 + +Licence: GPLv2. Some build scripts use the New BSD (3-clause) licence.. See GPL-2 for details. + +-------------------------------------------------------------------------- + +Driver: snd-hda-codec-ca0132 - Creative Sound Core3D codec + +File: ctefx.bin +File: ctspeq.bin + +Licence: Redistributable. See LICENCE.ca0132 for details + +Found also in alsa-firmware package. + +-------------------------------------------------------------------------- + +Driver: btusb - Bluetooth USB driver + +File: intel/ibt-hw-37.7.bseq +Version: 1316.02.00 +File: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq +Version: BT_WilkinsPeak_B3_REL_87_0001 +File: intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq +Version: BT_WilkinsPeak_B3_REL_87_0001 +File: intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq +Version: BT_WilkinsPeak_B5_REL_42_0001 +File: intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq +Version: BT_WilkinsPeak_B5_REL_42_0001 +File: intel/ibt-hw-37.8.bseq +Version: 1339_02.00 +File: intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq +Version: BT_StonePeak_C0_REL_59_0001 +File: intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq +Version: BT_StonePeak_D0_REL_50_0002 +File: intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq +Version: BT_StonePeak_D1_REL_67_1278 +File: intel/ibt-11-5.ddc +Version: LnP/SfP_REL1294 +File: intel/ibt-11-5.sfi +Version: BT_LightningPeak_REL0487 +File: intel/ibt-12-16.ddc +Version: BT_WindStormPeak_REL1299 +File: intel/ibt-12-16.sfi +Version: BT_WindStormPeak_REL1299 +File: intel/ibt-17-16-1.sfi +Version: BT_JeffersonPeak_B0_B0_REL20332 +File: intel/ibt-17-16-1.ddc +Version: BT_JeffersonPeak_B0_B0_REL20332 +File: intel/ibt-17-2.sfi +Version: BT_JeffersonPeak_B0_B0_REL20332 +File: intel/ibt-17-2.ddc +Version: BT_JeffersonPeak_B0_B0_REL20332 +File: intel/ibt-17-0-1.sfi +Version: BT_JeffersonPeak_A0_B0_REL0201 +File: intel/ibt-17-0-1.ddc +Version: BT_JeffersonPeak_A0_B0_REL0201 +File: intel/ibt-17-1.sfi +Version: BT_JeffersonPeak_A0_B0_REL0201 +File: intel/ibt-17-1.ddc +Version: BT_JeffersonPeak_A0_B0_REL0201 +File: intel/ibt-18-16-1.sfi +Version: BT_ThunderPeak_B0_B0_REL20182 +File: intel/ibt-18-16-1.ddc +Version: BT_ThunderPeak_B0_B0_REL20182 +File: intel/ibt-18-2.sfi +Version: BT_ThunderPeak_B0_B0_REL20182 +File: intel/ibt-18-2.ddc +Version: BT_ThunderPeak_B0_B0_REL20182 +File: intel/ibt-18-0-1.sfi +Version: BT_ThunderPeak_A0_B0_REL0201 +File: intel/ibt-18-0-1.ddc +Version: BT_ThunderPeak_A0_B0_REL0201 +File: intel/ibt-18-1.sfi +Version: BT_ThunderPeak_A0_B0_REL0201 +File: intel/ibt-18-1.ddc +Version: BT_ThunderPeak_A0_B0_REL0201 +File:intel/ibt-20-0-3.sfi +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-20-0-3.ddc +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-20-1-3.sfi +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-20-1-3.ddc +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-20-1-4.sfi +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-20-1-4.ddc +Version: BT_CyclonePeak_A0_REL53392 +File:intel/ibt-19-0-0.sfi +Version: BT_Quasar_REL53392 +File:intel/ibt-19-0-0.ddc +Version: BT_Quasar_REL53392 +File:intel/ibt-19-0-1.sfi +Version: BT_Quasar_REL53392 +File:intel/ibt-19-0-1.ddc +Version: BT_Quasar_REL53392 +File:intel/ibt-19-0-3.sfi +Version: BT_Quasar_REL53263 +File:intel/ibt-19-0-3.ddc +Version: BT_Quasar_REL53263 +File:intel/ibt-19-0-4.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-0-4.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-16-4.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-16-4.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-1.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-1.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-0.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-0.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-4.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-32-4.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-240-1.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-240-1.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-240-4.sfi +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-19-240-4.ddc +Version: BT_HarrisonPeak_REL53392 +File:intel/ibt-0041-0041.sfi +Version: BT_TyphoonPeak_REL62562 +File:intel/ibt-0041-0041.ddc +Version: BT_TyphoonPeak_REL62562 +File:intel/ibt-0040-0041.sfi +Version: BT_Solar_GfP2_REL62562 +File:intel/ibt-0040-0041.ddc +Version: BT_Solar_GfP2_REL62562 +File:intel/ibt-1040-0041.sfi +Version: BT_SolarF_GfP2_REL62562 +File:intel/ibt-1040-0041.ddc +Version: BT_SolarF_GfP2_REL62562 + +File:intel/ibt-0040-1020.sfi +Version: BT_Solar_JfP1_REL59564 +File:intel/ibt-0040-1020.ddc +Version: BT_Solar_JfP1_REL59564 +File:intel/ibt-1040-1020.sfi +Version: BT_SolarF_JfP1_REL59564 +File:intel/ibt-1040-1020.ddc +Version: BT_SolarF_JfP1_REL59564 + +File:intel/ibt-0040-2120.sfi +Version: BT_Solar_JfP2_REL52159 +File:intel/ibt-0040-2120.ddc +Version: BT_Solar_JfP2_REL52159 +File:intel/ibt-1040-2120.sfi +Version: BT_SolarF_JfP2_REL59564 +File:intel/ibt-1040-2120.ddc +Version: BT_SolarF_JfP2_REL59564 + +File:intel/ibt-0040-4150.sfi +Version: BT_Solar_JnP2_REL62562 +File:intel/ibt-0040-4150.ddc +Version: BT_Solar_JnP2_REL62562 +File:intel/ibt-1040-4150.sfi +Version: BT_SolarF_JnP2_REL62562 +File:intel/ibt-1040-4150.ddc +Version: BT_SolarF_JnP2_REL62562 + +Licence: Redistributable. See LICENCE.ibt_firmware for details + +File: rtl_bt/rtl8192ee_fw.bin +File: rtl_bt/rtl8192eu_fw.bin +File: rtl_bt/rtl8723a_fw.bin +File: rtl_bt/rtl8723b_fw.bin +File: rtl_bt/rtl8723bs_fw.bin +File: rtl_bt/rtl8723bs_config-OBDA8723.bin +Link: rtl_bt/rtl8723bs_config-OBDA0623.bin -> rtl8723bs_config-OBDA8723.bin +File: rtl_bt/rtl8761a_fw.bin +File: rtl_bt/rtl8761b_fw.bin +File: rtl_bt/rtl8761b_config.bin +File: rtl_bt/rtl8761bu_fw.bin +File: rtl_bt/rtl8761bu_config.bin +File: rtl_bt/rtl8812ae_fw.bin +File: rtl_bt/rtl8821a_fw.bin +Link: rtl_bt/rtl8821a_config.bin -> rtl8821c_config.bin +File: rtl_bt/rtl8822b_fw.bin +File: rtl_bt/rtl8822b_config.bin +File: rtl_bt/rtl8723d_fw.bin +File: rtl_bt/rtl8723d_config.bin +File: rtl_bt/rtl8821c_fw.bin +File: rtl_bt/rtl8821c_config.bin +File: rtl_bt/rtl8821cs_fw.bin +File: rtl_bt/rtl8821cs_config.bin +File: rtl_bt/rtl8822cu_fw.bin +File: rtl_bt/rtl8822cu_config.bin +File: rtl_bt/rtl8822cs_fw.bin +File: rtl_bt/rtl8822cs_config.bin +File: rtl_bt/rtl8852au_fw.bin +File: rtl_bt/rtl8852au_config.bin +File: rtl_bt/rtl8852bu_fw.bin +File: rtl_bt/rtl8852bu_config.bin +File: rtl_bt/rtl8852cu_fw.bin +File: rtl_bt/rtl8852cu_config.bin +File: rtl_bt/rtl8851bu_fw.bin +File: rtl_bt/rtl8851bu_config.bin + +Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. + +Found in vendor driver, linux_bt_usb_2.11.20140423_8723be.rar +From https://github.com/troy-tan/driver_store +Files rtl_bt/rtl8822b_* came directly from Realtek. These files are +updated on April 14, 2017. + +Found in vendor driver, 20200806_LINUX_BT_DRIVER_RTL8761B_COEX_v0202.zip +File rtl_bt/rtl8761b_config.bin +File rtl_bt/rtl8761bu_config.bin + +-------------------------------------------------------------------------- + +Driver: btmtk_usb - Bluetooth USB driver + +File: mediatek/mt7650.bin +Link: mt7650.bin -> mediatek/mt7650.bin + +Licence: Redistributable. See LICENCE.ralink_a_mediatek_company_firmware for details + +-------------------------------------------------------------------------- + +Driver: rp2 -- Comtrol RocketPort 2 serial driver + +File: rp2.fw + +Licence: Redistributable. + +Copyright (C) 2013 Comtrol Corporation + +Comtrol grants permission to use and redistribute these firmware +files for use with Comtrol devices, but not as part of the Linux +kernel or in any other form which would require these files themselves +to be covered by the terms of the GNU General Public License. + +These firmware files are distributed in the hope that they will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- + +Driver: go7007 + +File: go7007/s2250-1.fw +File: go7007/s2250-2.fw +Link: s2250.fw -> go7007/s2250-2.fw +Link: s2250_loader.fw -> go7007/s2250-1.fw + +Licence: + Sensoray grants permission to use and redistribute these firmware + files for use with Sensoray devices, but not as a part of the Linux + kernel or in any other form which would require these files themselves + to be covered by the terms of the GNU General Public License. + These firmware files are distributed in the hope that they will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +File: go7007/go7007fw.bin +File: go7007/go7007tv.bin +File: go7007/lr192.fw +File: go7007/px-m402u.fw +File: go7007/px-tv402u.fw +File: go7007/wis-startrek.fw + +Licence: Redistributable. See LICENCE.go7007 for details + +-------------------------------------------------------------------------- + +Driver: ccp - Platform Security Processor (PSP) device + +File: amd/amd_sev_fam17h_model0xh.sbin +Version: 2022-2-25 +File: amd/amd_sev_fam17h_model3xh.sbin +Version: 2022-2-25 +File: amd/amd_sev_fam19h_model0xh.sbin +Version: 2022-2-25 + +License: Redistributable. See LICENSE.amd-sev for details + +-------------------------------------------------------------------------- + +Driver: microcode_amd - AMD CPU Microcode Update Driver for Linux + +File: amd-ucode/microcode_amd.bin +Raw: amd-ucode/microcode_amd.bin +Version: 2013-07-10 +File: amd-ucode/microcode_amd_fam15h.bin +Raw: amd-ucode/microcode_amd_fam15h.bin +Version: 2018-05-24 +File: amd-ucode/microcode_amd_fam16h.bin +Raw: amd-ucode/microcode_amd_fam16h.bin +Version: 2014-10-28 +File: amd-ucode/microcode_amd_fam17h.bin +Raw: amd-ucode/microcode_amd_fam17h.bin +Version: 2023-04-13 +File: amd-ucode/microcode_amd_fam19h.bin +Raw: amd-ucode/microcode_amd_fam19h.bin +Version: 2023-01-31 +File: amd-ucode/README + +License: Redistributable. See LICENSE.amd-ucode for details + +-------------------------------------------------------------------------- + +Driver: mxu11x0 - MOXA UPort 11x0 USB Serial hub driver + +File: moxa/moxa-1110.fw +File: moxa/moxa-1130.fw +File: moxa/moxa-1131.fw +File: moxa/moxa-1150.fw +File: moxa/moxa-1151.fw + +License: Redistributable. See LICENCE.moxa for details + +-------------------------------------------------------------------------- + +Driver: mxuport - MOXA UPort USB Serial hub driver + +File: moxa/moxa-1250.fw +File: moxa/moxa-1251.fw +File: moxa/moxa-1410.fw +File: moxa/moxa-1450.fw +File: moxa/moxa-1451.fw +File: moxa/moxa-1613.fw +File: moxa/moxa-1618.fw +File: moxa/moxa-1653.fw +File: moxa/moxa-1658.fw + +License: Redistributable. See LICENCE.moxa for details + +-------------------------------------------------------------------------- + +Driver: cw1200 - ST-E CW1100/CW1200 WLAN driver + +File: wsm_22.bin +Version: WSM395 +Licence: Redistributable. See LICENCE.cw1200 for details. + +File: sdd_sagrad_1091_1098.bin + +License: + Copyright (c) 2011-2013 Sagrad, Inc. + + This SDD ("Static Dynamic Data") file is licensed strictly for use with + the Sagrad WiFi modules (such as the SG901-1091/1098) that utilize the + cw1200 driver. There is no warranty expressed or implied about its + fitness for any purpose. + + Permission is hereby granted for the distribution of this SDD file as + part of Linux or other Open Source operating system kernel in text or + binary form as required. + + (Please note that the actual device firmware is separately licensed) + +-------------------------------------------------------------------------- + +Driver: BFA/BNA - QLogic BR-series Adapter FC/FCOE drivers + +File: cbfw-3.2.5.1.bin +File: ctfw-3.2.5.1.bin +File: ct2fw-3.2.5.1.bin + +Licence: + +This file contains firmware data derived from proprietary unpublished +source code. +Copyright (c) 2013-2014 Brocade Communications Systems, Inc. +Copyright (c) 2014-2015 QLogic Corporation. + +Permission is hereby granted for the distribution of this firmware data +in hexadecimal or equivalent format, provided this copyright notice is +accompanying it. + +QLogic grants permission to use and redistribute these firmware files +for use with QLogic BR-series devices, but not as a part of the Linux +kernel or in any other form which would require these files themselves +to be covered by the terms of the GNU General Public License. +These firmware files are distributed in the hope that they will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +-------------------------------------------------------------------------- +Driver: qat - Intel(R) QAT crypto accelerator + +File: qat_895xcc.bin +File: qat_895xcc_mmp.bin +File: qat_c3xxx.bin +File: qat_c3xxx_mmp.bin +File: qat_c62x.bin +File: qat_c62x_mmp.bin +Link: qat_mmp.bin -> qat_895xcc_mmp.bin +File: qat_4xxx.bin +File: qat_4xxx_mmp.bin + +Licence: Redistributable. See LICENCE.qat_firmware for details + +-------------------------------------------------------------------------- + +Driver: rsi -- Redpine Signals Inc 91x driver + +File: rsi_91x.fw + +File: rsi/rs9113_wlan_qspi.rps +Version: 1.6.1 + +File: rsi/rs9113_wlan_bt_dual_mode.rps +Version: 1.6.1 + +File: rsi/rs9113_ap_bt_dual_mode.rps +Version: 1.6.1 + +File: rsi/rs9116_wlan.rps +Version: 1.0.5b + +File: rsi/rs9116_wlan_bt_classic.rps +Version: 1.0.5b + +Licence: + * Firmware is: + * Derived from proprietary unpublished source code, + * Copyright (C) 2019 Redpine Signals Inc. + * + * Permission is hereby granted for the distribution of this firmware + * as part of Linux or other Open Source operating system kernel + * provided this copyright notice is accompanying it. + +-------------------------------------------------------------------------- + +Driver: xhci-rcar -- Renesas R-Car Gen2/3 USB 3.0 host controller driver + +File: r8a779x_usb3_v1.dlmem +File: r8a779x_usb3_v2.dlmem +File: r8a779x_usb3_v3.dlmem + +Licence: Redistributable. See LICENCE.r8a779x_usb3 for details. + +-------------------------------------------------------------------------- + +Driver: snd_soc_sst_acpi + +File: intel/fw_sst_0f28.bin-48kHz_i2s_master + +License: Redistributable. See LICENCE.fw_sst_0f28 for details + +-------------------------------------------------------------------------- + +Driver: as102 - Abilis Systems Single DVB-T Receiver + +File: as102_data1_st.hex +File: as102_data2_st.hex + +License: Redistributable. See LICENCE.Abilis for details + +-------------------------------------------------------------------------- + +Driver: it9135 -- ITEtech IT913x DVB-T USB driver + +File: dvb-usb-it9135-01.fw +File: dvb-usb-it9135-02.fw + +Licence: Redistributable. See LICENCE.it913x for details + +-------------------------------------------------------------------------- + +Driver: snd_soc_catpt -- Intel AudioDSP driver for HSW/BDW platforms + +File: intel/catpt/bdw/dsp_basefw.bin +Version: 44b81c4d5397a63108356f58f036953d9b288c4e +Link: intel/IntcSST2.bin -> catpt/bdw/dsp_basefw.bin + +License: Redistributable. See LICENCE.IntcSST2 for details + +-------------------------------------------------------------------------- + +Driver: snd_soc_avs -- Intel AudioDSP driver for cAVS platforms + +File: intel/avs/skl/dsp_basefw.bin +File: intel/avs/skl/dsp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin +Version: 9.21.00.4899 +Link: intel/dsp_fw_release.bin -> avs/skl/dsp_basefw.bin +Link: intel/dsp_fw_kbl.bin -> avs/skl/dsp_basefw.bin +File: intel/avs/apl/dsp_basefw.bin +Version: 9.22.01.4908 +Link: intel/dsp_fw_bxtn.bin -> avs/apl/dsp_basefw.bin +Link: intel/dsp_fw_glk.bin -> avs/apl/dsp_basefw.bin +File: intel/avs/cnl/dsp_basefw.bin +Version: 10.23.00.8551 +Link: intel/dsp_fw_cnl.bin -> avs/cnl/dsp_basefw.bin + +License: Redistributable. See LICENCE.adsp_sst for details + +-------------------------------------------------------------------------- + +Driver: snd_intel_sst_core + +File: intel/fw_sst_0f28.bin +File: intel/fw_sst_0f28_ssp0.bin + +License: Redistributable. See LICENCE.fw_sst_0f28 for details + +-------------------------------------------------------------------------- + +Driver: snd_intel_sst_core + +File: intel/fw_sst_22a8.bin +Version: 01.0B.02.02 + +License: Redistributable. See LICENCE.fw_sst_0f28 for details + +-------------------------------------------------------------------------- + +Driver: snd-soc-skl + +File: intel/dsp_fw_release_v969.bin +Version: 8.20.00.969 +File: intel/dsp_fw_release_v3402.bin +Version: 9.21.00.3402_161 + +License: Redistributable. See LICENCE.adsp_sst for details + +File: intel/dsp_fw_bxtn_v2219.bin +Version: 9.22.01.2219_64 +File: intel/dsp_fw_bxtn_v3366.bin +Version: 9.22.01.3366_157 + +License: Redistributable. See LICENCE.adsp_sst for details + +File: intel/dsp_fw_kbl_v701.bin +Version: 9.21.00.701 +File: intel/dsp_fw_kbl_v1037.bin +Version: 09.21.00.1037 +File: intel/dsp_fw_kbl_v2042.bin +Version: 9.21.00.2042_46 +File: intel/dsp_fw_kbl_v2630.bin +Version: 9.21.00.2630_97 +File: intel/dsp_fw_kbl_v3266.bin +Version: 9.21.00.3266_144 +File: intel/dsp_fw_kbl_v3420.bin +Version: 9.21.00.3420_163 +File: intel/dsp_fw_kbl_v3402.bin +Version: 9.21.00.3402_161 + +License: Redistributable. See LICENCE.adsp_sst for details + +File: intel/dsp_fw_glk_v1814.bin +Version: 9.92.01.1814 +File: intel/dsp_fw_glk_v2880.bin +Version: 9.22.00.2880 +File: intel/dsp_fw_glk_v2768.bin +Version: 9.22.01.2768 +File: intel/dsp_fw_glk_v3366.bin +Version: 9.22.01.3366_157 + +File: intel/dsp_fw_cnl_v1191.bin +Version: 10.00.00.1191 +File: intel/dsp_fw_cnl_v1858.bin +Version: 10.23.00.1858 + +License: Redistributable. See LICENCE.adsp_sst for details + +-------------------------------------------------------------------------- + +Driver: smsmdtv - Siano MDTV Core module + +File: cmmb_vega_12mhz.inp +File: cmmb_venice_12mhz.inp +File: dvb_nova_12mhz.inp +File: dvb_nova_12mhz_b0.inp +File: isdbt_nova_12mhz.inp +File: isdbt_nova_12mhz_b0.inp +File: isdbt_rio.inp +File: sms1xxx-hcw-55xxx-dvbt-02.fw +File: sms1xxx-hcw-55xxx-isdbt-02.fw +File: sms1xxx-nova-a-dvbt-01.fw +File: sms1xxx-nova-b-dvbt-01.fw +File: sms1xxx-stellar-dvbt-01.fw +File: tdmb_nova_12mhz.inp + +Licence: Redistributable. See LICENCE.siano for details + +-------------------------------------------------------------------------- + +Driver: xhci-tegra -- NVIDIA Tegra XHCI driver + +File: nvidia/tegra124/xusb.bin +Version: v45.46 + +File: nvidia/tegra210/xusb.bin +Version: v50.24 + +File: nvidia/tegra186/xusb.bin +Version: v55.15 + +File: nvidia/tegra194/xusb.bin +Version: v60.06 + +Licence: Redistributable. See LICENCE.nvidia for details + +-------------------------------------------------------------------------- + +Driver: tegra-vic -- NVIDIA Tegra VIC driver + +File: nvidia/tegra124/vic03_ucode.bin +Link: nvidia/tegra124/vic.bin -> vic03_ucode.bin + +File: nvidia/tegra210/vic04_ucode.bin +Link: nvidia/tegra210/vic.bin -> vic04_ucode.bin + +File: nvidia/tegra186/vic04_ucode.bin +Link: nvidia/tegra186/vic.bin -> vic04_ucode.bin + +File: nvidia/tegra194/vic.bin + +Licence: Redistributable. See LICENCE.nvidia for details + +-------------------------------------------------------------------------- + +Driver: atusb - ATUSB IEEE 802.15.4 transceiver driver + +File: atusb/atusb-0.2.dfu +Version: 0.2 +File: atusb/atusb-0.3.dfu +Version: 0.3 +File: atusb/rzusb-0.3.bin +Version: 0.3 +Info: atusb/ChangeLog + +Licence: GPLv2 or later. See GPL-2 and GPL-3 for details. + +-------------------------------------------------------------------------- + +Driver: btqca - Qualcomm Atheros Bluetooth support for QCA61x4 chips + +File: qca/nvm_usb_00000201.bin +File: qca/nvm_usb_00000200.bin +File: qca/nvm_usb_00000300.bin +File: qca/nvm_usb_00000302.bin +File: qca/nvm_00130300.bin +File: qca/nvm_00130302.bin +File: qca/nvm_00230302.bin +File: qca/rampatch_usb_00000200.bin +File: qca/rampatch_usb_00000201.bin +File: qca/rampatch_usb_00000300.bin +File: qca/rampatch_usb_00000302.bin +File: qca/rampatch_00130300.bin +File: qca/rampatch_00130302.bin +File: qca/rampatch_00230302.bin +File: qca/nvm_00440302.bin +File: qca/rampatch_00440302.bin +File: qca/nvm_00440302_eu.bin +File: qca/nvm_00440302_i2s_eu.bin +File: qca/nvm_usb_00000302_eu.bin +File: qca/htbtfw20.tlv +File: qca/htnv20.bin +File: qca/rampatch_usb_00130200.bin +File: qca/nvm_usb_00130200.bin +File: qca/nvm_usb_00130200_0104.bin +File: qca/nvm_usb_00130200_0105.bin +File: qca/nvm_usb_00130200_0106.bin +File: qca/nvm_usb_00130200_0107.bin +File: qca/nvm_usb_00130200_0109.bin +File: qca/nvm_usb_00130200_0110.bin +File: qca/rampatch_usb_00130201.bin +File: qca/nvm_usb_00130201.bin +File: qca/nvm_usb_00130201_010a.bin +File: qca/nvm_usb_00130201_010b.bin +File: qca/nvm_usb_00130201_0303.bin +File: qca/nvm_usb_00130201_gf.bin +File: qca/nvm_usb_00130201_gf_010a.bin +File: qca/nvm_usb_00130201_gf_010b.bin +File: qca/nvm_usb_00130201_gf_0303.bin +File: qca/rampatch_usb_00190200.bin +File: qca/nvm_usb_00190200.bin + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details + +-------------------------------------------------------------------------- + +Driver: qca - Qualcomm Atheros Bluetooth support for WCN399x chips + +File: qca/crbtfw21.tlv +File: qca/crnv21.bin +File: qca/crbtfw32.tlv +File: qca/crnv32.bin +File: qca/crnv32u.bin + +Driver: qca - Qualcomm Atheros Bluetooth support for WCN6750 chips + +File: qca/msbtfw11.mbn +File: qca/msbtfw11.tlv +File: qca/msnv11.bin +File: qca/msnv11.b0a +File: qca/msnv11.b09 + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details + +Driver: qca - Qualcomm Atheros Bluetooth support for QCA2066 chips + +File: qca/hpbtfw21.tlv +File: qca/hpnv21.bin +File: qca/hpnv21g.bin +File: qca/hpnv21.301 +File: qca/hpnv21.302 +File: qca/hpnv21g.301 +File: qca/hpnv21g.302 + + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k and qca/NOTICE.txt for details + +-------------------------------------------------------------------------- + +Driver: liquidio -- Cavium LiquidIO driver + +File: liquidio/lio_23xx_nic.bin +Version: v1.7.2 + +File: liquidio/lio_210nv_nic.bin +Version: v1.7.2 + +File: liquidio/lio_210sv_nic.bin +Version: v1.7.2 + +File: liquidio/lio_410nv_nic.bin +Version: v1.7.2 + +Licence: Redistributable. See LICENCE.cavium_liquidio for details + +-------------------------------------------------------------------------- + +Driver: nitrox -- Cavium CNN55XX crypto driver + +File: cavium/cnn55xx_ae.fw +Version: v01 + +File: cavium/cnn55xx_se.fw +Version: v10 + +Licence: Redistributable. See LICENCE.cavium for details + +-------------------------------------------------------------------------- + +Driver: i915 -- Intel Integrated Graphics driver + +File: i915/skl_dmc_ver1_23.bin +File: i915/skl_dmc_ver1_26.bin +File: i915/skl_dmc_ver1_27.bin +Link: i915/skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin +Version: DMC API/ABI ver 1 - release 27 for Skylake + +File: i915/bxt_dmc_ver1_07.bin +Link: i915/bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin +Version: DMC API/ABI ver 1 - release 07 for Broxton + +File: i915/kbl_dmc_ver1_01.bin +Link: i915/kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin +Version: DMC API/ABI ver 1 - release 01 for Kabylake + +File: i915/kbl_dmc_ver1_04.bin +Version: DMC API/ABI ver 1 - release 04 for Kabylake + +File: i915/skl_guc_ver1.bin +Version: Guc API/ABI ver 1 - release 1059 for Skylake + +File: i915/skl_guc_ver4.bin +Version: Guc API/ABI ver 4 - release 3 for Skylake + +File: i915/skl_guc_ver6_1.bin +Link: i915/skl_guc_ver6.bin -> skl_guc_ver6_1.bin +Version: Guc API/ABI ver 6 - release 1 for Skylake + +File: i915/skl_guc_ver9_33.bin +Version: Guc API/ABI ver 9 - release 33 for Skylake + +File: i915/skl_guc_32.0.3.bin +Version: Guc API/ABI ver 32 - release 0 for Skylake + +File: i915/skl_guc_33.0.0.bin +Version: Guc API/ABI ver 33 - release 0 for Skylake + +File: i915/skl_guc_49.0.1.bin +Version: Guc API/ABI ver 49 - release 0 for Skylake + +File: i915/skl_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Skylake + +File: i915/skl_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Skylake + +File: i915/skl_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Skylake + +File: i915/skl_huc_ver01_07_1398.bin +Version: HuC API/ABI ver 1 - release 7 for Skylake + +File: i915/skl_huc_2.0.0.bin +Version: HuC API/ABI ver 2 - release 0 for Skylake + +File: i915/bxt_huc_ver01_07_1398.bin +Version: HuC API/APB ver 1 - release 7 for Broxton + +File: i915/bxt_huc_ver01_8_2893.bin +Version: HuC API/APB ver 1 - release 8 for Broxton + +File: i915/bxt_huc_2.0.0.bin +Version: HuC API/APB ver 2 - release 0 for Broxton + +File: i915/kbl_huc_ver02_00_1810.bin +Version: HuC API/APB ver 2 - for Kabylake + +File: i915/kbl_huc_4.0.0.bin +Version: HuC API/APB ver 4 - for Kabylake + +File: i915/bxt_guc_ver8_7.bin +Version: Guc API/APB ver 8 - release 7 for Broxton + +File: i915/bxt_guc_ver9_29.bin +Version: Guc API/APB ver 9 - release 29 for Broxton + +File: i915/bxt_guc_32.0.3.bin +Version: Guc API/APB ver 32 - release 0 for Broxton + +File: i915/bxt_guc_33.0.0.bin +Version: Guc API/APB ver 33 - release 0 for Broxton + +File: i915/bxt_guc_49.0.1.bin +Version: Guc API/APB ver 49 - release 0 for Broxton + +File: i915/bxt_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Broxton + +File: i915/bxt_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Broxton + +File: i915/bxt_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Broxton + +File: i915/kbl_guc_ver9_14.bin +Version: Guc API/APB ver 9 release 14 for Kabylake + +File: i915/cml_guc_33.0.0.bin +Version: Guc API/APB ver 33 release 0 for Comet Lake + +File: i915/cml_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Comet Lake + +File: i915/cml_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Comet Lake + +File: i915/cml_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Comet Lake + +File: i915/cml_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Comet Lake + +File: i915/kbl_guc_ver9_39.bin +Version: Guc API/APB ver 9 release 39 for Kabylake + +File: i915/kbl_guc_32.0.3.bin +Version: Guc API/APB ver 32 release 0 for Kabylake + +File: i915/kbl_guc_33.0.0.bin +Version: Guc API/APB ver 33 release 0 for Kabylake + +File: i915/kbl_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Kabylake + +File: i915/kbl_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Kabylake + +File: i915/kbl_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Kabylake + +File: i915/kbl_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Kabylake + +File: i915/glk_guc_32.0.3.bin +Version: Guc API/APB ver 32 release 0 for Geminilake + +File: i915/glk_guc_33.0.0.bin +Version: Guc API/APB ver 33 release 0 for Geminilake + +File: i915/glk_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Geminilake + +File: i915/glk_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Geminilake + +File: i915/glk_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Geminilake + +File: i915/glk_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Geminilake + +File: i915/glk_huc_ver03_01_2893.bin +Version: Huc API/APB ver 3 release 1 for Geminilake + +File: i915/glk_huc_4.0.0.bin +Version: Huc API/APB ver 4 release 0 for Geminilake + +File: i915/glk_dmc_ver1_04.bin +Version: DMC API/ABI ver 1 - release 04 for Geminilake + +File: i915/cml_huc_4.0.0.bin +Version: HuC API/ABI ver 4 - release 0 for Cometlake + +File: i915/cnl_dmc_ver1_06.bin +Version: DMC API/ABI ver 1 - release 06 for Cannonlake + +File: i915/cnl_dmc_ver1_07.bin +Version: DMC API/ABI ver 1 - release 07 for Cannonlake + +File: i915/icl_dmc_ver1_07.bin +Version: DMC API/ABI ver 1 - release 07 for icelake + +File: i915/icl_dmc_ver1_09.bin +Version: DMC API/ABI ver 1 - release 09 for icelake + +File: i915/icl_guc_32.0.3.bin +Version: Guc API/APB ver 32 release 0 for Icelake + +File: i915/icl_guc_33.0.0.bin +Version: Guc API/APB ver 33 release 0 for Icelake + +File: i915/icl_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Icelake + +File: i915/icl_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Icelake + +File: i915/icl_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Icelake + +File: i915/icl_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Icelake + +File: i915/icl_huc_ver8_4_3238.bin +Version: Huc API/APB ver 8 release 4 for Icelake + +File: i915/tgl_dmc_ver2_04.bin +Version: DMC API/APB ver 2 release 4 for Tigerlake + +File: i915/tgl_dmc_ver2_06.bin +Version: DMC API/APB ver 2 release 6 for Tigerlake + +File: i915/tgl_dmc_ver2_08.bin +Version: DMC API/APB ver 2 release 8 for Tigerlake + +File: i915/tgl_dmc_ver2_12.bin +Version: DMC API/APB ver 2 release 12 for Tigerlake + +File: i915/icl_huc_9.0.0.bin +Version: Huc API/APB ver 9 release 0 for Icelake + +File: i915/ehl_guc_33.0.4.bin +Version: Guc API/APB ver 33 release 0 for Elkhartlake + +File: i915/ehl_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Elkhartlake + +File: i915/ehl_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Elkhartlake + +File: i915/ehl_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Elkhartlake + +File: i915/ehl_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Elkhartlake + +File: i915/ehl_huc_9.0.0.bin +Version: Huc API/APB ver 9 release 0 for Elkhartlake + +File: i915/tgl_guc_35.2.0.bin +Version: Guc API/APB ver 35 release 2 for Tigerlake + +File: i915/tgl_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for Tigerlake + +File: i915/tgl_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for Tigerlake + +File: i915/tgl_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Tigerlake + +File: i915/tgl_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Tigerlake + +File: i915/tgl_guc_70.bin +Version: GuC API/APB ver 70.5.1 for Tigerlake + +File: i915/tgl_huc_7.0.3.bin +Version: Huc API/APB ver 7 release 0 for Tigerlake + +File: i915/tgl_huc_7.0.12.bin +Version: Huc API/APB ver 7 release 0 for Tigerlake + +File: i915/tgl_huc_7.5.0.bin +Version: Huc API/APB ver 7 release 5 for Tigerlake + +File: i915/tgl_huc_7.9.3.bin +Version: HuC API/APB ver 7.9.3 for Tigerlake + +File: i915/tgl_huc.bin +Version: HuC API/APB ver 7.9.3 for Tigerlake + +File: i915/rkl_dmc_ver2_02.bin +Version: DMC API/APB ver 2 release 2 for Rocketlake + +File: i915/rkl_dmc_ver2_03.bin +Version: DMC API/APB ver 2 release 3 for Rocketlake + +File: i915/dg1_dmc_ver2_02.bin +Version: DMC API/APB ver 2 release 2 for DG1 + +File: i915/dg1_guc_49.0.1.bin +Version: Guc API/APB ver 49 release 0 for DG1 + +File: i915/dg1_guc_62.0.0.bin +Version: GuC API/APB ver 62.0.0 for DG1 + +File: i915/dg1_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for DG1 + +File: i915/dg1_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for DG1 + +File: i915/dg1_guc_70.bin +Version: GuC API/APB ver 70.5.1 for DG1 + +File: i915/dg1_huc_7.7.1.bin +Version: Huc API/APB ver 7 release 1 for DG1 + +File: i915/dg1_huc_7.9.3.bin +Version: HuC API/APB ver 7.9.3 for DG1 + +File: i915/dg1_huc.bin +Version: HuC API/APB ver 7.9.3 for DG1 + +File: i915/adls_dmc_ver2_01.bin +Version: DMC API/APB ver 2 release 1 for Alderlake S + +File: i915/adlp_dmc_ver2_09.bin +Version: DMC API/APB ver 2 release 9 for Alderlake P + +File: i915/adlp_dmc_ver2_10.bin +Version: DMC API/APB ver 2 release 10 for Alderlake P + +File: i915/adlp_dmc_ver2_12.bin +Version: DMC API/APB ver 2 release 12 for Alderlake P + +File: i915/adlp_dmc_ver2_14.bin +Version: DMC API/APB ver 2 release 14 for Alderlake P + +File: i915/adlp_dmc_ver2_16.bin +Version: DMC API/APB ver 2 release 16 for Alderlake P + +File: i915/adlp_dmc.bin +Version: DMC API/APB ver 2 release 19 for Alderlake P + +File: i915/adlp_guc_62.0.3.bin +Version: GuC API/APB ver 62.0.3 for Alderlake P + +File: i915/adlp_guc_69.0.3.bin +Version: GuC API/APB ver 69.0.3 for Alderlake P + +File: i915/adlp_guc_70.1.1.bin +Version: GuC API/APB ver 70.1.1 for Alderlake P + +File: i915/adlp_guc_70.bin +Version: GuC API/APB ver 70.5.1 for Alderlake P + +File: i915/dg2_guc_70.1.2.bin +Version: GuC API/APB ver 70.1.2 for DG2 + +File: i915/dg2_guc_70.4.1.bin +Version: GuC API/APB ver 70.4.1 for DG2 + +File: i915/dg2_guc_70.bin +Version: GuC API/APB ver 70.5.1 for DG2 + +File: i915/dg2_huc_gsc.bin +Version: HuC API/APB ver 7.10.3 for DG2 + +File: i915/dg2_dmc_ver2_06.bin +Version: DMC API/APB ver 2 release 6 for DG2 + +File: i915/dg2_dmc_ver2_07.bin +Version: DMC API/APB ver 2 release 7 for DG2 + +File: i915/dg2_dmc_ver2_08.bin +Version: DMC API/APB ver 2 release 8 for DG2 + +File: i915/mtl_dmc_ver2_10.bin +Version: DMC API/APB ver 2 release 10 for Meteorlake + +File: i915/mtl_dmc.bin +Version: DMC API/APB ver 2 release 12 for Meteorlake + +File: i915/mtl_guc_70.bin +Version: GuC API/APB ver 70.6.6 for Meteorlake + +File: i915/mtl_huc_gsc.bin +Version: HuC API/APB ver 8.5.0 for Meteorlake + +License: Redistributable. See LICENSE.i915 for details +-------------------------------------------------------------------------- + +Driver: nouveau - NVIDIA GPU driver + +File: nvidia/gk20a/fecs_data.bin +File: nvidia/gk20a/fecs_inst.bin +File: nvidia/gk20a/gpccs_data.bin +File: nvidia/gk20a/gpccs_inst.bin +File: nvidia/gk20a/sw_bundle_init.bin +File: nvidia/gk20a/sw_ctx.bin +File: nvidia/gk20a/sw_method_init.bin +File: nvidia/gk20a/sw_nonctx.bin +File: nvidia/gm200/acr/bl.bin +File: nvidia/gm200/acr/ucode_load.bin +File: nvidia/gm200/acr/ucode_unload.bin +File: nvidia/gm200/gr/fecs_bl.bin +File: nvidia/gm200/gr/fecs_data.bin +File: nvidia/gm200/gr/fecs_inst.bin +File: nvidia/gm200/gr/fecs_sig.bin +File: nvidia/gm200/gr/gpccs_bl.bin +File: nvidia/gm200/gr/gpccs_data.bin +File: nvidia/gm200/gr/gpccs_inst.bin +File: nvidia/gm200/gr/gpccs_sig.bin +File: nvidia/gm200/gr/sw_bundle_init.bin +File: nvidia/gm200/gr/sw_ctx.bin +File: nvidia/gm200/gr/sw_method_init.bin +File: nvidia/gm200/gr/sw_nonctx.bin +Link: nvidia/gm204/acr/bl.bin -> ../../gm200/acr/bl.bin +Link: nvidia/gm204/acr/ucode_load.bin -> ../../gm200/acr/ucode_load.bin +Link: nvidia/gm204/acr/ucode_unload.bin -> ../../gm200/acr/ucode_unload.bin +Link: nvidia/gm204/gr/fecs_bl.bin -> ../../gm200/gr/fecs_bl.bin +File: nvidia/gm204/gr/fecs_data.bin +Link: nvidia/gm204/gr/fecs_inst.bin -> ../../gm200/gr/fecs_inst.bin +File: nvidia/gm204/gr/fecs_sig.bin +Link: nvidia/gm204/gr/gpccs_bl.bin -> ../../gm200/gr/gpccs_bl.bin +File: nvidia/gm204/gr/gpccs_data.bin +Link: nvidia/gm204/gr/gpccs_inst.bin -> ../../gm200/gr/gpccs_inst.bin +File: nvidia/gm204/gr/gpccs_sig.bin +Link: nvidia/gm204/gr/sw_bundle_init.bin -> ../../gm200/gr/sw_bundle_init.bin +Link: nvidia/gm204/gr/sw_ctx.bin -> ../../gm200/gr/sw_ctx.bin +Link: nvidia/gm204/gr/sw_method_init.bin -> ../../gm200/gr/sw_method_init.bin +Link: nvidia/gm204/gr/sw_nonctx.bin -> ../../gm200/gr/sw_nonctx.bin +Link: nvidia/gm206/acr/bl.bin -> ../../gm200/acr/bl.bin +File: nvidia/gm206/acr/ucode_load.bin +File: nvidia/gm206/acr/ucode_unload.bin +Link: nvidia/gm206/gr/fecs_bl.bin -> ../../gm200/gr/fecs_bl.bin +File: nvidia/gm206/gr/fecs_data.bin +Link: nvidia/gm206/gr/fecs_inst.bin -> ../../gm200/gr/fecs_inst.bin +File: nvidia/gm206/gr/fecs_sig.bin +Link: nvidia/gm206/gr/gpccs_bl.bin -> ../../gm200/gr/gpccs_bl.bin +File: nvidia/gm206/gr/gpccs_data.bin +Link: nvidia/gm206/gr/gpccs_inst.bin -> ../../gm200/gr/gpccs_inst.bin +File: nvidia/gm206/gr/gpccs_sig.bin +Link: nvidia/gm206/gr/sw_bundle_init.bin -> ../../gm200/gr/sw_bundle_init.bin +Link: nvidia/gm206/gr/sw_ctx.bin -> ../../gm200/gr/sw_ctx.bin +Link: nvidia/gm206/gr/sw_method_init.bin -> ../../gm200/gr/sw_method_init.bin +Link: nvidia/gm206/gr/sw_nonctx.bin -> ../../gm200/gr/sw_nonctx.bin +File: nvidia/gm20b/acr/bl.bin +File: nvidia/gm20b/acr/ucode_load.bin +File: nvidia/gm20b/gr/fecs_bl.bin +File: nvidia/gm20b/gr/fecs_data.bin +File: nvidia/gm20b/gr/fecs_inst.bin +File: nvidia/gm20b/gr/fecs_sig.bin +File: nvidia/gm20b/gr/gpccs_data.bin +File: nvidia/gm20b/gr/gpccs_inst.bin +File: nvidia/gm20b/gr/sw_bundle_init.bin +File: nvidia/gm20b/gr/sw_ctx.bin +Link: nvidia/gm20b/gr/sw_method_init.bin -> ../../gm200/gr/sw_method_init.bin +File: nvidia/gm20b/gr/sw_nonctx.bin +File: nvidia/gm20b/pmu/desc.bin +File: nvidia/gm20b/pmu/image.bin +File: nvidia/gm20b/pmu/sig.bin +File: nvidia/gp100/acr/bl.bin +File: nvidia/gp100/acr/ucode_load.bin +File: nvidia/gp100/acr/ucode_unload.bin +Link: nvidia/gp100/gr/fecs_bl.bin -> ../../gm200/gr/fecs_bl.bin +File: nvidia/gp100/gr/fecs_data.bin +File: nvidia/gp100/gr/fecs_inst.bin +File: nvidia/gp100/gr/fecs_sig.bin +Link: nvidia/gp100/gr/gpccs_bl.bin -> ../../gm200/gr/gpccs_bl.bin +File: nvidia/gp100/gr/gpccs_data.bin +File: nvidia/gp100/gr/gpccs_inst.bin +File: nvidia/gp100/gr/gpccs_sig.bin +File: nvidia/gp100/gr/sw_bundle_init.bin +File: nvidia/gp100/gr/sw_ctx.bin +File: nvidia/gp100/gr/sw_method_init.bin +File: nvidia/gp100/gr/sw_nonctx.bin +File: nvidia/gp102/acr/bl.bin +File: nvidia/gp102/acr/ucode_load.bin +File: nvidia/gp102/acr/ucode_unload.bin +File: nvidia/gp102/acr/unload_bl.bin +Link: nvidia/gp102/gr/fecs_bl.bin -> ../../gm200/gr/fecs_bl.bin +File: nvidia/gp102/gr/fecs_data.bin +File: nvidia/gp102/gr/fecs_inst.bin +File: nvidia/gp102/gr/fecs_sig.bin +Link: nvidia/gp102/gr/gpccs_bl.bin -> ../../gm200/gr/gpccs_bl.bin +File: nvidia/gp102/gr/gpccs_data.bin +File: nvidia/gp102/gr/gpccs_inst.bin +File: nvidia/gp102/gr/gpccs_sig.bin +File: nvidia/gp102/gr/sw_bundle_init.bin +File: nvidia/gp102/gr/sw_ctx.bin +File: nvidia/gp102/gr/sw_method_init.bin +File: nvidia/gp102/gr/sw_nonctx.bin +File: nvidia/gp102/nvdec/scrubber.bin +File: nvidia/gp102/sec2/desc.bin +File: nvidia/gp102/sec2/image.bin +File: nvidia/gp102/sec2/sig.bin +File: nvidia/gp102/sec2/desc-1.bin +File: nvidia/gp102/sec2/image-1.bin +File: nvidia/gp102/sec2/sig-1.bin +Link: nvidia/gp104/acr/bl.bin -> ../../gp102/acr/bl.bin +Link: nvidia/gp104/acr/ucode_load.bin -> ../../gp102/acr/ucode_load.bin +Link: nvidia/gp104/acr/ucode_unload.bin -> ../../gp102/acr/ucode_unload.bin +Link: nvidia/gp104/acr/unload_bl.bin -> ../../gp102/acr/unload_bl.bin +Link: nvidia/gp104/gr/fecs_bl.bin -> ../../gp102/gr/fecs_bl.bin +File: nvidia/gp104/gr/fecs_data.bin +File: nvidia/gp104/gr/fecs_inst.bin +File: nvidia/gp104/gr/fecs_sig.bin +Link: nvidia/gp104/gr/gpccs_bl.bin -> ../../gp102/gr/gpccs_bl.bin +File: nvidia/gp104/gr/gpccs_data.bin +File: nvidia/gp104/gr/gpccs_inst.bin +File: nvidia/gp104/gr/gpccs_sig.bin +Link: nvidia/gp104/gr/sw_bundle_init.bin -> ../../gp102/gr/sw_bundle_init.bin +Link: nvidia/gp104/gr/sw_ctx.bin -> ../../gp102/gr/sw_ctx.bin +Link: nvidia/gp104/gr/sw_method_init.bin -> ../../gp102/gr/sw_method_init.bin +Link: nvidia/gp104/gr/sw_nonctx.bin -> ../../gp102/gr/sw_nonctx.bin +Link: nvidia/gp104/nvdec/scrubber.bin -> ../../gp102/nvdec/scrubber.bin +Link: nvidia/gp104/sec2/desc.bin -> ../../gp102/sec2/desc.bin +Link: nvidia/gp104/sec2/image.bin -> ../../gp102/sec2/image.bin +Link: nvidia/gp104/sec2/sig.bin -> ../../gp102/sec2/sig.bin +Link: nvidia/gp104/sec2/desc-1.bin -> ../../gp102/sec2/desc-1.bin +Link: nvidia/gp104/sec2/image-1.bin -> ../../gp102/sec2/image-1.bin +Link: nvidia/gp104/sec2/sig-1.bin -> ../../gp102/sec2/sig-1.bin +Link: nvidia/gp106/acr/bl.bin -> ../../gp102/acr/bl.bin +Link: nvidia/gp106/acr/ucode_load.bin -> ../../gp102/acr/ucode_load.bin +Link: nvidia/gp106/acr/ucode_unload.bin -> ../../gp102/acr/ucode_unload.bin +Link: nvidia/gp106/acr/unload_bl.bin -> ../../gp102/acr/unload_bl.bin +Link: nvidia/gp106/gr/fecs_bl.bin -> ../../gp102/gr/fecs_bl.bin +File: nvidia/gp106/gr/fecs_data.bin +Link: nvidia/gp106/gr/fecs_inst.bin -> ../../gp102/gr/fecs_inst.bin +File: nvidia/gp106/gr/fecs_sig.bin +Link: nvidia/gp106/gr/gpccs_bl.bin -> ../../gp102/gr/gpccs_bl.bin +File: nvidia/gp106/gr/gpccs_data.bin +Link: nvidia/gp106/gr/gpccs_inst.bin -> ../../gp102/gr/gpccs_inst.bin +File: nvidia/gp106/gr/gpccs_sig.bin +Link: nvidia/gp106/gr/sw_bundle_init.bin -> ../../gp102/gr/sw_bundle_init.bin +Link: nvidia/gp106/gr/sw_ctx.bin -> ../../gp102/gr/sw_ctx.bin +Link: nvidia/gp106/gr/sw_method_init.bin -> ../../gp102/gr/sw_method_init.bin +Link: nvidia/gp106/gr/sw_nonctx.bin -> ../../gp102/gr/sw_nonctx.bin +Link: nvidia/gp106/nvdec/scrubber.bin -> ../../gp102/nvdec/scrubber.bin +Link: nvidia/gp106/sec2/desc.bin -> ../../gp102/sec2/desc.bin +Link: nvidia/gp106/sec2/image.bin -> ../../gp102/sec2/image.bin +Link: nvidia/gp106/sec2/sig.bin -> ../../gp102/sec2/sig.bin +Link: nvidia/gp106/sec2/desc-1.bin -> ../../gp102/sec2/desc-1.bin +Link: nvidia/gp106/sec2/image-1.bin -> ../../gp102/sec2/image-1.bin +Link: nvidia/gp106/sec2/sig-1.bin -> ../../gp102/sec2/sig-1.bin +Link: nvidia/gp107/acr/bl.bin -> ../../gp102/acr/bl.bin +Link: nvidia/gp107/acr/ucode_load.bin -> ../../gp102/acr/ucode_load.bin +Link: nvidia/gp107/acr/ucode_unload.bin -> ../../gp102/acr/ucode_unload.bin +Link: nvidia/gp107/acr/unload_bl.bin -> ../../gp102/acr/unload_bl.bin +File: nvidia/gp107/gr/fecs_bl.bin +File: nvidia/gp107/gr/fecs_data.bin +File: nvidia/gp107/gr/fecs_inst.bin +File: nvidia/gp107/gr/fecs_sig.bin +File: nvidia/gp107/gr/gpccs_bl.bin +File: nvidia/gp107/gr/gpccs_data.bin +File: nvidia/gp107/gr/gpccs_inst.bin +File: nvidia/gp107/gr/gpccs_sig.bin +Link: nvidia/gp107/gr/sw_bundle_init.bin -> ../../gp102/gr/sw_bundle_init.bin +File: nvidia/gp107/gr/sw_ctx.bin +Link: nvidia/gp107/gr/sw_method_init.bin -> ../../gp102/gr/sw_method_init.bin +File: nvidia/gp107/gr/sw_nonctx.bin +Link: nvidia/gp107/nvdec/scrubber.bin -> ../../gp102/nvdec/scrubber.bin +Link: nvidia/gp107/sec2/desc.bin -> ../../gp102/sec2/desc.bin +Link: nvidia/gp107/sec2/image.bin -> ../../gp102/sec2/image.bin +Link: nvidia/gp107/sec2/sig.bin -> ../../gp102/sec2/sig.bin +Link: nvidia/gp107/sec2/desc-1.bin -> ../../gp102/sec2/desc-1.bin +Link: nvidia/gp107/sec2/image-1.bin -> ../../gp102/sec2/image-1.bin +Link: nvidia/gp107/sec2/sig-1.bin -> ../../gp102/sec2/sig-1.bin +File: nvidia/gp10b/acr/bl.bin +File: nvidia/gp10b/acr/ucode_load.bin +File: nvidia/gp10b/gr/fecs_bl.bin +File: nvidia/gp10b/gr/fecs_data.bin +File: nvidia/gp10b/gr/fecs_inst.bin +File: nvidia/gp10b/gr/fecs_sig.bin +File: nvidia/gp10b/gr/gpccs_bl.bin +File: nvidia/gp10b/gr/gpccs_data.bin +File: nvidia/gp10b/gr/gpccs_inst.bin +File: nvidia/gp10b/gr/gpccs_sig.bin +File: nvidia/gp10b/gr/sw_bundle_init.bin +File: nvidia/gp10b/gr/sw_ctx.bin +File: nvidia/gp10b/gr/sw_method_init.bin +File: nvidia/gp10b/gr/sw_nonctx.bin +File: nvidia/gp10b/pmu/desc.bin +File: nvidia/gp10b/pmu/image.bin +File: nvidia/gp10b/pmu/sig.bin +Link: nvidia/gp108/acr/bl.bin -> ../../gp102/acr/bl.bin +Link: nvidia/gp108/acr/ucode_load.bin -> ../../gp102/acr/ucode_load.bin +Link: nvidia/gp108/acr/ucode_unload.bin -> ../../gp102/acr/ucode_unload.bin +Link: nvidia/gp108/acr/unload_bl.bin -> ../../gp102/acr/unload_bl.bin +File: nvidia/gp108/gr/fecs_bl.bin +File: nvidia/gp108/gr/fecs_data.bin +File: nvidia/gp108/gr/fecs_inst.bin +File: nvidia/gp108/gr/fecs_sig.bin +File: nvidia/gp108/gr/gpccs_bl.bin +File: nvidia/gp108/gr/gpccs_data.bin +File: nvidia/gp108/gr/gpccs_inst.bin +File: nvidia/gp108/gr/gpccs_sig.bin +File: nvidia/gp108/gr/sw_bundle_init.bin +File: nvidia/gp108/gr/sw_ctx.bin +File: nvidia/gp108/gr/sw_method_init.bin +File: nvidia/gp108/gr/sw_nonctx.bin +Link: nvidia/gp108/nvdec/scrubber.bin -> ../../gp102/nvdec/scrubber.bin +Link: nvidia/gp108/sec2/desc.bin -> ../../gp102/sec2/desc-1.bin +Link: nvidia/gp108/sec2/image.bin -> ../../gp102/sec2/image-1.bin +Link: nvidia/gp108/sec2/sig.bin -> ../../gp102/sec2/sig-1.bin +File: nvidia/gv100/acr/bl.bin +File: nvidia/gv100/acr/ucode_load.bin +File: nvidia/gv100/acr/ucode_unload.bin +File: nvidia/gv100/acr/unload_bl.bin +File: nvidia/gv100/gr/fecs_bl.bin +File: nvidia/gv100/gr/fecs_data.bin +File: nvidia/gv100/gr/fecs_inst.bin +File: nvidia/gv100/gr/fecs_sig.bin +File: nvidia/gv100/gr/gpccs_bl.bin +File: nvidia/gv100/gr/gpccs_data.bin +File: nvidia/gv100/gr/gpccs_inst.bin +File: nvidia/gv100/gr/gpccs_sig.bin +File: nvidia/gv100/gr/sw_bundle_init.bin +File: nvidia/gv100/gr/sw_ctx.bin +File: nvidia/gv100/gr/sw_method_init.bin +File: nvidia/gv100/gr/sw_nonctx.bin +File: nvidia/gv100/nvdec/scrubber.bin +File: nvidia/gv100/sec2/desc.bin +File: nvidia/gv100/sec2/image.bin +File: nvidia/gv100/sec2/sig.bin +File: nvidia/tu102/acr/bl.bin +File: nvidia/tu102/acr/ucode_ahesasc.bin +File: nvidia/tu102/acr/ucode_asb.bin +File: nvidia/tu102/acr/unload_bl.bin +File: nvidia/tu102/acr/ucode_unload.bin +File: nvidia/tu102/gr/fecs_bl.bin +File: nvidia/tu102/gr/fecs_data.bin +File: nvidia/tu102/gr/fecs_inst.bin +File: nvidia/tu102/gr/fecs_sig.bin +File: nvidia/tu102/gr/gpccs_bl.bin +File: nvidia/tu102/gr/gpccs_data.bin +File: nvidia/tu102/gr/gpccs_inst.bin +File: nvidia/tu102/gr/gpccs_sig.bin +File: nvidia/tu102/gr/sw_bundle_init.bin +File: nvidia/tu102/gr/sw_ctx.bin +File: nvidia/tu102/gr/sw_method_init.bin +File: nvidia/tu102/gr/sw_nonctx.bin +File: nvidia/tu102/gr/sw_veid_bundle_init.bin +File: nvidia/tu102/nvdec/scrubber.bin +File: nvidia/tu102/sec2/desc.bin +File: nvidia/tu102/sec2/image.bin +File: nvidia/tu102/sec2/sig.bin +Link: nvidia/tu104/acr/bl.bin -> ../../tu102/acr/bl.bin +Link: nvidia/tu104/acr/ucode_ahesasc.bin -> ../../tu102/acr/ucode_ahesasc.bin +Link: nvidia/tu104/acr/ucode_asb.bin -> ../../tu102/acr/ucode_asb.bin +Link: nvidia/tu104/acr/unload_bl.bin -> ../../tu102/acr/unload_bl.bin +Link: nvidia/tu104/acr/ucode_unload.bin -> ../../tu102/acr/ucode_unload.bin +Link: nvidia/tu104/gr/fecs_bl.bin -> ../../tu102/gr/fecs_bl.bin +File: nvidia/tu104/gr/fecs_data.bin +File: nvidia/tu104/gr/fecs_inst.bin +File: nvidia/tu104/gr/fecs_sig.bin +Link: nvidia/tu104/gr/gpccs_bl.bin -> ../../tu102/gr/gpccs_bl.bin +File: nvidia/tu104/gr/gpccs_data.bin +File: nvidia/tu104/gr/gpccs_inst.bin +File: nvidia/tu104/gr/gpccs_sig.bin +File: nvidia/tu104/gr/sw_bundle_init.bin +File: nvidia/tu104/gr/sw_ctx.bin +File: nvidia/tu104/gr/sw_method_init.bin +File: nvidia/tu104/gr/sw_nonctx.bin +File: nvidia/tu104/gr/sw_veid_bundle_init.bin +Link: nvidia/tu104/nvdec/scrubber.bin -> ../../tu102/nvdec/scrubber.bin +Link: nvidia/tu104/sec2/desc.bin -> ../../tu102/sec2/desc.bin +Link: nvidia/tu104/sec2/image.bin -> ../../tu102/sec2/image.bin +Link: nvidia/tu104/sec2/sig.bin -> ../../tu102/sec2/sig.bin +Link: nvidia/tu106/acr/bl.bin -> ../../tu102/acr/bl.bin +Link: nvidia/tu106/acr/ucode_ahesasc.bin -> ../../tu102/acr/ucode_ahesasc.bin +Link: nvidia/tu106/acr/ucode_asb.bin -> ../../tu102/acr/ucode_asb.bin +Link: nvidia/tu106/acr/unload_bl.bin -> ../../tu102/acr/unload_bl.bin +Link: nvidia/tu106/acr/ucode_unload.bin -> ../../tu102/acr/ucode_unload.bin +Link: nvidia/tu106/gr/fecs_bl.bin -> ../../tu102/gr/fecs_bl.bin +File: nvidia/tu106/gr/fecs_data.bin +File: nvidia/tu106/gr/fecs_inst.bin +File: nvidia/tu106/gr/fecs_sig.bin +Link: nvidia/tu106/gr/gpccs_bl.bin -> ../../tu102/gr/gpccs_bl.bin +File: nvidia/tu106/gr/gpccs_data.bin +File: nvidia/tu106/gr/gpccs_inst.bin +File: nvidia/tu106/gr/gpccs_sig.bin +File: nvidia/tu106/gr/sw_bundle_init.bin +File: nvidia/tu106/gr/sw_ctx.bin +File: nvidia/tu106/gr/sw_method_init.bin +File: nvidia/tu106/gr/sw_nonctx.bin +File: nvidia/tu106/gr/sw_veid_bundle_init.bin +Link: nvidia/tu106/nvdec/scrubber.bin -> ../../tu102/nvdec/scrubber.bin +Link: nvidia/tu106/sec2/desc.bin -> ../../tu102/sec2/desc.bin +Link: nvidia/tu106/sec2/image.bin -> ../../tu102/sec2/image.bin +Link: nvidia/tu106/sec2/sig.bin -> ../../tu102/sec2/sig.bin +File: nvidia/tu116/acr/bl.bin +File: nvidia/tu116/acr/ucode_ahesasc.bin +File: nvidia/tu116/acr/ucode_asb.bin +File: nvidia/tu116/acr/ucode_unload.bin +File: nvidia/tu116/acr/unload_bl.bin +File: nvidia/tu116/gr/fecs_bl.bin +File: nvidia/tu116/gr/fecs_data.bin +File: nvidia/tu116/gr/fecs_inst.bin +File: nvidia/tu116/gr/fecs_sig.bin +File: nvidia/tu116/gr/gpccs_bl.bin +File: nvidia/tu116/gr/gpccs_data.bin +File: nvidia/tu116/gr/gpccs_inst.bin +File: nvidia/tu116/gr/gpccs_sig.bin +File: nvidia/tu116/gr/sw_bundle_init.bin +File: nvidia/tu116/gr/sw_ctx.bin +File: nvidia/tu116/gr/sw_method_init.bin +File: nvidia/tu116/gr/sw_nonctx.bin +File: nvidia/tu116/gr/sw_veid_bundle_init.bin +File: nvidia/tu116/nvdec/scrubber.bin +File: nvidia/tu116/sec2/desc.bin +File: nvidia/tu116/sec2/image.bin +File: nvidia/tu116/sec2/sig.bin +Link: nvidia/tu117/acr/bl.bin -> ../../tu116/acr/bl.bin +Link: nvidia/tu117/acr/ucode_ahesasc.bin -> ../../tu116/acr/ucode_ahesasc.bin +Link: nvidia/tu117/acr/ucode_asb.bin -> ../../tu116/acr/ucode_asb.bin +Link: nvidia/tu117/acr/ucode_unload.bin -> ../../tu116/acr/ucode_unload.bin +Link: nvidia/tu117/acr/unload_bl.bin -> ../../tu116/acr/unload_bl.bin +Link: nvidia/tu117/gr/fecs_bl.bin -> ../../tu116/gr/fecs_bl.bin +File: nvidia/tu117/gr/fecs_data.bin +File: nvidia/tu117/gr/fecs_inst.bin +File: nvidia/tu117/gr/fecs_sig.bin +Link: nvidia/tu117/gr/gpccs_bl.bin -> ../../tu116/gr/gpccs_bl.bin +File: nvidia/tu117/gr/gpccs_data.bin +File: nvidia/tu117/gr/gpccs_inst.bin +File: nvidia/tu117/gr/gpccs_sig.bin +File: nvidia/tu117/gr/sw_bundle_init.bin +File: nvidia/tu117/gr/sw_ctx.bin +File: nvidia/tu117/gr/sw_method_init.bin +File: nvidia/tu117/gr/sw_nonctx.bin +File: nvidia/tu117/gr/sw_veid_bundle_init.bin +Link: nvidia/tu117/nvdec/scrubber.bin -> ../../tu116/nvdec/scrubber.bin +Link: nvidia/tu117/sec2/desc.bin -> ../../tu116/sec2/desc.bin +Link: nvidia/tu117/sec2/image.bin -> ../../tu116/sec2/image.bin +Link: nvidia/tu117/sec2/sig.bin -> ../../tu116/sec2/sig.bin +File: nvidia/ga102/acr/ucode_ahesasc.bin +File: nvidia/ga102/acr/ucode_asb.bin +File: nvidia/ga102/acr/ucode_unload.bin +File: nvidia/ga102/gr/fecs_bl.bin +File: nvidia/ga102/gr/fecs_sig.bin +File: nvidia/ga102/gr/gpccs_bl.bin +File: nvidia/ga102/gr/gpccs_sig.bin +File: nvidia/ga102/gr/NET_img.bin +File: nvidia/ga102/nvdec/scrubber.bin +File: nvidia/ga102/sec2/desc.bin +File: nvidia/ga102/sec2/hs_bl_sig.bin +File: nvidia/ga102/sec2/image.bin +File: nvidia/ga102/sec2/sig.bin +Link: nvidia/ga103/acr/ucode_ahesasc.bin -> ../../ga102/acr/ucode_ahesasc.bin +Link: nvidia/ga103/acr/ucode_asb.bin -> ../../ga102/acr/ucode_asb.bin +Link: nvidia/ga103/acr/ucode_unload.bin -> ../../ga102/acr/ucode_unload.bin +File: nvidia/ga103/gr/fecs_bl.bin +File: nvidia/ga103/gr/fecs_sig.bin +File: nvidia/ga103/gr/gpccs_bl.bin +File: nvidia/ga103/gr/gpccs_sig.bin +File: nvidia/ga103/gr/NET_img.bin +Link: nvidia/ga103/nvdec/scrubber.bin -> ../../ga102/nvdec/scrubber.bin +Link: nvidia/ga103/sec2/desc.bin -> ../../ga102/sec2/desc.bin +Link: nvidia/ga103/sec2/hs_bl_sig.bin -> ../../ga102/sec2/hs_bl_sig.bin +Link: nvidia/ga103/sec2/image.bin -> ../../ga102/sec2/image.bin +Link: nvidia/ga103/sec2/sig.bin -> ../../ga102/sec2/sig.bin +Link: nvidia/ga104/acr/ucode_ahesasc.bin -> ../../ga102/acr/ucode_ahesasc.bin +Link: nvidia/ga104/acr/ucode_asb.bin -> ../../ga102/acr/ucode_asb.bin +Link: nvidia/ga104/acr/ucode_unload.bin -> ../../ga102/acr/ucode_unload.bin +File: nvidia/ga104/gr/fecs_bl.bin +File: nvidia/ga104/gr/fecs_sig.bin +File: nvidia/ga104/gr/gpccs_bl.bin +File: nvidia/ga104/gr/gpccs_sig.bin +File: nvidia/ga104/gr/NET_img.bin +Link: nvidia/ga104/nvdec/scrubber.bin -> ../../ga102/nvdec/scrubber.bin +Link: nvidia/ga104/sec2/desc.bin -> ../../ga102/sec2/desc.bin +Link: nvidia/ga104/sec2/hs_bl_sig.bin -> ../../ga102/sec2/hs_bl_sig.bin +Link: nvidia/ga104/sec2/image.bin -> ../../ga102/sec2/image.bin +Link: nvidia/ga104/sec2/sig.bin -> ../../ga102/sec2/sig.bin +Link: nvidia/ga106/acr/ucode_ahesasc.bin -> ../../ga102/acr/ucode_ahesasc.bin +Link: nvidia/ga106/acr/ucode_asb.bin -> ../../ga102/acr/ucode_asb.bin +Link: nvidia/ga106/acr/ucode_unload.bin -> ../../ga102/acr/ucode_unload.bin +File: nvidia/ga106/gr/fecs_bl.bin +File: nvidia/ga106/gr/fecs_sig.bin +File: nvidia/ga106/gr/gpccs_bl.bin +File: nvidia/ga106/gr/gpccs_sig.bin +File: nvidia/ga106/gr/NET_img.bin +Link: nvidia/ga106/nvdec/scrubber.bin -> ../../ga102/nvdec/scrubber.bin +Link: nvidia/ga106/sec2/desc.bin -> ../../ga102/sec2/desc.bin +Link: nvidia/ga106/sec2/hs_bl_sig.bin -> ../../ga102/sec2/hs_bl_sig.bin +Link: nvidia/ga106/sec2/image.bin -> ../../ga102/sec2/image.bin +Link: nvidia/ga106/sec2/sig.bin -> ../../ga102/sec2/sig.bin +Link: nvidia/ga107/acr/ucode_ahesasc.bin -> ../../ga102/acr/ucode_ahesasc.bin +Link: nvidia/ga107/acr/ucode_asb.bin -> ../../ga102/acr/ucode_asb.bin +Link: nvidia/ga107/acr/ucode_unload.bin -> ../../ga102/acr/ucode_unload.bin +File: nvidia/ga107/gr/fecs_bl.bin +File: nvidia/ga107/gr/fecs_sig.bin +File: nvidia/ga107/gr/gpccs_bl.bin +File: nvidia/ga107/gr/gpccs_sig.bin +File: nvidia/ga107/gr/NET_img.bin +Link: nvidia/ga107/nvdec/scrubber.bin -> ../../ga102/nvdec/scrubber.bin +Link: nvidia/ga107/sec2/desc.bin -> ../../ga102/sec2/desc.bin +Link: nvidia/ga107/sec2/hs_bl_sig.bin -> ../../ga102/sec2/hs_bl_sig.bin +Link: nvidia/ga107/sec2/image.bin -> ../../ga102/sec2/image.bin +Link: nvidia/ga107/sec2/sig.bin -> ../../ga102/sec2/sig.bin + +File: nvidia/tu10x/typec/ccg_primary.cyacd +File: nvidia/tu10x/typec/ccg_secondary.cyacd +File: nvidia/tu10x/typec/ccg_boot.cyacd + +Licence: Redistributable. See LICENCE.nvidia for details + +-------------------------------------------------------------------------- + +Driver: wilc1000 - Atmel 802.11n WLAN driver for WILC1000 + +File: atmel/wilc1000_fw.bin +File: atmel/wilc1000_ap_fw.bin +File: atmel/wilc1000_p2p_fw.bin +File: atmel/wilc1000_wifi_firmware.bin +File: atmel/wilc1000_wifi_firmware-1.bin +Version: 16.0 + +License: Redistributable. See LICENSE.atmel for details + +-------------------------------------------------------------------------- + +Driver: hfi1 - Intel OPA Gen 1 adapter + +File: hfi1_dc8051.fw +Version: 1.27.0 +File: hfi1_fabric.fw +Version: 0x1055 +File: hfi1_pcie.fw +Version: 0x4755 +File: hfi1_sbus.fw +Version: 0x10130001 + +Licence: Redistributable. See LICENSE.hfi1_firmware for details + +-------------------------------------------------------------------------- + +Driver: knav_qmss_queue - TI Keystone 2 QMSS driver + +File: ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin + +Licence: Redistributable. See LICENCE.ti-keystone for details. + +-------------------------------------------------------------------------- + +Driver: mwlwifi - Marvell mac80211 driver for 80211ac cards. + +File: mwlwifi/88W8864.bin +Version: 7.2.8.6 + +File: mwlwifi/88W8897.bin +Version: 8.2.0.10 + +Licence: Redistributable. See LICENCE.Marvell for details. + +-------------------------------------------------------------------------- + +Driver: mtk-vpu - MediaTek VPU video processing unit driver + +File: mediatek/mt8173/vpu_d.bin +File: mediatek/mt8173/vpu_p.bin +Link: vpu_d.bin -> mediatek/mt8173/vpu_d.bin +Link: vpu_p.bin -> mediatek/mt8173/vpu_p.bin + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mtk_scp - MediaTek SCP System Control Processing Driver + +File: mediatek/mt8183/scp.img +Version: v2.0.13324 +File: mediatek/mt8186/scp.img +Version: v0.0.9 +File: mediatek/mt8192/scp.img +Version: v2.0.20536 +File: mediatek/mt8195/scp.img +Version: v2.0.11966 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: btmtk - MediaTek Bluetooth Driver + +File: mediatek/mt7622pr2h.bin +Version: 20180621204904 +File: mediatek/mt7668pr2h.bin +Version: 20180517181834 +# Note: explicitly commented out, since it's duplicated further down +# File: mediatek/mt7663pr2h.bin +# Version: 7663e2ccn04-2006030247 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: rk3399-dptx - ROCKCHIP rk3399 dptx firmware + +File: rockchip/dptx.bin +Version: 3.1 + +Licence: Redistributable. See LICENCE.rockchip for details. + +-------------------------------------------------------------------------- + +Driver: mt76x0 - MediaTek MT76x0 Wireless MACs + +File: mediatek/mt7610u.bin +File: mediatek/mt7610e.bin +Version: 2.6 +File: mediatek/mt7650e.bin +Version: 1.0.07-b370 + +Licence: Redistributable. See LICENCE.mediatek for details. + +--------------------------------------------------------------------------- + +Driver: mt76x2e - MediaTek MT76x2 Wireless MACs + +File: mediatek/mt7662.bin +Version: 1.9 +Link: mt7662.bin -> mediatek/mt7662.bin + +File: mediatek/mt7662_rom_patch.bin +Version: 0.0.2_P69 +Link: mt7662_rom_patch.bin -> mediatek/mt7662_rom_patch.bin + +Licence: Redistributable. See LICENCE.ralink_a_mediatek_company_firmware for details + +--------------------------------------------------------------------------- + +Driver: mt76x2u - MediaTek MT76x2u Wireless MACs + +File: mediatek/mt7662u.bin +Version: 1.5 + +File: mediatek/mt7662u_rom_patch.bin +Version: 0.0.2_P48 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7615e - MediaTek MT7615e Wireless MACs + +File: mediatek/mt7615_n9.bin +Version: 20200814 +File: mediatek/mt7615_cr4.bin +Version: 20190114 +File: mediatek/mt7615_rom_patch.bin +Version: 20190114 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7622 - MediaTek MT7622 Wireless MACs + +File: mediatek/mt7622_n9.bin +Version: 20200630 +File: mediatek/mt7622_rom_patch.bin +Version: 20190114 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7663 - MediaTek MT7663 Wireless MACs + +File: mediatek/mt7663pr2h.bin +Version: 7663e2ccn04-2006030247 +File: mediatek/mt7663_n9_v3.bin +Version: v3.1.1 + +File: mediatek/mt7663pr2h_rebb.bin +Version: 7663e2-1802-19091404338b809 +File: mediatek/mt7663_n9_rebb.bin +Version: 7663mp1827-20190914043434 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7915e - MediaTek Wireless MACs for MT7915/MT7916/MT7986/MT7981 + +File: mediatek/mt7915_wm.bin +Version: 20220929104145 +File: mediatek/mt7915_wa.bin +Version: 20220929104205 +File: mediatek/mt7915_rom_patch.bin +Version: 20220929104113a +File: mediatek/mt7915_eeprom.bin +Version: 20200821 +File: mediatek/mt7915_eeprom_dbdc.bin +Version: 20200821 + +File: mediatek/mt7916_wm.bin +Version: 20230202145005 +File: mediatek/mt7916_wa.bin +Version: 20230202143332 +File: mediatek/mt7916_rom_patch.bin +Version: 20230202144915a +File: mediatek/mt7916_eeprom.bin +Version: 20211130 + +File: mediatek/mt7986_wm.bin +Version: 20221012174725 +File: mediatek/mt7986_wm_mt7975.bin +Version: 20221012174805 +File: mediatek/mt7986_wa.bin +Version: 20221012174937 +File: mediatek/mt7986_rom_patch.bin +Version: 20221012174648a +File: mediatek/mt7986_rom_patch_mt7975.bin +Version: 20221012174743a +File: mediatek/mt7986_wo_0.bin +Version: 20221012175005 +File: mediatek/mt7986_wo_1.bin +Version: 20221012175032 +File: mediatek/mt7986_eeprom_mt7976.bin +Version: 20211105 +File: mediatek/mt7986_eeprom_mt7976_dbdc.bin +Version: 20220223 +File: mediatek/mt7986_eeprom_mt7976_dual.bin +Version: 20211115 +File: mediatek/mt7986_eeprom_mt7975_dual.bin +Version: 20220208 + +File: mediatek/mt7981_wm.bin +Version: 20221208201806 +File: mediatek/mt7981_wa.bin +Version: 20221208202048 +File: mediatek/mt7981_rom_patch.bin +Version: 20221208201745a +File: mediatek/mt7981_wo.bin +Version: 20221208202138 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7921 - MediaTek MT7921 Wireless MACs + +File: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin +Version: 20230526130917a +File: mediatek/WIFI_RAM_CODE_MT7961_1.bin +Version: 20230526130958 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7921 - MediaTek MT7921 bluetooth chipset + +File: mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin +Version: 20230526131214 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7922 - MediaTek MT7922 Wireless MACs + +File: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin +Version: 20230530123154a +File: mediatek/WIFI_RAM_CODE_MT7922_1.bin +Version: 20230530123236 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: mt7922 - MediaTek MT7922 bluetooth chipset + +File: mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin +Version: 20230530123531 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- +Driver: nfp - Netronome Flow Processor + +Link: netronome/nic_AMDA0081-0001_1x40.nffw -> nic/nic_AMDA0081-0001_1x40.nffw +Link: netronome/nic_AMDA0097-0001_2x40.nffw -> nic/nic_AMDA0097-0001_2x40.nffw +Link: netronome/nic_AMDA0099-0001_2x10.nffw -> nic/nic_AMDA0099-0001_2x10.nffw +Link: netronome/nic_AMDA0081-0001_4x10.nffw -> nic/nic_AMDA0081-0001_4x10.nffw +Link: netronome/nic_AMDA0097-0001_4x10_1x40.nffw -> nic/nic_AMDA0097-0001_4x10_1x40.nffw +Link: netronome/nic_AMDA0099-0001_1x10_1x25.nffw -> nic/nic_AMDA0099-0001_1x10_1x25.nffw +Link: netronome/nic_AMDA0099-0001_2x25.nffw -> nic/nic_AMDA0099-0001_2x25.nffw +Link: netronome/nic_AMDA0096-0001_2x10.nffw -> nic/nic_AMDA0096-0001_2x10.nffw +Link: netronome/nic_AMDA0097-0001_8x10.nffw -> nic/nic_AMDA0097-0001_8x10.nffw +Link: netronome/nic_AMDA0058-0011_2x40.nffw -> nic/nic_AMDA0058-0011_2x40.nffw +Link: netronome/nic_AMDA0058-0012_2x40.nffw -> nic/nic_AMDA0058-0012_2x40.nffw +Link: netronome/nic_AMDA0078-0011_1x100.nffw -> nic/nic_AMDA0078-0011_1x100.nffw +File: netronome/nic/nic_AMDA0081-0001_1x40.nffw +File: netronome/nic/nic_AMDA0097-0001_2x40.nffw +File: netronome/nic/nic_AMDA0099-0001_2x10.nffw +File: netronome/nic/nic_AMDA0081-0001_4x10.nffw +File: netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw +File: netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw +File: netronome/nic/nic_AMDA0099-0001_2x25.nffw +File: netronome/nic/nic_AMDA0096-0001_2x10.nffw +File: netronome/nic/nic_AMDA0097-0001_8x10.nffw +File: netronome/nic/nic_AMDA0058-0011_2x40.nffw +File: netronome/nic/nic_AMDA0058-0012_2x40.nffw +File: netronome/nic/nic_AMDA0078-0011_1x100.nffw +File: netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw +File: netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw +File: netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw +File: netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw +File: netronome/nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw +File: netronome/nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw +File: netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw +File: netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw +File: netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw +File: netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw +File: netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw +File: netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw + +Version: v2.1.16.1 + +File: netronome/flower/nic_AMDA0099.nffw +File: netronome/flower/nic_AMDA0096.nffw +File: netronome/flower/nic_AMDA0097.nffw +File: netronome/flower/nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0081.nffw -> nic_AMDA0097.nffw +Link: netronome/flower/nic_AMDA0081-0001_1x40.nffw -> nic_AMDA0081.nffw +Link: netronome/flower/nic_AMDA0097-0001_2x40.nffw -> nic_AMDA0097.nffw +Link: netronome/flower/nic_AMDA0099-0001_2x10.nffw -> nic_AMDA0099.nffw +Link: netronome/flower/nic_AMDA0081-0001_4x10.nffw -> nic_AMDA0081.nffw +Link: netronome/flower/nic_AMDA0097-0001_4x10_1x40.nffw -> nic_AMDA0097.nffw +Link: netronome/flower/nic_AMDA0099-0001_2x25.nffw -> nic_AMDA0099.nffw +Link: netronome/flower/nic_AMDA0096-0001_2x10.nffw -> nic_AMDA0096.nffw +Link: netronome/flower/nic_AMDA0097-0001_8x10.nffw -> nic_AMDA0097.nffw +Link: netronome/flower/nic_AMDA0099-0001_1x10_1x25.nffw -> nic_AMDA0099.nffw +Link: netronome/flower/nic_AMDA0058-0011_1x100.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0011_2x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0011_4x10_1x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0011_8x10.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0012_1x100.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0012_2x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0012_4x10_1x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0058-0012_8x10.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0011_1x100.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0011_2x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0011_4x10_1x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0011_8x10.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0012_1x100.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0012_2x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0012_4x10_1x40.nffw -> nic_AMDA0058.nffw +Link: netronome/flower/nic_AMDA0078-0012_8x10.nffw -> nic_AMDA0058.nffw + +Version: AOTC-2.14.A.6 + +File: netronome/bpf/nic_AMDA0081-0001_1x40.nffw +File: netronome/bpf/nic_AMDA0097-0001_2x40.nffw +File: netronome/bpf/nic_AMDA0099-0001_2x10.nffw +File: netronome/bpf/nic_AMDA0081-0001_4x10.nffw +File: netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw +File: netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw +File: netronome/bpf/nic_AMDA0099-0001_2x25.nffw +File: netronome/bpf/nic_AMDA0096-0001_2x10.nffw +File: netronome/bpf/nic_AMDA0097-0001_8x10.nffw +File: netronome/bpf/nic_AMDA0058-0011_2x40.nffw +File: netronome/bpf/nic_AMDA0058-0012_2x40.nffw +File: netronome/bpf/nic_AMDA0078-0011_1x100.nffw + +Version: v2.0.6.124 + + +Licence: Redistributable. See LICENCE.Netronome for details + +-------------------------------------------------------------------------- + +Driver: wil6210 - Qualcomm Atheros support for 11ad family of chips + +File: wil6210.fw +File: wil6210.brd +Version: 5.2.0.18 + +Licence: Redistributable. See LICENSE.QualcommAtheros_ath10k for details + +-------------------------------------------------------------------------- + +Driver: venus - Qualcomm Venus video codec accelerator + +File: qcom/venus-1.8/venus.mbn +Link: qcom/venus-1.8/venus.mdt -> venus.mbn + +Version: 1.8-00109 + +File: qcom/venus-4.2/venus.mbn +Link: qcom/venus-4.2/venus.mdt -> venus.mbn + +Version: 4.2 + +File: qcom/venus-5.2/venus.mbn +Link: qcom/venus-5.2/venus.mdt -> venus.mbn + +Version: 5.2-00023 + +File: qcom/venus-5.4/venus.mbn +Link: qcom/venus-5.4/venus.mdt -> venus.mbn + +Version: 5.4-00053 + +File: qcom/vpu-1.0/venus.mbn +Link: qcom/vpu-1.0/venus.mdt -> venus.mbn + +Version: VIDEO.VPU.1.0-00087-PROD-1 + +File: qcom/vpu-2.0/venus.mbn + +Version: VIDEO.VPU.2.0-00049-PROD-1 + +Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details + +Binary files supplied originally from +https://developer.qualcomm.com/hardware/dragonboard-410c/tools + +-------------------------------------------------------------------------- + +Driver: imx-sdma - support for i.MX SDMA driver + +File: imx/sdma/sdma-imx6q.bin +Version: 3.3 +File: imx/sdma/sdma-imx7d.bin +Version: 4.2 + +Licence: Redistributable. See LICENSE.sdma_firmware for details + +-------------------------------------------------------------------------- + +Driver: adreno - Qualcomm Adreno GPU firmware + +File: qcom/a300_pfp.fw +Link: a300_pfp.fw -> qcom/a300_pfp.fw +File: qcom/a300_pm4.fw +Link: a300_pm4.fw -> qcom/a300_pm4.fw +File: qcom/a330_pfp.fw +File: qcom/a330_pm4.fw +File: qcom/a420_pfp.fw +File: qcom/a420_pm4.fw +File: qcom/a530_pfp.fw +File: qcom/a530_pm4.fw +File: qcom/a530v3_gpmu.fw2 +File: qcom/apq8096/a530_zap.mbn +Link: qcom/a530_zap.mdt -> apq8096/a530_zap.mbn +File: qcom/a630_gmu.bin +File: qcom/a630_sqe.fw +File: qcom/sdm845/a630_zap.mbn +File: qcom/a650_gmu.bin +File: qcom/a650_sqe.fw +File: qcom/sm8250/a650_zap.mbn +File: qcom/a660_gmu.bin +File: qcom/a660_sqe.fw +File: qcom/leia_pfp_470.fw +File: qcom/leia_pm4_470.fw +File: qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn + +Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details + +Binary files supplied originally from +https://developer.qualcomm.com/hardware/dragonboard-410c/tools + +-------------------------------------------------------------------------- + +Driver: adreno - Qualcomm Adreno GPU firmware + +File: qcom/yamato_pfp.fw +File: qcom/yamato_pm4.fw + +Licence: Redistributable, BSD-3-Clause licence, See LICENSE.qcom_yamato for details + +Binary files generated from header files in EfikaMX kernel sources. A prefix of +four zero bytes was prepended to make them work with the DRM MSM driver. See +https://github.com/genesi/linux-legacy/tree/master/drivers/mxc/amd-gpu + +-------------------------------------------------------------------------- + +Driver: qcom_q6v5_pas - Qualcomm remoteproc firmware + +File: qcom/apq8016/mba.mbn +File: qcom/apq8016/modem.mbn +File: qcom/apq8016/wcnss.mbn +File: qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin +File: qcom/apq8096/adsp.mbn +File: qcom/apq8096/adspr.jsn +File: qcom/apq8096/adspua.jsn +File: qcom/apq8096/mba.mbn +File: qcom/apq8096/modem.mbn +File: qcom/apq8096/modemr.jsn +File: qcom/sdm845/adsp.mbn +File: qcom/sdm845/adspr.jsn +File: qcom/sdm845/adspua.jsn +File: qcom/sdm845/cdsp.mbn +File: qcom/sdm845/cdspr.jsn +File: qcom/sm8250/adsp.mbn +File: qcom/sm8250/adspr.jsn +File: qcom/sm8250/adspua.jsn +File: qcom/sm8250/cdsp.mbn +File: qcom/sm8250/cdspr.jsn +File: qcom/sc8280xp/LENOVO/21BX/adspr.jsn +File: qcom/sc8280xp/LENOVO/21BX/adspua.jsn +File: qcom/sc8280xp/LENOVO/21BX/battmgr.jsn +File: qcom/sc8280xp/LENOVO/21BX/cdspr.jsn +File: qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn +File: qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn +File: qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn +Link: qcom/LENOVO/21BX -> ../sc8280xp/LENOVO/21BX + +Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details + +Binary files supplied originally from +http://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/linux-board-support-package-r1036.1.zip +http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20221121000000-v5.zip +http://releases.linaro.org/96boards/rb5/qualcomm/firmware/RB5_firmware_20210331-v4.zip + +adsp.mbn has been converted from 20-adsp_split/firmware/adsp.* using +https://github.com/andersson/pil-squasher + +cdsp.mbn has been converted from 21-cdsp_split/firmware/cdsp.* using +https://github.com/andersson/pil-squasher + +-------------------------------------------------------------------------- + +Driver: qcom_q6v5_mss - Qualcomm modem subsystem firmware + +File: qcom/sdm845/mba.mbn +File: qcom/sdm845/modem_nm.mbn +File: qcom/sdm845/modemuw.jsn +Link: qcom/sdm845/modem.mbn -> modem_nm.mbn + +Licence: Redistributable. See LICENSE.qcom and qcom/NOTICE.txt for details + +Binary files supplied originally from +http://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_20221121000000-v5.zip + +modem.mbn has been converted from 28-modem/modem.* using +https://github.com/andersson/pil-squasher + +-------------------------------------------------------------------------- + +Driver: mlxsw_spectrum - Mellanox Spectrum switch + +File: mellanox/mlxsw_spectrum-13.1420.122.mfa2 +File: mellanox/mlxsw_spectrum-13.1530.152.mfa2 +File: mellanox/mlxsw_spectrum-13.1620.192.mfa2 +File: mellanox/mlxsw_spectrum-13.1702.6.mfa2 +File: mellanox/mlxsw_spectrum-13.1703.4.mfa2 +File: mellanox/mlxsw_spectrum-13.1910.622.mfa2 +File: mellanox/mlxsw_spectrum-13.2000.1122.mfa2 +File: mellanox/mlxsw_spectrum-13.2000.1886.mfa2 +File: mellanox/mlxsw_spectrum-13.2000.2308.mfa2 +File: mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 +File: mellanox/mlxsw_spectrum-13.2000.2714.mfa2 +File: mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 +File: mellanox/mlxsw_spectrum-13.2007.1168.mfa2 +File: mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 +File: mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.1036.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.1310.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.1312.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.2018.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.2304.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.2406.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.2438.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.2946.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 +File: mellanox/mlxsw_spectrum-13.2008.3326.mfa2 +File: mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 +File: mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 +File: mellanox/mlxsw_spectrum-13.2010.1006.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 +File: mellanox/lc_ini_bundle_2010_1006.bin +File: mellanox/mlxsw_spectrum-13.2010.1232.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 +File: mellanox/mlxsw_spectrum-13.2010.1406.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 +File: mellanox/mlxsw_spectrum-13.2010.1502.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 +File: mellanox/lc_ini_bundle_2010_1502.bin +File: mellanox/mlxsw_spectrum-13.2010.3020.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 +File: mellanox/lc_ini_bundle_2010_3020.bin +File: mellanox/mlxsw_spectrum-13.2010.3146.mfa2 +File: mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 +File: mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 +File: mellanox/lc_ini_bundle_2010_3146.bin + +Licence: + Copyright (c) 2017-2020 Mellanox Technologies, Ltd. 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 names of the copyright holders nor the names of its + 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. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------- + +Driver: cdns-mhdp - Cadence MHDP8546 DP bridge + +File: cadence/mhdp8546.bin +Version: 2.1.0 + +Licence: Redistributable. See LICENCE.cadence for details + +-------------------------------------------------------------------------- + +Driver: fsl-mc bus - NXP Management Complex Bus Driver + +File: dpaa2/mc/mc_10.10.0_ls1088a.itb +File: dpaa2/mc/mc_10.10.0_ls2088a.itb +File: dpaa2/mc/mc_10.10.0_lx2160a.itb +File: dpaa2/mc/mc_10.14.3_ls1088a.itb +File: dpaa2/mc/mc_10.14.3_ls2088a.itb +File: dpaa2/mc/mc_10.14.3_lx2160a.itb +File: dpaa2/mc/mc_10.16.2_ls1088a.itb +File: dpaa2/mc/mc_10.16.2_ls2088a.itb +File: dpaa2/mc/mc_10.16.2_lx2160a.itb +File: dpaa2/mc/mc_10.18.0_ls1088a.itb +File: dpaa2/mc/mc_10.18.0_ls2088a.itb +File: dpaa2/mc/mc_10.18.0_lx2160a.itb +File: dpaa2/mc/mc_10.28.1_ls1088a.itb +File: dpaa2/mc/mc_10.28.1_ls2088a.itb +File: dpaa2/mc/mc_10.28.1_lx2160a.itb + +Licence: Redistributable. See LICENSE.nxp_mc_firmware for details + +-------------------------------------------------------------------------- + +Driver: mscc-phy - Microchip PHY drivers + +File: microchip/mscc_vsc8574_revb_int8051_29e8.bin +File: microchip/mscc_vsc8584_revb_int8051_fb48.bin + +Licence: Redistributable. See LICENCE.microchip for details + +-------------------------------------------------------------------------- + +Driver: meson-vdec - Amlogic video decoder + +File: meson/vdec/g12a_h264.bin +File: meson/vdec/g12a_hevc_mmu.bin +File: meson/vdec/g12a_vp9.bin +File: meson/vdec/gxbb_h264.bin +File: meson/vdec/gxl_h263.bin +File: meson/vdec/gxl_h264.bin +File: meson/vdec/gxl_hevc.bin +File: meson/vdec/gxl_hevc_mmu.bin +File: meson/vdec/gxl_mjpeg.bin +File: meson/vdec/gxl_mpeg12.bin +File: meson/vdec/gxl_mpeg4_5.bin +File: meson/vdec/gxl_vp9.bin +File: meson/vdec/gxm_h264.bin +File: meson/vdec/sm1_hevc_mmu.bin +File: meson/vdec/sm1_vp9_mmu.bin + +Licence: Redistributable. See LICENSE.amlogic_vdec for details. + +-------------------------------------------------------------------------- + +Driver: ice - Intel(R) Ethernet Connection E800 Series + +File: intel/ice/ddp/ice-1.3.30.0.pkg +Link: intel/ice/ddp/ice.pkg -> ice-1.3.30.0.pkg + +License: Redistributable. See LICENSE.ice for details + +File: intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg +File: intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg + +License: Redistributable. See LICENSE.ice_enhanced for details + +-------------------------------------------------------------------------- + +Driver: inside-secure -- Inside Secure EIP197 crypto driver + +File: inside-secure/eip197_minifw/ipue.bin +File: inside-secure/eip197_minifw/ifpp.bin + +Licence: Redistributable. +Copyright (c) 2019 Verimatrix, Inc. + +Derived from proprietary unpublished source code. +Permission is hereby granted for the distribution of this firmware +as part of Linux or other Open Source operating system kernel, +provided this copyright notice is accompanying it. + +------------------------------------------------ + +Driver: prestera - Marvell driver for Prestera family ASIC devices + +File: mrvl/prestera/mvsw_prestera_fw-v2.0.img +File: mrvl/prestera/mvsw_prestera_fw-v3.0.img +File: mrvl/prestera/mvsw_prestera_fw-v4.0.img +File: mrvl/prestera/mvsw_prestera_fw-v4.1.img +File: mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img + +Licence: Redistributable. See LICENCE.Marvell for details. + +------------------------------------------------ + +Driver: lt9611uxc - Lontium DSI to HDMI bridge + +File: lt9611uxc_fw.bin + +License: Redistributable. See LICENSE.Lontium for details. + +-------------------------------------------------------------------------- + +Driver: wfx - Silicon Labs Wi-Fi Transceiver + +File: wfx/wfm_wf200_C0.sec +Version: 3.14 + +File: wfx/brd4001a.pds +File: wfx/brd8022a.pds +File: wfx/brd8023a.pds + +Licence: Redistributable. See wfx/LICENCE.wf200 for details. + +The firmware itself originates from https://github.com/SiliconLabs/wfx-firmware + +The *.pds files come from https://github.com/SiliconLabs/wfx-pds + +They have been processed with the tool "pds_compress" available on +https://github.com/SiliconLabs/wfx-linux-tools + +-------------------------------------------------------------------------- + +Driver: wave5 - Chips&Media, Inc. video codec driver + +File: cnm/wave521c_k3_codec_fw.bin + +Licence: Redistributable. See LICENCE.cnm for details. + +--------------------------------------------------------------------------- + +Driver: rvu_cptpf - Marvell CPT driver + +File: mrvl/cpt01/ae.out +File: mrvl/cpt01/se.out +File: mrvl/cpt01/ie.out +File: mrvl/cpt02/ae.out +File: mrvl/cpt02/se.out +File: mrvl/cpt02/ie.out +File: mrvl/cpt03/ae.out +File: mrvl/cpt03/se.out +File: mrvl/cpt03/ie.out +File: mrvl/cpt04/ae.out +File: mrvl/cpt04/se.out +File: mrvl/cpt04/ie.out +Version: v1.21 + +Licence: Redistributable. See LICENCE.Marvell for details. + +--------------------------------------------------------------------------- + +Driver: amphion - Amphion VPU(Video Processing Unit) Codec IP driver + +File: amphion/vpu/vpu_fw_imx8_dec.bin +Version: 1.8.8 +File: amphion/vpu/vpu_fw_imx8_enc.bin +Version: 1.3.4 + +Licence: Redistributable. See LICENSE.amphion_vpu for details + +--------------------------------------------------------------------------- + +Driver: cs35l41_hda - CS35l41 ALSA HDA audio driver + +File: cirrus/cs35l41-dsp1-spk-prot.wmfw +File: cirrus/cs35l41-dsp1-spk-prot.bin +File: cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8971.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8971.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8972.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8972.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8973.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8973.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8974.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8974.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8975.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8975.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c896e.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c896e.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c89c3.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c89c3.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8981.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8981.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c898e.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c898e.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c898f.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c898f.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8991.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8991.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8992.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8992.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8994.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8994.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8995.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8995.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c89c6.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c89c6.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-103c8971.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8971.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8972.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8972.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8973.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8973.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8974.bin -> cs35l41-dsp1-spk-prot-103c8972.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8974.bin -> cs35l41-dsp1-spk-cali-103c8972.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c898e.bin -> cs35l41-dsp1-spk-prot-103c8971.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c898e.bin -> cs35l41-dsp1-spk-cali-103c8971.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c898f.bin -> cs35l41-dsp1-spk-prot-103c8971.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c898f.bin -> cs35l41-dsp1-spk-cali-103c8971.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8991.bin -> cs35l41-dsp1-spk-prot-103c8972.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8991.bin -> cs35l41-dsp1-spk-cali-103c8972.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8992.bin -> cs35l41-dsp1-spk-prot-103c8972.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8992.bin -> cs35l41-dsp1-spk-cali-103c8972.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8994.bin -> cs35l41-dsp1-spk-prot-103c8973.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8994.bin -> cs35l41-dsp1-spk-cali-103c8973.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8995.bin -> cs35l41-dsp1-spk-prot-103c8973.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8995.bin -> cs35l41-dsp1-spk-cali-103c8973.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c89c3-l0.bin -> cs35l41-dsp1-spk-prot-103c89c3-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c89c3-l0.bin -> cs35l41-dsp1-spk-cali-103c89c3-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c89c3-l1.bin -> cs35l41-dsp1-spk-prot-103c89c3-r1.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c89c3-l1.bin -> cs35l41-dsp1-spk-cali-103c89c3-r1.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin +File: cirrus/cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa3847.wmfw -> cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa3847.wmfw -> cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin +File: cirrus/cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa3855.wmfw -> cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa3855.wmfw -> cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa22f1.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa22f1.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa22f2.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa22f2.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa22f3.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa22f3.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa22f3-l0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa22f3-r0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa22f3-l0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa22f3-r0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-r0.bin +File: cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-104312af.wmfw -> cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-104312af.wmfw -> cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10431a8f.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a8f.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10431e02.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431e02.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10431f12.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431f12.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10431e12.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431e12.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10431b93.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431b93.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-10431a20.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a20.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-10431a30.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a30.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-10431a40.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a40.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-10431a50.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a50.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-10431a60.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-10431a60.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a20-spkid0-l0.bin -> cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a20-spkid0-r0.bin -> cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a20-spkid1-l0.bin -> cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a20-spkid1-r0.bin -> cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a20-spkid0-l0.bin -> cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a20-spkid0-r0.bin -> cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a20-spkid1-l0.bin -> cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a20-spkid1-r0.bin -> cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a40-spkid0-l0.bin -> cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a40-spkid0-r0.bin -> cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a40-spkid1-l0.bin -> cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-10433a40-spkid1-r0.bin -> cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a40-spkid0-l0.bin -> cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a40-spkid0-r0.bin -> cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a40-spkid1-l0.bin -> cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-10433a40-spkid1-r0.bin -> cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2316.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2316.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2317.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2317.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2317-spkid0-l0.bin -> cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2317-spkid0-r0.bin -> cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2317-spkid1-l0.bin -> cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2317-spkid1-r0.bin -> cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2317-spkid0-l0.bin -> cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2317-spkid0-r0.bin -> cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2317-spkid1-l0.bin -> cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2317-spkid1-r0.bin -> cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2318.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2318.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2319.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2319.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa231a.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-17aa231a.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2318-l0.bin -> cs35l41-dsp1-spk-prot-17aa22f1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2318-r0.bin -> cs35l41-dsp1-spk-prot-17aa22f1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2318-l0.bin -> cs35l41-dsp1-spk-cali-17aa22f1-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2318-r0.bin -> cs35l41-dsp1-spk-cali-17aa22f1-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2319-l0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa2319-r0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2319-l0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa2319-r0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa231a-l0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-17aa231a-r0.bin -> cs35l41-dsp1-spk-prot-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa231a-l0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-l0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-17aa231a-r0.bin -> cs35l41-dsp1-spk-cali-17aa22f2-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8c26.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8c26.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b42.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b42.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b43.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b43.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b44.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b44.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b45.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b45.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b46.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b46.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b47.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b47.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b63.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b63.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b70.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b70.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b72.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b72.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b74.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b74.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b77.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b77.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b8f.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b92.wmfw -> cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw +File: cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b46.bin -> cs35l41-dsp1-spk-prot-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b46.bin -> cs35l41-dsp1-spk-cali-103c8b45.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b70.bin -> cs35l41-dsp1-spk-prot-103c8b42.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b70.bin -> cs35l41-dsp1-spk-cali-103c8b42.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b72.bin -> cs35l41-dsp1-spk-prot-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b72.bin -> cs35l41-dsp1-spk-cali-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b74.bin -> cs35l41-dsp1-spk-prot-103c8b47.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b74.bin -> cs35l41-dsp1-spk-cali-103c8b47.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b77.bin -> cs35l41-dsp1-spk-prot-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b77.bin -> cs35l41-dsp1-spk-cali-103c8b45.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b8f-l0.bin -> cs35l41-dsp1-spk-prot-103c8b8f-r0.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8b8f-l1.bin -> cs35l41-dsp1-spk-prot-103c8b8f-r1.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b8f-l0.bin -> cs35l41-dsp1-spk-cali-103c8b8f-r0.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8b8f-l1.bin -> cs35l41-dsp1-spk-cali-103c8b8f-r1.bin +File: cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin +File: cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin +Link: cirrus/cs35l41-dsp1-spk-prot-103c8c26.bin -> cs35l41-dsp1-spk-prot-103c8b45.bin +Link: cirrus/cs35l41-dsp1-spk-cali-103c8c26.bin -> cs35l41-dsp1-spk-cali-103c8b45.bin + +License: Redistributable. See LICENSE.cirrus for details. + +Use of Cirrus Logic drivers, firmware and other materials is permitted +only in connection with Cirrus Logic hardware products. + +Copyright © 2022 Cirrus Logic, Inc. and Cirrus Logic International +Semiconductor Ltd. All Rights Reserved. + +--------------------------------------------------------------------------- + +Driver: mtk-sof - MediaTek Sound Open Firmware driver + +File: mediatek/sof/sof-mt8186.ri +File: mediatek/sof/sof-mt8186.ldc +File: mediatek/sof-tplg/sof-mt8186.tplg +Version: v0.2.1 + +File: mediatek/sof/sof-mt8195.ri +File: mediatek/sof/sof-mt8195.ldc +File: mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg +File: mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg +Version: v0.4.1 + +Licence: Redistributable. See LICENCE.mediatek for details. + +-------------------------------------------------------------------------- + +Driver: nxp-sr1xx - NXP Ultra Wide Band driver +File: nxp/sr150_fw.bin +Version: 35.00.03 + +Licence: Redistributable. See LICENSE.nxp for details +Originates from https://github.com/NXP/uwb-NXPUWB-FW.git +-------------------------------------------------------------------------- + +Driver: btnxpuart - NXP BT UART driver + +File: nxp/uartuart8997_bt_v4.bin +File: nxp/uartiw416_bt_v0.bin +File: nxp/helper_uart_3000000.bin +Version: 16.92.21.p81 + +File: nxp/uartuart8987_bt.bin +Version: 16.92.21.p76.5 + +File: nxp/uartuart9098_bt_v1.bin +Version: 17.92.1.p136.24 + +File: nxp/uartspi_n61x_v1.bin.se +Version: 18.99.1.p154.40 + +Licence: Redistributable. See LICENSE.nxp for details + +-------------------------------------------------------------------------- diff --git a/advansys/3550.bin b/advansys/3550.bin new file mode 100644 index 0000000..5a4581c Binary files /dev/null and b/advansys/3550.bin differ diff --git a/advansys/38C0800.bin b/advansys/38C0800.bin new file mode 100644 index 0000000..2b222cd Binary files /dev/null and b/advansys/38C0800.bin differ diff --git a/advansys/38C1600.bin b/advansys/38C1600.bin new file mode 100644 index 0000000..db568df Binary files /dev/null and b/advansys/38C1600.bin differ diff --git a/advansys/mcode.bin b/advansys/mcode.bin new file mode 100644 index 0000000..c126509 Binary files /dev/null and b/advansys/mcode.bin differ diff --git a/agere_ap_fw.bin b/agere_ap_fw.bin new file mode 100644 index 0000000..8375c94 Binary files /dev/null and b/agere_ap_fw.bin differ diff --git a/agere_sta_fw.bin b/agere_sta_fw.bin new file mode 100644 index 0000000..bae000f Binary files /dev/null and b/agere_sta_fw.bin differ diff --git a/amd/amd_sev_fam17h_model0xh.sbin b/amd/amd_sev_fam17h_model0xh.sbin new file mode 100644 index 0000000..8c01d10 Binary files /dev/null and b/amd/amd_sev_fam17h_model0xh.sbin differ diff --git a/amd/amd_sev_fam17h_model3xh.sbin b/amd/amd_sev_fam17h_model3xh.sbin new file mode 100644 index 0000000..ea49929 Binary files /dev/null and b/amd/amd_sev_fam17h_model3xh.sbin differ diff --git a/amd/amd_sev_fam19h_model0xh.sbin b/amd/amd_sev_fam19h_model0xh.sbin new file mode 100644 index 0000000..141d5d0 Binary files /dev/null and b/amd/amd_sev_fam19h_model0xh.sbin differ diff --git a/amdgpu/aldebaran_mec.bin b/amdgpu/aldebaran_mec.bin new file mode 100644 index 0000000..1405cd6 Binary files /dev/null and b/amdgpu/aldebaran_mec.bin differ diff --git a/amdgpu/aldebaran_mec2.bin b/amdgpu/aldebaran_mec2.bin new file mode 100644 index 0000000..1405cd6 Binary files /dev/null and b/amdgpu/aldebaran_mec2.bin differ diff --git a/amdgpu/aldebaran_rlc.bin b/amdgpu/aldebaran_rlc.bin new file mode 100644 index 0000000..27e9880 Binary files /dev/null and b/amdgpu/aldebaran_rlc.bin differ diff --git a/amdgpu/aldebaran_sdma.bin b/amdgpu/aldebaran_sdma.bin new file mode 100644 index 0000000..190bcf5 Binary files /dev/null and b/amdgpu/aldebaran_sdma.bin differ diff --git a/amdgpu/aldebaran_sjt_mec.bin b/amdgpu/aldebaran_sjt_mec.bin new file mode 100644 index 0000000..308f466 Binary files /dev/null and b/amdgpu/aldebaran_sjt_mec.bin differ diff --git a/amdgpu/aldebaran_sjt_mec2.bin b/amdgpu/aldebaran_sjt_mec2.bin new file mode 100644 index 0000000..308f466 Binary files /dev/null and b/amdgpu/aldebaran_sjt_mec2.bin differ diff --git a/amdgpu/aldebaran_smc.bin b/amdgpu/aldebaran_smc.bin new file mode 100644 index 0000000..4902b7d Binary files /dev/null and b/amdgpu/aldebaran_smc.bin differ diff --git a/amdgpu/aldebaran_sos.bin b/amdgpu/aldebaran_sos.bin new file mode 100644 index 0000000..a542450 Binary files /dev/null and b/amdgpu/aldebaran_sos.bin differ diff --git a/amdgpu/aldebaran_ta.bin b/amdgpu/aldebaran_ta.bin new file mode 100644 index 0000000..ff2a58f Binary files /dev/null and b/amdgpu/aldebaran_ta.bin differ diff --git a/amdgpu/aldebaran_vcn.bin b/amdgpu/aldebaran_vcn.bin new file mode 100644 index 0000000..60b0e07 Binary files /dev/null and b/amdgpu/aldebaran_vcn.bin differ diff --git a/amdgpu/arcturus_asd.bin b/amdgpu/arcturus_asd.bin new file mode 100644 index 0000000..d6d58cc Binary files /dev/null and b/amdgpu/arcturus_asd.bin differ diff --git a/amdgpu/arcturus_gpu_info.bin b/amdgpu/arcturus_gpu_info.bin new file mode 100644 index 0000000..5ee9e7e Binary files /dev/null and b/amdgpu/arcturus_gpu_info.bin differ diff --git a/amdgpu/arcturus_mec.bin b/amdgpu/arcturus_mec.bin new file mode 100644 index 0000000..c41cce2 Binary files /dev/null and b/amdgpu/arcturus_mec.bin differ diff --git a/amdgpu/arcturus_mec2.bin b/amdgpu/arcturus_mec2.bin new file mode 100644 index 0000000..c41cce2 Binary files /dev/null and b/amdgpu/arcturus_mec2.bin differ diff --git a/amdgpu/arcturus_rlc.bin b/amdgpu/arcturus_rlc.bin new file mode 100644 index 0000000..bdaa693 Binary files /dev/null and b/amdgpu/arcturus_rlc.bin differ diff --git a/amdgpu/arcturus_sdma.bin b/amdgpu/arcturus_sdma.bin new file mode 100644 index 0000000..786ece8 Binary files /dev/null and b/amdgpu/arcturus_sdma.bin differ diff --git a/amdgpu/arcturus_smc.bin b/amdgpu/arcturus_smc.bin new file mode 100644 index 0000000..765d50a Binary files /dev/null and b/amdgpu/arcturus_smc.bin differ diff --git a/amdgpu/arcturus_sos.bin b/amdgpu/arcturus_sos.bin new file mode 100644 index 0000000..5074b7c Binary files /dev/null and b/amdgpu/arcturus_sos.bin differ diff --git a/amdgpu/arcturus_ta.bin b/amdgpu/arcturus_ta.bin new file mode 100644 index 0000000..e7a5e9c Binary files /dev/null and b/amdgpu/arcturus_ta.bin differ diff --git a/amdgpu/arcturus_vcn.bin b/amdgpu/arcturus_vcn.bin new file mode 100644 index 0000000..c562af9 Binary files /dev/null and b/amdgpu/arcturus_vcn.bin differ diff --git a/amdgpu/banks_k_2_smc.bin b/amdgpu/banks_k_2_smc.bin new file mode 100644 index 0000000..9e033fb Binary files /dev/null and b/amdgpu/banks_k_2_smc.bin differ diff --git a/amdgpu/beige_goby_ce.bin b/amdgpu/beige_goby_ce.bin new file mode 100644 index 0000000..d70a560 Binary files /dev/null and b/amdgpu/beige_goby_ce.bin differ diff --git a/amdgpu/beige_goby_dmcub.bin b/amdgpu/beige_goby_dmcub.bin new file mode 100644 index 0000000..8a7f714 Binary files /dev/null and b/amdgpu/beige_goby_dmcub.bin differ diff --git a/amdgpu/beige_goby_me.bin b/amdgpu/beige_goby_me.bin new file mode 100644 index 0000000..285e3c3 Binary files /dev/null and b/amdgpu/beige_goby_me.bin differ diff --git a/amdgpu/beige_goby_mec.bin b/amdgpu/beige_goby_mec.bin new file mode 100644 index 0000000..1f1160f Binary files /dev/null and b/amdgpu/beige_goby_mec.bin differ diff --git a/amdgpu/beige_goby_mec2.bin b/amdgpu/beige_goby_mec2.bin new file mode 100644 index 0000000..1f1160f Binary files /dev/null and b/amdgpu/beige_goby_mec2.bin differ diff --git a/amdgpu/beige_goby_pfp.bin b/amdgpu/beige_goby_pfp.bin new file mode 100644 index 0000000..a493bdf Binary files /dev/null and b/amdgpu/beige_goby_pfp.bin differ diff --git a/amdgpu/beige_goby_rlc.bin b/amdgpu/beige_goby_rlc.bin new file mode 100644 index 0000000..7e2ae8e Binary files /dev/null and b/amdgpu/beige_goby_rlc.bin differ diff --git a/amdgpu/beige_goby_sdma.bin b/amdgpu/beige_goby_sdma.bin new file mode 100644 index 0000000..7702ed2 Binary files /dev/null and b/amdgpu/beige_goby_sdma.bin differ diff --git a/amdgpu/beige_goby_smc.bin b/amdgpu/beige_goby_smc.bin new file mode 100644 index 0000000..e4ace7d Binary files /dev/null and b/amdgpu/beige_goby_smc.bin differ diff --git a/amdgpu/beige_goby_sos.bin b/amdgpu/beige_goby_sos.bin new file mode 100644 index 0000000..83df81f Binary files /dev/null and b/amdgpu/beige_goby_sos.bin differ diff --git a/amdgpu/beige_goby_ta.bin b/amdgpu/beige_goby_ta.bin new file mode 100644 index 0000000..888897d Binary files /dev/null and b/amdgpu/beige_goby_ta.bin differ diff --git a/amdgpu/beige_goby_vcn.bin b/amdgpu/beige_goby_vcn.bin new file mode 100644 index 0000000..f932d06 Binary files /dev/null and b/amdgpu/beige_goby_vcn.bin differ diff --git a/amdgpu/bonaire_ce.bin b/amdgpu/bonaire_ce.bin new file mode 100644 index 0000000..67e9a8e Binary files /dev/null and b/amdgpu/bonaire_ce.bin differ diff --git a/amdgpu/bonaire_k_smc.bin b/amdgpu/bonaire_k_smc.bin new file mode 100644 index 0000000..3d6299f Binary files /dev/null and b/amdgpu/bonaire_k_smc.bin differ diff --git a/amdgpu/bonaire_mc.bin b/amdgpu/bonaire_mc.bin new file mode 100644 index 0000000..7397544 Binary files /dev/null and b/amdgpu/bonaire_mc.bin differ diff --git a/amdgpu/bonaire_me.bin b/amdgpu/bonaire_me.bin new file mode 100644 index 0000000..2257bb5 Binary files /dev/null and b/amdgpu/bonaire_me.bin differ diff --git a/amdgpu/bonaire_mec.bin b/amdgpu/bonaire_mec.bin new file mode 100644 index 0000000..de6f4d3 Binary files /dev/null and b/amdgpu/bonaire_mec.bin differ diff --git a/amdgpu/bonaire_pfp.bin b/amdgpu/bonaire_pfp.bin new file mode 100644 index 0000000..da33ade Binary files /dev/null and b/amdgpu/bonaire_pfp.bin differ diff --git a/amdgpu/bonaire_rlc.bin b/amdgpu/bonaire_rlc.bin new file mode 100644 index 0000000..69410a8 Binary files /dev/null and b/amdgpu/bonaire_rlc.bin differ diff --git a/amdgpu/bonaire_sdma.bin b/amdgpu/bonaire_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/amdgpu/bonaire_sdma.bin differ diff --git a/amdgpu/bonaire_sdma1.bin b/amdgpu/bonaire_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/amdgpu/bonaire_sdma1.bin differ diff --git a/amdgpu/bonaire_smc.bin b/amdgpu/bonaire_smc.bin new file mode 100644 index 0000000..28b34d4 Binary files /dev/null and b/amdgpu/bonaire_smc.bin differ diff --git a/amdgpu/bonaire_uvd.bin b/amdgpu/bonaire_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/amdgpu/bonaire_uvd.bin differ diff --git a/amdgpu/bonaire_vce.bin b/amdgpu/bonaire_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/amdgpu/bonaire_vce.bin differ diff --git a/amdgpu/carrizo_ce.bin b/amdgpu/carrizo_ce.bin new file mode 100644 index 0000000..fd2e8f1 Binary files /dev/null and b/amdgpu/carrizo_ce.bin differ diff --git a/amdgpu/carrizo_me.bin b/amdgpu/carrizo_me.bin new file mode 100644 index 0000000..6da5308 Binary files /dev/null and b/amdgpu/carrizo_me.bin differ diff --git a/amdgpu/carrizo_mec.bin b/amdgpu/carrizo_mec.bin new file mode 100644 index 0000000..2a2988a Binary files /dev/null and b/amdgpu/carrizo_mec.bin differ diff --git a/amdgpu/carrizo_mec2.bin b/amdgpu/carrizo_mec2.bin new file mode 100644 index 0000000..2a2988a Binary files /dev/null and b/amdgpu/carrizo_mec2.bin differ diff --git a/amdgpu/carrizo_pfp.bin b/amdgpu/carrizo_pfp.bin new file mode 100644 index 0000000..bc45550 Binary files /dev/null and b/amdgpu/carrizo_pfp.bin differ diff --git a/amdgpu/carrizo_rlc.bin b/amdgpu/carrizo_rlc.bin new file mode 100644 index 0000000..e2d7cf3 Binary files /dev/null and b/amdgpu/carrizo_rlc.bin differ diff --git a/amdgpu/carrizo_sdma.bin b/amdgpu/carrizo_sdma.bin new file mode 100644 index 0000000..12dc407 Binary files /dev/null and b/amdgpu/carrizo_sdma.bin differ diff --git a/amdgpu/carrizo_sdma1.bin b/amdgpu/carrizo_sdma1.bin new file mode 100644 index 0000000..12dc407 Binary files /dev/null and b/amdgpu/carrizo_sdma1.bin differ diff --git a/amdgpu/carrizo_uvd.bin b/amdgpu/carrizo_uvd.bin new file mode 100644 index 0000000..53f7047 Binary files /dev/null and b/amdgpu/carrizo_uvd.bin differ diff --git a/amdgpu/carrizo_vce.bin b/amdgpu/carrizo_vce.bin new file mode 100644 index 0000000..45f677f Binary files /dev/null and b/amdgpu/carrizo_vce.bin differ diff --git a/amdgpu/cyan_skillfish2_ce.bin b/amdgpu/cyan_skillfish2_ce.bin new file mode 100644 index 0000000..3daf4d0 Binary files /dev/null and b/amdgpu/cyan_skillfish2_ce.bin differ diff --git a/amdgpu/cyan_skillfish2_me.bin b/amdgpu/cyan_skillfish2_me.bin new file mode 100644 index 0000000..517f479 Binary files /dev/null and b/amdgpu/cyan_skillfish2_me.bin differ diff --git a/amdgpu/cyan_skillfish2_mec.bin b/amdgpu/cyan_skillfish2_mec.bin new file mode 100644 index 0000000..9615286 Binary files /dev/null and b/amdgpu/cyan_skillfish2_mec.bin differ diff --git a/amdgpu/cyan_skillfish2_mec2.bin b/amdgpu/cyan_skillfish2_mec2.bin new file mode 100644 index 0000000..9615286 Binary files /dev/null and b/amdgpu/cyan_skillfish2_mec2.bin differ diff --git a/amdgpu/cyan_skillfish2_pfp.bin b/amdgpu/cyan_skillfish2_pfp.bin new file mode 100644 index 0000000..52bf494 Binary files /dev/null and b/amdgpu/cyan_skillfish2_pfp.bin differ diff --git a/amdgpu/cyan_skillfish2_rlc.bin b/amdgpu/cyan_skillfish2_rlc.bin new file mode 100644 index 0000000..8ae6b12 Binary files /dev/null and b/amdgpu/cyan_skillfish2_rlc.bin differ diff --git a/amdgpu/cyan_skillfish2_sdma.bin b/amdgpu/cyan_skillfish2_sdma.bin new file mode 100644 index 0000000..c3a42f3 Binary files /dev/null and b/amdgpu/cyan_skillfish2_sdma.bin differ diff --git a/amdgpu/cyan_skillfish2_sdma1.bin b/amdgpu/cyan_skillfish2_sdma1.bin new file mode 100644 index 0000000..ea26939 Binary files /dev/null and b/amdgpu/cyan_skillfish2_sdma1.bin differ diff --git a/amdgpu/dcn_3_1_4_dmcub.bin b/amdgpu/dcn_3_1_4_dmcub.bin new file mode 100644 index 0000000..1820940 Binary files /dev/null and b/amdgpu/dcn_3_1_4_dmcub.bin differ diff --git a/amdgpu/dcn_3_1_5_dmcub.bin b/amdgpu/dcn_3_1_5_dmcub.bin new file mode 100644 index 0000000..1820940 Binary files /dev/null and b/amdgpu/dcn_3_1_5_dmcub.bin differ diff --git a/amdgpu/dcn_3_1_6_dmcub.bin b/amdgpu/dcn_3_1_6_dmcub.bin new file mode 100644 index 0000000..c8fcdfc Binary files /dev/null and b/amdgpu/dcn_3_1_6_dmcub.bin differ diff --git a/amdgpu/dcn_3_2_0_dmcub.bin b/amdgpu/dcn_3_2_0_dmcub.bin new file mode 100644 index 0000000..91e1399 Binary files /dev/null and b/amdgpu/dcn_3_2_0_dmcub.bin differ diff --git a/amdgpu/dcn_3_2_1_dmcub.bin b/amdgpu/dcn_3_2_1_dmcub.bin new file mode 100644 index 0000000..cdc565b Binary files /dev/null and b/amdgpu/dcn_3_2_1_dmcub.bin differ diff --git a/amdgpu/dimgrey_cavefish_ce.bin b/amdgpu/dimgrey_cavefish_ce.bin new file mode 100644 index 0000000..b2cb589 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_ce.bin differ diff --git a/amdgpu/dimgrey_cavefish_dmcub.bin b/amdgpu/dimgrey_cavefish_dmcub.bin new file mode 100644 index 0000000..ced9b96 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_dmcub.bin differ diff --git a/amdgpu/dimgrey_cavefish_me.bin b/amdgpu/dimgrey_cavefish_me.bin new file mode 100644 index 0000000..358b00e Binary files /dev/null and b/amdgpu/dimgrey_cavefish_me.bin differ diff --git a/amdgpu/dimgrey_cavefish_mec.bin b/amdgpu/dimgrey_cavefish_mec.bin new file mode 100644 index 0000000..d1c6062 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_mec.bin differ diff --git a/amdgpu/dimgrey_cavefish_mec2.bin b/amdgpu/dimgrey_cavefish_mec2.bin new file mode 100644 index 0000000..d1c6062 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_mec2.bin differ diff --git a/amdgpu/dimgrey_cavefish_pfp.bin b/amdgpu/dimgrey_cavefish_pfp.bin new file mode 100644 index 0000000..22c7b1a Binary files /dev/null and b/amdgpu/dimgrey_cavefish_pfp.bin differ diff --git a/amdgpu/dimgrey_cavefish_rlc.bin b/amdgpu/dimgrey_cavefish_rlc.bin new file mode 100644 index 0000000..4a4ec4f Binary files /dev/null and b/amdgpu/dimgrey_cavefish_rlc.bin differ diff --git a/amdgpu/dimgrey_cavefish_sdma.bin b/amdgpu/dimgrey_cavefish_sdma.bin new file mode 100644 index 0000000..fc291f7 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_sdma.bin differ diff --git a/amdgpu/dimgrey_cavefish_smc.bin b/amdgpu/dimgrey_cavefish_smc.bin new file mode 100644 index 0000000..37aa3c7 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_smc.bin differ diff --git a/amdgpu/dimgrey_cavefish_sos.bin b/amdgpu/dimgrey_cavefish_sos.bin new file mode 100644 index 0000000..a933e30 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_sos.bin differ diff --git a/amdgpu/dimgrey_cavefish_ta.bin b/amdgpu/dimgrey_cavefish_ta.bin new file mode 100644 index 0000000..888897d Binary files /dev/null and b/amdgpu/dimgrey_cavefish_ta.bin differ diff --git a/amdgpu/dimgrey_cavefish_vcn.bin b/amdgpu/dimgrey_cavefish_vcn.bin new file mode 100644 index 0000000..f932d06 Binary files /dev/null and b/amdgpu/dimgrey_cavefish_vcn.bin differ diff --git a/amdgpu/fiji_ce.bin b/amdgpu/fiji_ce.bin new file mode 100644 index 0000000..244d7d9 Binary files /dev/null and b/amdgpu/fiji_ce.bin differ diff --git a/amdgpu/fiji_mc.bin b/amdgpu/fiji_mc.bin new file mode 100644 index 0000000..44e3455 Binary files /dev/null and b/amdgpu/fiji_mc.bin differ diff --git a/amdgpu/fiji_me.bin b/amdgpu/fiji_me.bin new file mode 100644 index 0000000..45cbbc1 Binary files /dev/null and b/amdgpu/fiji_me.bin differ diff --git a/amdgpu/fiji_mec.bin b/amdgpu/fiji_mec.bin new file mode 100644 index 0000000..457ff25 Binary files /dev/null and b/amdgpu/fiji_mec.bin differ diff --git a/amdgpu/fiji_mec2.bin b/amdgpu/fiji_mec2.bin new file mode 100644 index 0000000..457ff25 Binary files /dev/null and b/amdgpu/fiji_mec2.bin differ diff --git a/amdgpu/fiji_pfp.bin b/amdgpu/fiji_pfp.bin new file mode 100644 index 0000000..9a80aa2 Binary files /dev/null and b/amdgpu/fiji_pfp.bin differ diff --git a/amdgpu/fiji_rlc.bin b/amdgpu/fiji_rlc.bin new file mode 100644 index 0000000..67f0d98 Binary files /dev/null and b/amdgpu/fiji_rlc.bin differ diff --git a/amdgpu/fiji_sdma.bin b/amdgpu/fiji_sdma.bin new file mode 100644 index 0000000..0f9cee4 Binary files /dev/null and b/amdgpu/fiji_sdma.bin differ diff --git a/amdgpu/fiji_sdma1.bin b/amdgpu/fiji_sdma1.bin new file mode 100644 index 0000000..b0faba3 Binary files /dev/null and b/amdgpu/fiji_sdma1.bin differ diff --git a/amdgpu/fiji_smc.bin b/amdgpu/fiji_smc.bin new file mode 100644 index 0000000..c89c5b4 Binary files /dev/null and b/amdgpu/fiji_smc.bin differ diff --git a/amdgpu/fiji_uvd.bin b/amdgpu/fiji_uvd.bin new file mode 100644 index 0000000..70295e3 Binary files /dev/null and b/amdgpu/fiji_uvd.bin differ diff --git a/amdgpu/fiji_vce.bin b/amdgpu/fiji_vce.bin new file mode 100644 index 0000000..2a5dd07 Binary files /dev/null and b/amdgpu/fiji_vce.bin differ diff --git a/amdgpu/gc_10_3_6_ce.bin b/amdgpu/gc_10_3_6_ce.bin new file mode 100644 index 0000000..77af5ed Binary files /dev/null and b/amdgpu/gc_10_3_6_ce.bin differ diff --git a/amdgpu/gc_10_3_6_me.bin b/amdgpu/gc_10_3_6_me.bin new file mode 100644 index 0000000..d08aae3 Binary files /dev/null and b/amdgpu/gc_10_3_6_me.bin differ diff --git a/amdgpu/gc_10_3_6_mec.bin b/amdgpu/gc_10_3_6_mec.bin new file mode 100644 index 0000000..68a9511 Binary files /dev/null and b/amdgpu/gc_10_3_6_mec.bin differ diff --git a/amdgpu/gc_10_3_6_mec2.bin b/amdgpu/gc_10_3_6_mec2.bin new file mode 100644 index 0000000..68a9511 Binary files /dev/null and b/amdgpu/gc_10_3_6_mec2.bin differ diff --git a/amdgpu/gc_10_3_6_pfp.bin b/amdgpu/gc_10_3_6_pfp.bin new file mode 100644 index 0000000..47055bc Binary files /dev/null and b/amdgpu/gc_10_3_6_pfp.bin differ diff --git a/amdgpu/gc_10_3_6_rlc.bin b/amdgpu/gc_10_3_6_rlc.bin new file mode 100644 index 0000000..75f1eb6 Binary files /dev/null and b/amdgpu/gc_10_3_6_rlc.bin differ diff --git a/amdgpu/gc_10_3_7_ce.bin b/amdgpu/gc_10_3_7_ce.bin new file mode 100644 index 0000000..5047587 Binary files /dev/null and b/amdgpu/gc_10_3_7_ce.bin differ diff --git a/amdgpu/gc_10_3_7_me.bin b/amdgpu/gc_10_3_7_me.bin new file mode 100644 index 0000000..cca0493 Binary files /dev/null and b/amdgpu/gc_10_3_7_me.bin differ diff --git a/amdgpu/gc_10_3_7_mec.bin b/amdgpu/gc_10_3_7_mec.bin new file mode 100644 index 0000000..3f9a371 Binary files /dev/null and b/amdgpu/gc_10_3_7_mec.bin differ diff --git a/amdgpu/gc_10_3_7_mec2.bin b/amdgpu/gc_10_3_7_mec2.bin new file mode 100644 index 0000000..3f9a371 Binary files /dev/null and b/amdgpu/gc_10_3_7_mec2.bin differ diff --git a/amdgpu/gc_10_3_7_pfp.bin b/amdgpu/gc_10_3_7_pfp.bin new file mode 100644 index 0000000..085ef1e Binary files /dev/null and b/amdgpu/gc_10_3_7_pfp.bin differ diff --git a/amdgpu/gc_10_3_7_rlc.bin b/amdgpu/gc_10_3_7_rlc.bin new file mode 100644 index 0000000..d01d2ab Binary files /dev/null and b/amdgpu/gc_10_3_7_rlc.bin differ diff --git a/amdgpu/gc_11_0_0_imu.bin b/amdgpu/gc_11_0_0_imu.bin new file mode 100644 index 0000000..ff93420 Binary files /dev/null and b/amdgpu/gc_11_0_0_imu.bin differ diff --git a/amdgpu/gc_11_0_0_me.bin b/amdgpu/gc_11_0_0_me.bin new file mode 100644 index 0000000..e681e41 Binary files /dev/null and b/amdgpu/gc_11_0_0_me.bin differ diff --git a/amdgpu/gc_11_0_0_mec.bin b/amdgpu/gc_11_0_0_mec.bin new file mode 100644 index 0000000..e12206f Binary files /dev/null and b/amdgpu/gc_11_0_0_mec.bin differ diff --git a/amdgpu/gc_11_0_0_mes.bin b/amdgpu/gc_11_0_0_mes.bin new file mode 100644 index 0000000..eb3c840 Binary files /dev/null and b/amdgpu/gc_11_0_0_mes.bin differ diff --git a/amdgpu/gc_11_0_0_mes1.bin b/amdgpu/gc_11_0_0_mes1.bin new file mode 100644 index 0000000..5682ae3 Binary files /dev/null and b/amdgpu/gc_11_0_0_mes1.bin differ diff --git a/amdgpu/gc_11_0_0_mes_2.bin b/amdgpu/gc_11_0_0_mes_2.bin new file mode 100644 index 0000000..7bb688a Binary files /dev/null and b/amdgpu/gc_11_0_0_mes_2.bin differ diff --git a/amdgpu/gc_11_0_0_pfp.bin b/amdgpu/gc_11_0_0_pfp.bin new file mode 100644 index 0000000..f6d10ba Binary files /dev/null and b/amdgpu/gc_11_0_0_pfp.bin differ diff --git a/amdgpu/gc_11_0_0_rlc.bin b/amdgpu/gc_11_0_0_rlc.bin new file mode 100644 index 0000000..a8bbc94 Binary files /dev/null and b/amdgpu/gc_11_0_0_rlc.bin differ diff --git a/amdgpu/gc_11_0_1_imu.bin b/amdgpu/gc_11_0_1_imu.bin new file mode 100644 index 0000000..e878379 Binary files /dev/null and b/amdgpu/gc_11_0_1_imu.bin differ diff --git a/amdgpu/gc_11_0_1_me.bin b/amdgpu/gc_11_0_1_me.bin new file mode 100644 index 0000000..2f5e33b Binary files /dev/null and b/amdgpu/gc_11_0_1_me.bin differ diff --git a/amdgpu/gc_11_0_1_mec.bin b/amdgpu/gc_11_0_1_mec.bin new file mode 100644 index 0000000..67f4109 Binary files /dev/null and b/amdgpu/gc_11_0_1_mec.bin differ diff --git a/amdgpu/gc_11_0_1_mes.bin b/amdgpu/gc_11_0_1_mes.bin new file mode 100644 index 0000000..86dd865 Binary files /dev/null and b/amdgpu/gc_11_0_1_mes.bin differ diff --git a/amdgpu/gc_11_0_1_mes1.bin b/amdgpu/gc_11_0_1_mes1.bin new file mode 100644 index 0000000..20042cf Binary files /dev/null and b/amdgpu/gc_11_0_1_mes1.bin differ diff --git a/amdgpu/gc_11_0_1_mes_2.bin b/amdgpu/gc_11_0_1_mes_2.bin new file mode 100644 index 0000000..1587fcc Binary files /dev/null and b/amdgpu/gc_11_0_1_mes_2.bin differ diff --git a/amdgpu/gc_11_0_1_pfp.bin b/amdgpu/gc_11_0_1_pfp.bin new file mode 100644 index 0000000..511aae4 Binary files /dev/null and b/amdgpu/gc_11_0_1_pfp.bin differ diff --git a/amdgpu/gc_11_0_1_rlc.bin b/amdgpu/gc_11_0_1_rlc.bin new file mode 100644 index 0000000..23b2e98 Binary files /dev/null and b/amdgpu/gc_11_0_1_rlc.bin differ diff --git a/amdgpu/gc_11_0_2_imu.bin b/amdgpu/gc_11_0_2_imu.bin new file mode 100644 index 0000000..dcdadec Binary files /dev/null and b/amdgpu/gc_11_0_2_imu.bin differ diff --git a/amdgpu/gc_11_0_2_me.bin b/amdgpu/gc_11_0_2_me.bin new file mode 100644 index 0000000..99c732d Binary files /dev/null and b/amdgpu/gc_11_0_2_me.bin differ diff --git a/amdgpu/gc_11_0_2_mec.bin b/amdgpu/gc_11_0_2_mec.bin new file mode 100644 index 0000000..7005354 Binary files /dev/null and b/amdgpu/gc_11_0_2_mec.bin differ diff --git a/amdgpu/gc_11_0_2_mes.bin b/amdgpu/gc_11_0_2_mes.bin new file mode 100644 index 0000000..d86f495 Binary files /dev/null and b/amdgpu/gc_11_0_2_mes.bin differ diff --git a/amdgpu/gc_11_0_2_mes1.bin b/amdgpu/gc_11_0_2_mes1.bin new file mode 100644 index 0000000..6333851 Binary files /dev/null and b/amdgpu/gc_11_0_2_mes1.bin differ diff --git a/amdgpu/gc_11_0_2_mes_2.bin b/amdgpu/gc_11_0_2_mes_2.bin new file mode 100644 index 0000000..d93ccfc Binary files /dev/null and b/amdgpu/gc_11_0_2_mes_2.bin differ diff --git a/amdgpu/gc_11_0_2_pfp.bin b/amdgpu/gc_11_0_2_pfp.bin new file mode 100644 index 0000000..5cd5df0 Binary files /dev/null and b/amdgpu/gc_11_0_2_pfp.bin differ diff --git a/amdgpu/gc_11_0_2_rlc.bin b/amdgpu/gc_11_0_2_rlc.bin new file mode 100644 index 0000000..a2b65d6 Binary files /dev/null and b/amdgpu/gc_11_0_2_rlc.bin differ diff --git a/amdgpu/gc_11_0_4_imu.bin b/amdgpu/gc_11_0_4_imu.bin new file mode 100644 index 0000000..e878379 Binary files /dev/null and b/amdgpu/gc_11_0_4_imu.bin differ diff --git a/amdgpu/gc_11_0_4_me.bin b/amdgpu/gc_11_0_4_me.bin new file mode 100644 index 0000000..e4151c0 Binary files /dev/null and b/amdgpu/gc_11_0_4_me.bin differ diff --git a/amdgpu/gc_11_0_4_mec.bin b/amdgpu/gc_11_0_4_mec.bin new file mode 100644 index 0000000..ad4d226 Binary files /dev/null and b/amdgpu/gc_11_0_4_mec.bin differ diff --git a/amdgpu/gc_11_0_4_mes.bin b/amdgpu/gc_11_0_4_mes.bin new file mode 100644 index 0000000..86dd865 Binary files /dev/null and b/amdgpu/gc_11_0_4_mes.bin differ diff --git a/amdgpu/gc_11_0_4_mes1.bin b/amdgpu/gc_11_0_4_mes1.bin new file mode 100644 index 0000000..c31e595 Binary files /dev/null and b/amdgpu/gc_11_0_4_mes1.bin differ diff --git a/amdgpu/gc_11_0_4_mes_2.bin b/amdgpu/gc_11_0_4_mes_2.bin new file mode 100644 index 0000000..1587fcc Binary files /dev/null and b/amdgpu/gc_11_0_4_mes_2.bin differ diff --git a/amdgpu/gc_11_0_4_pfp.bin b/amdgpu/gc_11_0_4_pfp.bin new file mode 100644 index 0000000..d60cc3e Binary files /dev/null and b/amdgpu/gc_11_0_4_pfp.bin differ diff --git a/amdgpu/gc_11_0_4_rlc.bin b/amdgpu/gc_11_0_4_rlc.bin new file mode 100644 index 0000000..7775b11 Binary files /dev/null and b/amdgpu/gc_11_0_4_rlc.bin differ diff --git a/amdgpu/green_sardine_asd.bin b/amdgpu/green_sardine_asd.bin new file mode 100644 index 0000000..54855a2 Binary files /dev/null and b/amdgpu/green_sardine_asd.bin differ diff --git a/amdgpu/green_sardine_ce.bin b/amdgpu/green_sardine_ce.bin new file mode 100644 index 0000000..3d1de31 Binary files /dev/null and b/amdgpu/green_sardine_ce.bin differ diff --git a/amdgpu/green_sardine_dmcub.bin b/amdgpu/green_sardine_dmcub.bin new file mode 100644 index 0000000..49126da Binary files /dev/null and b/amdgpu/green_sardine_dmcub.bin differ diff --git a/amdgpu/green_sardine_me.bin b/amdgpu/green_sardine_me.bin new file mode 100644 index 0000000..65fc996 Binary files /dev/null and b/amdgpu/green_sardine_me.bin differ diff --git a/amdgpu/green_sardine_mec.bin b/amdgpu/green_sardine_mec.bin new file mode 100644 index 0000000..197331b Binary files /dev/null and b/amdgpu/green_sardine_mec.bin differ diff --git a/amdgpu/green_sardine_mec2.bin b/amdgpu/green_sardine_mec2.bin new file mode 100644 index 0000000..197331b Binary files /dev/null and b/amdgpu/green_sardine_mec2.bin differ diff --git a/amdgpu/green_sardine_pfp.bin b/amdgpu/green_sardine_pfp.bin new file mode 100644 index 0000000..3f93f4a Binary files /dev/null and b/amdgpu/green_sardine_pfp.bin differ diff --git a/amdgpu/green_sardine_rlc.bin b/amdgpu/green_sardine_rlc.bin new file mode 100644 index 0000000..9672b28 Binary files /dev/null and b/amdgpu/green_sardine_rlc.bin differ diff --git a/amdgpu/green_sardine_sdma.bin b/amdgpu/green_sardine_sdma.bin new file mode 100644 index 0000000..d9f2f59 Binary files /dev/null and b/amdgpu/green_sardine_sdma.bin differ diff --git a/amdgpu/green_sardine_ta.bin b/amdgpu/green_sardine_ta.bin new file mode 100644 index 0000000..8b2654a Binary files /dev/null and b/amdgpu/green_sardine_ta.bin differ diff --git a/amdgpu/green_sardine_vcn.bin b/amdgpu/green_sardine_vcn.bin new file mode 100644 index 0000000..5d47fd4 Binary files /dev/null and b/amdgpu/green_sardine_vcn.bin differ diff --git a/amdgpu/hainan_ce.bin b/amdgpu/hainan_ce.bin new file mode 100644 index 0000000..c2d805e Binary files /dev/null and b/amdgpu/hainan_ce.bin differ diff --git a/amdgpu/hainan_k_smc.bin b/amdgpu/hainan_k_smc.bin new file mode 100644 index 0000000..c4e84ca Binary files /dev/null and b/amdgpu/hainan_k_smc.bin differ diff --git a/amdgpu/hainan_mc.bin b/amdgpu/hainan_mc.bin new file mode 100644 index 0000000..a4c03f6 Binary files /dev/null and b/amdgpu/hainan_mc.bin differ diff --git a/amdgpu/hainan_me.bin b/amdgpu/hainan_me.bin new file mode 100644 index 0000000..e4accbf Binary files /dev/null and b/amdgpu/hainan_me.bin differ diff --git a/amdgpu/hainan_pfp.bin b/amdgpu/hainan_pfp.bin new file mode 100644 index 0000000..2073b7f Binary files /dev/null and b/amdgpu/hainan_pfp.bin differ diff --git a/amdgpu/hainan_rlc.bin b/amdgpu/hainan_rlc.bin new file mode 100644 index 0000000..1033765 Binary files /dev/null and b/amdgpu/hainan_rlc.bin differ diff --git a/amdgpu/hainan_smc.bin b/amdgpu/hainan_smc.bin new file mode 100644 index 0000000..4a5f9e8 Binary files /dev/null and b/amdgpu/hainan_smc.bin differ diff --git a/amdgpu/hawaii_ce.bin b/amdgpu/hawaii_ce.bin new file mode 100644 index 0000000..3f2eab3 Binary files /dev/null and b/amdgpu/hawaii_ce.bin differ diff --git a/amdgpu/hawaii_k_smc.bin b/amdgpu/hawaii_k_smc.bin new file mode 100644 index 0000000..1c7513a Binary files /dev/null and b/amdgpu/hawaii_k_smc.bin differ diff --git a/amdgpu/hawaii_mc.bin b/amdgpu/hawaii_mc.bin new file mode 100644 index 0000000..c8bdd10 Binary files /dev/null and b/amdgpu/hawaii_mc.bin differ diff --git a/amdgpu/hawaii_me.bin b/amdgpu/hawaii_me.bin new file mode 100644 index 0000000..55519b3 Binary files /dev/null and b/amdgpu/hawaii_me.bin differ diff --git a/amdgpu/hawaii_mec.bin b/amdgpu/hawaii_mec.bin new file mode 100644 index 0000000..6934788 Binary files /dev/null and b/amdgpu/hawaii_mec.bin differ diff --git a/amdgpu/hawaii_pfp.bin b/amdgpu/hawaii_pfp.bin new file mode 100644 index 0000000..83cb6b2 Binary files /dev/null and b/amdgpu/hawaii_pfp.bin differ diff --git a/amdgpu/hawaii_rlc.bin b/amdgpu/hawaii_rlc.bin new file mode 100644 index 0000000..56abc51 Binary files /dev/null and b/amdgpu/hawaii_rlc.bin differ diff --git a/amdgpu/hawaii_sdma.bin b/amdgpu/hawaii_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/amdgpu/hawaii_sdma.bin differ diff --git a/amdgpu/hawaii_sdma1.bin b/amdgpu/hawaii_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/amdgpu/hawaii_sdma1.bin differ diff --git a/amdgpu/hawaii_smc.bin b/amdgpu/hawaii_smc.bin new file mode 100644 index 0000000..b0fd7a0 Binary files /dev/null and b/amdgpu/hawaii_smc.bin differ diff --git a/amdgpu/hawaii_uvd.bin b/amdgpu/hawaii_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/amdgpu/hawaii_uvd.bin differ diff --git a/amdgpu/hawaii_vce.bin b/amdgpu/hawaii_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/amdgpu/hawaii_vce.bin differ diff --git a/amdgpu/kabini_ce.bin b/amdgpu/kabini_ce.bin new file mode 100644 index 0000000..21842e2 Binary files /dev/null and b/amdgpu/kabini_ce.bin differ diff --git a/amdgpu/kabini_me.bin b/amdgpu/kabini_me.bin new file mode 100644 index 0000000..edba16d Binary files /dev/null and b/amdgpu/kabini_me.bin differ diff --git a/amdgpu/kabini_mec.bin b/amdgpu/kabini_mec.bin new file mode 100644 index 0000000..ce50ea5 Binary files /dev/null and b/amdgpu/kabini_mec.bin differ diff --git a/amdgpu/kabini_pfp.bin b/amdgpu/kabini_pfp.bin new file mode 100644 index 0000000..a4ba562 Binary files /dev/null and b/amdgpu/kabini_pfp.bin differ diff --git a/amdgpu/kabini_rlc.bin b/amdgpu/kabini_rlc.bin new file mode 100644 index 0000000..d1bd91b Binary files /dev/null and b/amdgpu/kabini_rlc.bin differ diff --git a/amdgpu/kabini_sdma.bin b/amdgpu/kabini_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/amdgpu/kabini_sdma.bin differ diff --git a/amdgpu/kabini_sdma1.bin b/amdgpu/kabini_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/amdgpu/kabini_sdma1.bin differ diff --git a/amdgpu/kabini_uvd.bin b/amdgpu/kabini_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/amdgpu/kabini_uvd.bin differ diff --git a/amdgpu/kabini_vce.bin b/amdgpu/kabini_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/amdgpu/kabini_vce.bin differ diff --git a/amdgpu/kaveri_ce.bin b/amdgpu/kaveri_ce.bin new file mode 100644 index 0000000..21842e2 Binary files /dev/null and b/amdgpu/kaveri_ce.bin differ diff --git a/amdgpu/kaveri_me.bin b/amdgpu/kaveri_me.bin new file mode 100644 index 0000000..edba16d Binary files /dev/null and b/amdgpu/kaveri_me.bin differ diff --git a/amdgpu/kaveri_mec.bin b/amdgpu/kaveri_mec.bin new file mode 100644 index 0000000..9b868cd Binary files /dev/null and b/amdgpu/kaveri_mec.bin differ diff --git a/amdgpu/kaveri_mec2.bin b/amdgpu/kaveri_mec2.bin new file mode 100644 index 0000000..e60553b Binary files /dev/null and b/amdgpu/kaveri_mec2.bin differ diff --git a/amdgpu/kaveri_pfp.bin b/amdgpu/kaveri_pfp.bin new file mode 100644 index 0000000..3be7f38 Binary files /dev/null and b/amdgpu/kaveri_pfp.bin differ diff --git a/amdgpu/kaveri_rlc.bin b/amdgpu/kaveri_rlc.bin new file mode 100644 index 0000000..66b5b10 Binary files /dev/null and b/amdgpu/kaveri_rlc.bin differ diff --git a/amdgpu/kaveri_sdma.bin b/amdgpu/kaveri_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/amdgpu/kaveri_sdma.bin differ diff --git a/amdgpu/kaveri_sdma1.bin b/amdgpu/kaveri_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/amdgpu/kaveri_sdma1.bin differ diff --git a/amdgpu/kaveri_uvd.bin b/amdgpu/kaveri_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/amdgpu/kaveri_uvd.bin differ diff --git a/amdgpu/kaveri_vce.bin b/amdgpu/kaveri_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/amdgpu/kaveri_vce.bin differ diff --git a/amdgpu/mullins_ce.bin b/amdgpu/mullins_ce.bin new file mode 100644 index 0000000..21842e2 Binary files /dev/null and b/amdgpu/mullins_ce.bin differ diff --git a/amdgpu/mullins_me.bin b/amdgpu/mullins_me.bin new file mode 100644 index 0000000..edba16d Binary files /dev/null and b/amdgpu/mullins_me.bin differ diff --git a/amdgpu/mullins_mec.bin b/amdgpu/mullins_mec.bin new file mode 100644 index 0000000..ce50ea5 Binary files /dev/null and b/amdgpu/mullins_mec.bin differ diff --git a/amdgpu/mullins_pfp.bin b/amdgpu/mullins_pfp.bin new file mode 100644 index 0000000..a4ba562 Binary files /dev/null and b/amdgpu/mullins_pfp.bin differ diff --git a/amdgpu/mullins_rlc.bin b/amdgpu/mullins_rlc.bin new file mode 100644 index 0000000..0279be1 Binary files /dev/null and b/amdgpu/mullins_rlc.bin differ diff --git a/amdgpu/mullins_sdma.bin b/amdgpu/mullins_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/amdgpu/mullins_sdma.bin differ diff --git a/amdgpu/mullins_sdma1.bin b/amdgpu/mullins_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/amdgpu/mullins_sdma1.bin differ diff --git a/amdgpu/mullins_uvd.bin b/amdgpu/mullins_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/amdgpu/mullins_uvd.bin differ diff --git a/amdgpu/mullins_vce.bin b/amdgpu/mullins_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/amdgpu/mullins_vce.bin differ diff --git a/amdgpu/navi10_asd.bin b/amdgpu/navi10_asd.bin new file mode 100644 index 0000000..d8214a8 Binary files /dev/null and b/amdgpu/navi10_asd.bin differ diff --git a/amdgpu/navi10_ce.bin b/amdgpu/navi10_ce.bin new file mode 100644 index 0000000..f87bc95 Binary files /dev/null and b/amdgpu/navi10_ce.bin differ diff --git a/amdgpu/navi10_gpu_info.bin b/amdgpu/navi10_gpu_info.bin new file mode 100644 index 0000000..0565f3b Binary files /dev/null and b/amdgpu/navi10_gpu_info.bin differ diff --git a/amdgpu/navi10_me.bin b/amdgpu/navi10_me.bin new file mode 100644 index 0000000..fd088d5 Binary files /dev/null and b/amdgpu/navi10_me.bin differ diff --git a/amdgpu/navi10_mec.bin b/amdgpu/navi10_mec.bin new file mode 100644 index 0000000..6995190 Binary files /dev/null and b/amdgpu/navi10_mec.bin differ diff --git a/amdgpu/navi10_mec2.bin b/amdgpu/navi10_mec2.bin new file mode 100644 index 0000000..6995190 Binary files /dev/null and b/amdgpu/navi10_mec2.bin differ diff --git a/amdgpu/navi10_pfp.bin b/amdgpu/navi10_pfp.bin new file mode 100644 index 0000000..d9a7e5c Binary files /dev/null and b/amdgpu/navi10_pfp.bin differ diff --git a/amdgpu/navi10_rlc.bin b/amdgpu/navi10_rlc.bin new file mode 100644 index 0000000..731cf62 Binary files /dev/null and b/amdgpu/navi10_rlc.bin differ diff --git a/amdgpu/navi10_sdma.bin b/amdgpu/navi10_sdma.bin new file mode 100644 index 0000000..f7b6000 Binary files /dev/null and b/amdgpu/navi10_sdma.bin differ diff --git a/amdgpu/navi10_sdma1.bin b/amdgpu/navi10_sdma1.bin new file mode 100644 index 0000000..5ffe0ee Binary files /dev/null and b/amdgpu/navi10_sdma1.bin differ diff --git a/amdgpu/navi10_smc.bin b/amdgpu/navi10_smc.bin new file mode 100644 index 0000000..c660346 Binary files /dev/null and b/amdgpu/navi10_smc.bin differ diff --git a/amdgpu/navi10_sos.bin b/amdgpu/navi10_sos.bin new file mode 100644 index 0000000..2ddb5f5 Binary files /dev/null and b/amdgpu/navi10_sos.bin differ diff --git a/amdgpu/navi10_ta.bin b/amdgpu/navi10_ta.bin new file mode 100644 index 0000000..1eccfe1 Binary files /dev/null and b/amdgpu/navi10_ta.bin differ diff --git a/amdgpu/navi10_vcn.bin b/amdgpu/navi10_vcn.bin new file mode 100644 index 0000000..0d560b0 Binary files /dev/null and b/amdgpu/navi10_vcn.bin differ diff --git a/amdgpu/navi12_asd.bin b/amdgpu/navi12_asd.bin new file mode 100644 index 0000000..d8214a8 Binary files /dev/null and b/amdgpu/navi12_asd.bin differ diff --git a/amdgpu/navi12_ce.bin b/amdgpu/navi12_ce.bin new file mode 100644 index 0000000..69f1bbe Binary files /dev/null and b/amdgpu/navi12_ce.bin differ diff --git a/amdgpu/navi12_dmcu.bin b/amdgpu/navi12_dmcu.bin new file mode 100644 index 0000000..ac9cc78 Binary files /dev/null and b/amdgpu/navi12_dmcu.bin differ diff --git a/amdgpu/navi12_gpu_info.bin b/amdgpu/navi12_gpu_info.bin new file mode 100644 index 0000000..d2334bb Binary files /dev/null and b/amdgpu/navi12_gpu_info.bin differ diff --git a/amdgpu/navi12_me.bin b/amdgpu/navi12_me.bin new file mode 100644 index 0000000..c7bdb3a Binary files /dev/null and b/amdgpu/navi12_me.bin differ diff --git a/amdgpu/navi12_mec.bin b/amdgpu/navi12_mec.bin new file mode 100644 index 0000000..8748bac Binary files /dev/null and b/amdgpu/navi12_mec.bin differ diff --git a/amdgpu/navi12_mec2.bin b/amdgpu/navi12_mec2.bin new file mode 100644 index 0000000..8748bac Binary files /dev/null and b/amdgpu/navi12_mec2.bin differ diff --git a/amdgpu/navi12_pfp.bin b/amdgpu/navi12_pfp.bin new file mode 100644 index 0000000..c0eb37b Binary files /dev/null and b/amdgpu/navi12_pfp.bin differ diff --git a/amdgpu/navi12_rlc.bin b/amdgpu/navi12_rlc.bin new file mode 100644 index 0000000..1ddbd47 Binary files /dev/null and b/amdgpu/navi12_rlc.bin differ diff --git a/amdgpu/navi12_sdma.bin b/amdgpu/navi12_sdma.bin new file mode 100644 index 0000000..3cdb0a1 Binary files /dev/null and b/amdgpu/navi12_sdma.bin differ diff --git a/amdgpu/navi12_sdma1.bin b/amdgpu/navi12_sdma1.bin new file mode 100644 index 0000000..3dd172f Binary files /dev/null and b/amdgpu/navi12_sdma1.bin differ diff --git a/amdgpu/navi12_smc.bin b/amdgpu/navi12_smc.bin new file mode 100644 index 0000000..fba8e38 Binary files /dev/null and b/amdgpu/navi12_smc.bin differ diff --git a/amdgpu/navi12_sos.bin b/amdgpu/navi12_sos.bin new file mode 100644 index 0000000..9541677 Binary files /dev/null and b/amdgpu/navi12_sos.bin differ diff --git a/amdgpu/navi12_ta.bin b/amdgpu/navi12_ta.bin new file mode 100644 index 0000000..1eccfe1 Binary files /dev/null and b/amdgpu/navi12_ta.bin differ diff --git a/amdgpu/navi12_vcn.bin b/amdgpu/navi12_vcn.bin new file mode 100644 index 0000000..0d560b0 Binary files /dev/null and b/amdgpu/navi12_vcn.bin differ diff --git a/amdgpu/navi14_asd.bin b/amdgpu/navi14_asd.bin new file mode 100644 index 0000000..d8214a8 Binary files /dev/null and b/amdgpu/navi14_asd.bin differ diff --git a/amdgpu/navi14_ce.bin b/amdgpu/navi14_ce.bin new file mode 100644 index 0000000..9cd5210 Binary files /dev/null and b/amdgpu/navi14_ce.bin differ diff --git a/amdgpu/navi14_ce_wks.bin b/amdgpu/navi14_ce_wks.bin new file mode 100644 index 0000000..c46548c Binary files /dev/null and b/amdgpu/navi14_ce_wks.bin differ diff --git a/amdgpu/navi14_gpu_info.bin b/amdgpu/navi14_gpu_info.bin new file mode 100644 index 0000000..4105305 Binary files /dev/null and b/amdgpu/navi14_gpu_info.bin differ diff --git a/amdgpu/navi14_me.bin b/amdgpu/navi14_me.bin new file mode 100644 index 0000000..34c371c Binary files /dev/null and b/amdgpu/navi14_me.bin differ diff --git a/amdgpu/navi14_me_wks.bin b/amdgpu/navi14_me_wks.bin new file mode 100644 index 0000000..ee62561 Binary files /dev/null and b/amdgpu/navi14_me_wks.bin differ diff --git a/amdgpu/navi14_mec.bin b/amdgpu/navi14_mec.bin new file mode 100644 index 0000000..841f142 Binary files /dev/null and b/amdgpu/navi14_mec.bin differ diff --git a/amdgpu/navi14_mec2.bin b/amdgpu/navi14_mec2.bin new file mode 100644 index 0000000..841f142 Binary files /dev/null and b/amdgpu/navi14_mec2.bin differ diff --git a/amdgpu/navi14_mec2_wks.bin b/amdgpu/navi14_mec2_wks.bin new file mode 100644 index 0000000..78468b4 Binary files /dev/null and b/amdgpu/navi14_mec2_wks.bin differ diff --git a/amdgpu/navi14_mec_wks.bin b/amdgpu/navi14_mec_wks.bin new file mode 100644 index 0000000..78468b4 Binary files /dev/null and b/amdgpu/navi14_mec_wks.bin differ diff --git a/amdgpu/navi14_pfp.bin b/amdgpu/navi14_pfp.bin new file mode 100644 index 0000000..868215f Binary files /dev/null and b/amdgpu/navi14_pfp.bin differ diff --git a/amdgpu/navi14_pfp_wks.bin b/amdgpu/navi14_pfp_wks.bin new file mode 100644 index 0000000..3fe36d7 Binary files /dev/null and b/amdgpu/navi14_pfp_wks.bin differ diff --git a/amdgpu/navi14_rlc.bin b/amdgpu/navi14_rlc.bin new file mode 100644 index 0000000..3c74590 Binary files /dev/null and b/amdgpu/navi14_rlc.bin differ diff --git a/amdgpu/navi14_sdma.bin b/amdgpu/navi14_sdma.bin new file mode 100644 index 0000000..7c4fd48 Binary files /dev/null and b/amdgpu/navi14_sdma.bin differ diff --git a/amdgpu/navi14_sdma1.bin b/amdgpu/navi14_sdma1.bin new file mode 100644 index 0000000..932be60 Binary files /dev/null and b/amdgpu/navi14_sdma1.bin differ diff --git a/amdgpu/navi14_smc.bin b/amdgpu/navi14_smc.bin new file mode 100644 index 0000000..baf52b2 Binary files /dev/null and b/amdgpu/navi14_smc.bin differ diff --git a/amdgpu/navi14_sos.bin b/amdgpu/navi14_sos.bin new file mode 100644 index 0000000..8ea060d Binary files /dev/null and b/amdgpu/navi14_sos.bin differ diff --git a/amdgpu/navi14_ta.bin b/amdgpu/navi14_ta.bin new file mode 100644 index 0000000..1eccfe1 Binary files /dev/null and b/amdgpu/navi14_ta.bin differ diff --git a/amdgpu/navi14_vcn.bin b/amdgpu/navi14_vcn.bin new file mode 100644 index 0000000..0d560b0 Binary files /dev/null and b/amdgpu/navi14_vcn.bin differ diff --git a/amdgpu/navy_flounder_ce.bin b/amdgpu/navy_flounder_ce.bin new file mode 100644 index 0000000..b469d5b Binary files /dev/null and b/amdgpu/navy_flounder_ce.bin differ diff --git a/amdgpu/navy_flounder_dmcub.bin b/amdgpu/navy_flounder_dmcub.bin new file mode 100644 index 0000000..ced9b96 Binary files /dev/null and b/amdgpu/navy_flounder_dmcub.bin differ diff --git a/amdgpu/navy_flounder_me.bin b/amdgpu/navy_flounder_me.bin new file mode 100644 index 0000000..6a62dd8 Binary files /dev/null and b/amdgpu/navy_flounder_me.bin differ diff --git a/amdgpu/navy_flounder_mec.bin b/amdgpu/navy_flounder_mec.bin new file mode 100644 index 0000000..27bac7b Binary files /dev/null and b/amdgpu/navy_flounder_mec.bin differ diff --git a/amdgpu/navy_flounder_mec2.bin b/amdgpu/navy_flounder_mec2.bin new file mode 100644 index 0000000..27bac7b Binary files /dev/null and b/amdgpu/navy_flounder_mec2.bin differ diff --git a/amdgpu/navy_flounder_pfp.bin b/amdgpu/navy_flounder_pfp.bin new file mode 100644 index 0000000..8703a46 Binary files /dev/null and b/amdgpu/navy_flounder_pfp.bin differ diff --git a/amdgpu/navy_flounder_rlc.bin b/amdgpu/navy_flounder_rlc.bin new file mode 100644 index 0000000..11738fc Binary files /dev/null and b/amdgpu/navy_flounder_rlc.bin differ diff --git a/amdgpu/navy_flounder_sdma.bin b/amdgpu/navy_flounder_sdma.bin new file mode 100644 index 0000000..826fd78 Binary files /dev/null and b/amdgpu/navy_flounder_sdma.bin differ diff --git a/amdgpu/navy_flounder_smc.bin b/amdgpu/navy_flounder_smc.bin new file mode 100644 index 0000000..5d9500c Binary files /dev/null and b/amdgpu/navy_flounder_smc.bin differ diff --git a/amdgpu/navy_flounder_sos.bin b/amdgpu/navy_flounder_sos.bin new file mode 100644 index 0000000..5fb96ae Binary files /dev/null and b/amdgpu/navy_flounder_sos.bin differ diff --git a/amdgpu/navy_flounder_ta.bin b/amdgpu/navy_flounder_ta.bin new file mode 100644 index 0000000..888897d Binary files /dev/null and b/amdgpu/navy_flounder_ta.bin differ diff --git a/amdgpu/navy_flounder_vcn.bin b/amdgpu/navy_flounder_vcn.bin new file mode 100644 index 0000000..f932d06 Binary files /dev/null and b/amdgpu/navy_flounder_vcn.bin differ diff --git a/amdgpu/oland_ce.bin b/amdgpu/oland_ce.bin new file mode 100644 index 0000000..c2d805e Binary files /dev/null and b/amdgpu/oland_ce.bin differ diff --git a/amdgpu/oland_k_smc.bin b/amdgpu/oland_k_smc.bin new file mode 100644 index 0000000..f5b2bef Binary files /dev/null and b/amdgpu/oland_k_smc.bin differ diff --git a/amdgpu/oland_mc.bin b/amdgpu/oland_mc.bin new file mode 100644 index 0000000..3374eec Binary files /dev/null and b/amdgpu/oland_mc.bin differ diff --git a/amdgpu/oland_me.bin b/amdgpu/oland_me.bin new file mode 100644 index 0000000..e4accbf Binary files /dev/null and b/amdgpu/oland_me.bin differ diff --git a/amdgpu/oland_pfp.bin b/amdgpu/oland_pfp.bin new file mode 100644 index 0000000..93b2d3d Binary files /dev/null and b/amdgpu/oland_pfp.bin differ diff --git a/amdgpu/oland_rlc.bin b/amdgpu/oland_rlc.bin new file mode 100644 index 0000000..eb6ac49 Binary files /dev/null and b/amdgpu/oland_rlc.bin differ diff --git a/amdgpu/oland_smc.bin b/amdgpu/oland_smc.bin new file mode 100644 index 0000000..faab678 Binary files /dev/null and b/amdgpu/oland_smc.bin differ diff --git a/amdgpu/oland_uvd.bin b/amdgpu/oland_uvd.bin new file mode 100644 index 0000000..b0a8f34 Binary files /dev/null and b/amdgpu/oland_uvd.bin differ diff --git a/amdgpu/picasso_asd.bin b/amdgpu/picasso_asd.bin new file mode 100644 index 0000000..88d1f4a Binary files /dev/null and b/amdgpu/picasso_asd.bin differ diff --git a/amdgpu/picasso_ce.bin b/amdgpu/picasso_ce.bin new file mode 100644 index 0000000..d06b96c Binary files /dev/null and b/amdgpu/picasso_ce.bin differ diff --git a/amdgpu/picasso_gpu_info.bin b/amdgpu/picasso_gpu_info.bin new file mode 100644 index 0000000..0351374 Binary files /dev/null and b/amdgpu/picasso_gpu_info.bin differ diff --git a/amdgpu/picasso_me.bin b/amdgpu/picasso_me.bin new file mode 100644 index 0000000..f3019b0 Binary files /dev/null and b/amdgpu/picasso_me.bin differ diff --git a/amdgpu/picasso_mec.bin b/amdgpu/picasso_mec.bin new file mode 100644 index 0000000..62be755 Binary files /dev/null and b/amdgpu/picasso_mec.bin differ diff --git a/amdgpu/picasso_mec2.bin b/amdgpu/picasso_mec2.bin new file mode 100644 index 0000000..62be755 Binary files /dev/null and b/amdgpu/picasso_mec2.bin differ diff --git a/amdgpu/picasso_pfp.bin b/amdgpu/picasso_pfp.bin new file mode 100644 index 0000000..32b9c93 Binary files /dev/null and b/amdgpu/picasso_pfp.bin differ diff --git a/amdgpu/picasso_rlc.bin b/amdgpu/picasso_rlc.bin new file mode 100644 index 0000000..ce19dbc Binary files /dev/null and b/amdgpu/picasso_rlc.bin differ diff --git a/amdgpu/picasso_rlc_am4.bin b/amdgpu/picasso_rlc_am4.bin new file mode 100644 index 0000000..4db9d33 Binary files /dev/null and b/amdgpu/picasso_rlc_am4.bin differ diff --git a/amdgpu/picasso_sdma.bin b/amdgpu/picasso_sdma.bin new file mode 100644 index 0000000..f0aa630 Binary files /dev/null and b/amdgpu/picasso_sdma.bin differ diff --git a/amdgpu/picasso_ta.bin b/amdgpu/picasso_ta.bin new file mode 100644 index 0000000..8d2fb02 Binary files /dev/null and b/amdgpu/picasso_ta.bin differ diff --git a/amdgpu/picasso_vcn.bin b/amdgpu/picasso_vcn.bin new file mode 100644 index 0000000..3c5e7e3 Binary files /dev/null and b/amdgpu/picasso_vcn.bin differ diff --git a/amdgpu/pitcairn_ce.bin b/amdgpu/pitcairn_ce.bin new file mode 100644 index 0000000..c2d805e Binary files /dev/null and b/amdgpu/pitcairn_ce.bin differ diff --git a/amdgpu/pitcairn_k_smc.bin b/amdgpu/pitcairn_k_smc.bin new file mode 100644 index 0000000..7c43550 Binary files /dev/null and b/amdgpu/pitcairn_k_smc.bin differ diff --git a/amdgpu/pitcairn_mc.bin b/amdgpu/pitcairn_mc.bin new file mode 100644 index 0000000..269e788 Binary files /dev/null and b/amdgpu/pitcairn_mc.bin differ diff --git a/amdgpu/pitcairn_me.bin b/amdgpu/pitcairn_me.bin new file mode 100644 index 0000000..e4accbf Binary files /dev/null and b/amdgpu/pitcairn_me.bin differ diff --git a/amdgpu/pitcairn_pfp.bin b/amdgpu/pitcairn_pfp.bin new file mode 100644 index 0000000..c5c4a58 Binary files /dev/null and b/amdgpu/pitcairn_pfp.bin differ diff --git a/amdgpu/pitcairn_rlc.bin b/amdgpu/pitcairn_rlc.bin new file mode 100644 index 0000000..6f19550 Binary files /dev/null and b/amdgpu/pitcairn_rlc.bin differ diff --git a/amdgpu/pitcairn_smc.bin b/amdgpu/pitcairn_smc.bin new file mode 100644 index 0000000..e257551 Binary files /dev/null and b/amdgpu/pitcairn_smc.bin differ diff --git a/amdgpu/pitcairn_uvd.bin b/amdgpu/pitcairn_uvd.bin new file mode 100644 index 0000000..b0a8f34 Binary files /dev/null and b/amdgpu/pitcairn_uvd.bin differ diff --git a/amdgpu/polaris10_ce.bin b/amdgpu/polaris10_ce.bin new file mode 100644 index 0000000..ce1bf03 Binary files /dev/null and b/amdgpu/polaris10_ce.bin differ diff --git a/amdgpu/polaris10_ce_2.bin b/amdgpu/polaris10_ce_2.bin new file mode 100644 index 0000000..e386a17 Binary files /dev/null and b/amdgpu/polaris10_ce_2.bin differ diff --git a/amdgpu/polaris10_k2_smc.bin b/amdgpu/polaris10_k2_smc.bin new file mode 100644 index 0000000..8c51540 Binary files /dev/null and b/amdgpu/polaris10_k2_smc.bin differ diff --git a/amdgpu/polaris10_k_mc.bin b/amdgpu/polaris10_k_mc.bin new file mode 100644 index 0000000..017072e Binary files /dev/null and b/amdgpu/polaris10_k_mc.bin differ diff --git a/amdgpu/polaris10_k_smc.bin b/amdgpu/polaris10_k_smc.bin new file mode 100644 index 0000000..248d0ca Binary files /dev/null and b/amdgpu/polaris10_k_smc.bin differ diff --git a/amdgpu/polaris10_mc.bin b/amdgpu/polaris10_mc.bin new file mode 100644 index 0000000..be9e7a5 Binary files /dev/null and b/amdgpu/polaris10_mc.bin differ diff --git a/amdgpu/polaris10_me.bin b/amdgpu/polaris10_me.bin new file mode 100644 index 0000000..c134ff6 Binary files /dev/null and b/amdgpu/polaris10_me.bin differ diff --git a/amdgpu/polaris10_me_2.bin b/amdgpu/polaris10_me_2.bin new file mode 100644 index 0000000..986a644 Binary files /dev/null and b/amdgpu/polaris10_me_2.bin differ diff --git a/amdgpu/polaris10_mec.bin b/amdgpu/polaris10_mec.bin new file mode 100644 index 0000000..05be773 Binary files /dev/null and b/amdgpu/polaris10_mec.bin differ diff --git a/amdgpu/polaris10_mec2.bin b/amdgpu/polaris10_mec2.bin new file mode 100644 index 0000000..05be773 Binary files /dev/null and b/amdgpu/polaris10_mec2.bin differ diff --git a/amdgpu/polaris10_mec2_2.bin b/amdgpu/polaris10_mec2_2.bin new file mode 100644 index 0000000..0d85c18 Binary files /dev/null and b/amdgpu/polaris10_mec2_2.bin differ diff --git a/amdgpu/polaris10_mec_2.bin b/amdgpu/polaris10_mec_2.bin new file mode 100644 index 0000000..c9536e5 Binary files /dev/null and b/amdgpu/polaris10_mec_2.bin differ diff --git a/amdgpu/polaris10_pfp.bin b/amdgpu/polaris10_pfp.bin new file mode 100644 index 0000000..75f789a Binary files /dev/null and b/amdgpu/polaris10_pfp.bin differ diff --git a/amdgpu/polaris10_pfp_2.bin b/amdgpu/polaris10_pfp_2.bin new file mode 100644 index 0000000..67e1c9e Binary files /dev/null and b/amdgpu/polaris10_pfp_2.bin differ diff --git a/amdgpu/polaris10_rlc.bin b/amdgpu/polaris10_rlc.bin new file mode 100644 index 0000000..020777d Binary files /dev/null and b/amdgpu/polaris10_rlc.bin differ diff --git a/amdgpu/polaris10_sdma.bin b/amdgpu/polaris10_sdma.bin new file mode 100644 index 0000000..270806e Binary files /dev/null and b/amdgpu/polaris10_sdma.bin differ diff --git a/amdgpu/polaris10_sdma1.bin b/amdgpu/polaris10_sdma1.bin new file mode 100644 index 0000000..d4ac393 Binary files /dev/null and b/amdgpu/polaris10_sdma1.bin differ diff --git a/amdgpu/polaris10_smc.bin b/amdgpu/polaris10_smc.bin new file mode 100644 index 0000000..fe26210 Binary files /dev/null and b/amdgpu/polaris10_smc.bin differ diff --git a/amdgpu/polaris10_smc_sk.bin b/amdgpu/polaris10_smc_sk.bin new file mode 100644 index 0000000..629ea81 Binary files /dev/null and b/amdgpu/polaris10_smc_sk.bin differ diff --git a/amdgpu/polaris10_uvd.bin b/amdgpu/polaris10_uvd.bin new file mode 100644 index 0000000..a20d279 Binary files /dev/null and b/amdgpu/polaris10_uvd.bin differ diff --git a/amdgpu/polaris10_vce.bin b/amdgpu/polaris10_vce.bin new file mode 100644 index 0000000..411a83a Binary files /dev/null and b/amdgpu/polaris10_vce.bin differ diff --git a/amdgpu/polaris11_ce.bin b/amdgpu/polaris11_ce.bin new file mode 100644 index 0000000..ce1bf03 Binary files /dev/null and b/amdgpu/polaris11_ce.bin differ diff --git a/amdgpu/polaris11_ce_2.bin b/amdgpu/polaris11_ce_2.bin new file mode 100644 index 0000000..e386a17 Binary files /dev/null and b/amdgpu/polaris11_ce_2.bin differ diff --git a/amdgpu/polaris11_k2_smc.bin b/amdgpu/polaris11_k2_smc.bin new file mode 100644 index 0000000..ebd27a1 Binary files /dev/null and b/amdgpu/polaris11_k2_smc.bin differ diff --git a/amdgpu/polaris11_k_mc.bin b/amdgpu/polaris11_k_mc.bin new file mode 100644 index 0000000..195d644 Binary files /dev/null and b/amdgpu/polaris11_k_mc.bin differ diff --git a/amdgpu/polaris11_k_smc.bin b/amdgpu/polaris11_k_smc.bin new file mode 100644 index 0000000..cc66480 Binary files /dev/null and b/amdgpu/polaris11_k_smc.bin differ diff --git a/amdgpu/polaris11_mc.bin b/amdgpu/polaris11_mc.bin new file mode 100644 index 0000000..8df78fe Binary files /dev/null and b/amdgpu/polaris11_mc.bin differ diff --git a/amdgpu/polaris11_me.bin b/amdgpu/polaris11_me.bin new file mode 100644 index 0000000..1ba890b Binary files /dev/null and b/amdgpu/polaris11_me.bin differ diff --git a/amdgpu/polaris11_me_2.bin b/amdgpu/polaris11_me_2.bin new file mode 100644 index 0000000..ddf40e6 Binary files /dev/null and b/amdgpu/polaris11_me_2.bin differ diff --git a/amdgpu/polaris11_mec.bin b/amdgpu/polaris11_mec.bin new file mode 100644 index 0000000..6889e0c Binary files /dev/null and b/amdgpu/polaris11_mec.bin differ diff --git a/amdgpu/polaris11_mec2.bin b/amdgpu/polaris11_mec2.bin new file mode 100644 index 0000000..6889e0c Binary files /dev/null and b/amdgpu/polaris11_mec2.bin differ diff --git a/amdgpu/polaris11_mec2_2.bin b/amdgpu/polaris11_mec2_2.bin new file mode 100644 index 0000000..2b28fa8 Binary files /dev/null and b/amdgpu/polaris11_mec2_2.bin differ diff --git a/amdgpu/polaris11_mec_2.bin b/amdgpu/polaris11_mec_2.bin new file mode 100644 index 0000000..38e0ae2 Binary files /dev/null and b/amdgpu/polaris11_mec_2.bin differ diff --git a/amdgpu/polaris11_pfp.bin b/amdgpu/polaris11_pfp.bin new file mode 100644 index 0000000..5314e0c Binary files /dev/null and b/amdgpu/polaris11_pfp.bin differ diff --git a/amdgpu/polaris11_pfp_2.bin b/amdgpu/polaris11_pfp_2.bin new file mode 100644 index 0000000..7333581 Binary files /dev/null and b/amdgpu/polaris11_pfp_2.bin differ diff --git a/amdgpu/polaris11_rlc.bin b/amdgpu/polaris11_rlc.bin new file mode 100644 index 0000000..7582c66 Binary files /dev/null and b/amdgpu/polaris11_rlc.bin differ diff --git a/amdgpu/polaris11_sdma.bin b/amdgpu/polaris11_sdma.bin new file mode 100644 index 0000000..270806e Binary files /dev/null and b/amdgpu/polaris11_sdma.bin differ diff --git a/amdgpu/polaris11_sdma1.bin b/amdgpu/polaris11_sdma1.bin new file mode 100644 index 0000000..d4ac393 Binary files /dev/null and b/amdgpu/polaris11_sdma1.bin differ diff --git a/amdgpu/polaris11_smc.bin b/amdgpu/polaris11_smc.bin new file mode 100644 index 0000000..033a158 Binary files /dev/null and b/amdgpu/polaris11_smc.bin differ diff --git a/amdgpu/polaris11_smc_sk.bin b/amdgpu/polaris11_smc_sk.bin new file mode 100644 index 0000000..7e5b580 Binary files /dev/null and b/amdgpu/polaris11_smc_sk.bin differ diff --git a/amdgpu/polaris11_uvd.bin b/amdgpu/polaris11_uvd.bin new file mode 100644 index 0000000..a20d279 Binary files /dev/null and b/amdgpu/polaris11_uvd.bin differ diff --git a/amdgpu/polaris11_vce.bin b/amdgpu/polaris11_vce.bin new file mode 100644 index 0000000..411a83a Binary files /dev/null and b/amdgpu/polaris11_vce.bin differ diff --git a/amdgpu/polaris12_32_mc.bin b/amdgpu/polaris12_32_mc.bin new file mode 100644 index 0000000..e107d28 Binary files /dev/null and b/amdgpu/polaris12_32_mc.bin differ diff --git a/amdgpu/polaris12_ce.bin b/amdgpu/polaris12_ce.bin new file mode 100644 index 0000000..3896711 Binary files /dev/null and b/amdgpu/polaris12_ce.bin differ diff --git a/amdgpu/polaris12_ce_2.bin b/amdgpu/polaris12_ce_2.bin new file mode 100644 index 0000000..71acd11 Binary files /dev/null and b/amdgpu/polaris12_ce_2.bin differ diff --git a/amdgpu/polaris12_k_mc.bin b/amdgpu/polaris12_k_mc.bin new file mode 100644 index 0000000..f16e706 Binary files /dev/null and b/amdgpu/polaris12_k_mc.bin differ diff --git a/amdgpu/polaris12_k_smc.bin b/amdgpu/polaris12_k_smc.bin new file mode 100644 index 0000000..163fb38 Binary files /dev/null and b/amdgpu/polaris12_k_smc.bin differ diff --git a/amdgpu/polaris12_mc.bin b/amdgpu/polaris12_mc.bin new file mode 100644 index 0000000..ede99ea Binary files /dev/null and b/amdgpu/polaris12_mc.bin differ diff --git a/amdgpu/polaris12_me.bin b/amdgpu/polaris12_me.bin new file mode 100644 index 0000000..ae0cee2 Binary files /dev/null and b/amdgpu/polaris12_me.bin differ diff --git a/amdgpu/polaris12_me_2.bin b/amdgpu/polaris12_me_2.bin new file mode 100644 index 0000000..58429d7 Binary files /dev/null and b/amdgpu/polaris12_me_2.bin differ diff --git a/amdgpu/polaris12_mec.bin b/amdgpu/polaris12_mec.bin new file mode 100644 index 0000000..ee2e519 Binary files /dev/null and b/amdgpu/polaris12_mec.bin differ diff --git a/amdgpu/polaris12_mec2.bin b/amdgpu/polaris12_mec2.bin new file mode 100644 index 0000000..ee2e519 Binary files /dev/null and b/amdgpu/polaris12_mec2.bin differ diff --git a/amdgpu/polaris12_mec2_2.bin b/amdgpu/polaris12_mec2_2.bin new file mode 100644 index 0000000..cd12a44 Binary files /dev/null and b/amdgpu/polaris12_mec2_2.bin differ diff --git a/amdgpu/polaris12_mec_2.bin b/amdgpu/polaris12_mec_2.bin new file mode 100644 index 0000000..9c3bc7e Binary files /dev/null and b/amdgpu/polaris12_mec_2.bin differ diff --git a/amdgpu/polaris12_pfp.bin b/amdgpu/polaris12_pfp.bin new file mode 100644 index 0000000..8f9da39 Binary files /dev/null and b/amdgpu/polaris12_pfp.bin differ diff --git a/amdgpu/polaris12_pfp_2.bin b/amdgpu/polaris12_pfp_2.bin new file mode 100644 index 0000000..a0e280a Binary files /dev/null and b/amdgpu/polaris12_pfp_2.bin differ diff --git a/amdgpu/polaris12_rlc.bin b/amdgpu/polaris12_rlc.bin new file mode 100644 index 0000000..dd6fef5 Binary files /dev/null and b/amdgpu/polaris12_rlc.bin differ diff --git a/amdgpu/polaris12_sdma.bin b/amdgpu/polaris12_sdma.bin new file mode 100644 index 0000000..270806e Binary files /dev/null and b/amdgpu/polaris12_sdma.bin differ diff --git a/amdgpu/polaris12_sdma1.bin b/amdgpu/polaris12_sdma1.bin new file mode 100644 index 0000000..d4ac393 Binary files /dev/null and b/amdgpu/polaris12_sdma1.bin differ diff --git a/amdgpu/polaris12_smc.bin b/amdgpu/polaris12_smc.bin new file mode 100644 index 0000000..81c8b71 Binary files /dev/null and b/amdgpu/polaris12_smc.bin differ diff --git a/amdgpu/polaris12_uvd.bin b/amdgpu/polaris12_uvd.bin new file mode 100644 index 0000000..a20d279 Binary files /dev/null and b/amdgpu/polaris12_uvd.bin differ diff --git a/amdgpu/polaris12_vce.bin b/amdgpu/polaris12_vce.bin new file mode 100644 index 0000000..411a83a Binary files /dev/null and b/amdgpu/polaris12_vce.bin differ diff --git a/amdgpu/psp_13_0_0_sos.bin b/amdgpu/psp_13_0_0_sos.bin new file mode 100644 index 0000000..faf90b0 Binary files /dev/null and b/amdgpu/psp_13_0_0_sos.bin differ diff --git a/amdgpu/psp_13_0_0_ta.bin b/amdgpu/psp_13_0_0_ta.bin new file mode 100644 index 0000000..673e3c3 Binary files /dev/null and b/amdgpu/psp_13_0_0_ta.bin differ diff --git a/amdgpu/psp_13_0_11_ta.bin b/amdgpu/psp_13_0_11_ta.bin new file mode 100644 index 0000000..70cb6a5 Binary files /dev/null and b/amdgpu/psp_13_0_11_ta.bin differ diff --git a/amdgpu/psp_13_0_11_toc.bin b/amdgpu/psp_13_0_11_toc.bin new file mode 100644 index 0000000..301d671 Binary files /dev/null and b/amdgpu/psp_13_0_11_toc.bin differ diff --git a/amdgpu/psp_13_0_4_ta.bin b/amdgpu/psp_13_0_4_ta.bin new file mode 100644 index 0000000..70cb6a5 Binary files /dev/null and b/amdgpu/psp_13_0_4_ta.bin differ diff --git a/amdgpu/psp_13_0_4_toc.bin b/amdgpu/psp_13_0_4_toc.bin new file mode 100644 index 0000000..301d671 Binary files /dev/null and b/amdgpu/psp_13_0_4_toc.bin differ diff --git a/amdgpu/psp_13_0_5_asd.bin b/amdgpu/psp_13_0_5_asd.bin new file mode 100644 index 0000000..03799b7 Binary files /dev/null and b/amdgpu/psp_13_0_5_asd.bin differ diff --git a/amdgpu/psp_13_0_5_ta.bin b/amdgpu/psp_13_0_5_ta.bin new file mode 100644 index 0000000..53d27b8 Binary files /dev/null and b/amdgpu/psp_13_0_5_ta.bin differ diff --git a/amdgpu/psp_13_0_5_toc.bin b/amdgpu/psp_13_0_5_toc.bin new file mode 100644 index 0000000..bf93a1a Binary files /dev/null and b/amdgpu/psp_13_0_5_toc.bin differ diff --git a/amdgpu/psp_13_0_7_sos.bin b/amdgpu/psp_13_0_7_sos.bin new file mode 100644 index 0000000..426cb22 Binary files /dev/null and b/amdgpu/psp_13_0_7_sos.bin differ diff --git a/amdgpu/psp_13_0_7_ta.bin b/amdgpu/psp_13_0_7_ta.bin new file mode 100644 index 0000000..69db0b5 Binary files /dev/null and b/amdgpu/psp_13_0_7_ta.bin differ diff --git a/amdgpu/psp_13_0_8_asd.bin b/amdgpu/psp_13_0_8_asd.bin new file mode 100644 index 0000000..2f8bd03 Binary files /dev/null and b/amdgpu/psp_13_0_8_asd.bin differ diff --git a/amdgpu/psp_13_0_8_ta.bin b/amdgpu/psp_13_0_8_ta.bin new file mode 100644 index 0000000..53d27b8 Binary files /dev/null and b/amdgpu/psp_13_0_8_ta.bin differ diff --git a/amdgpu/psp_13_0_8_toc.bin b/amdgpu/psp_13_0_8_toc.bin new file mode 100644 index 0000000..68cfdfe Binary files /dev/null and b/amdgpu/psp_13_0_8_toc.bin differ diff --git a/amdgpu/raven2_asd.bin b/amdgpu/raven2_asd.bin new file mode 100644 index 0000000..1c342e6 Binary files /dev/null and b/amdgpu/raven2_asd.bin differ diff --git a/amdgpu/raven2_ce.bin b/amdgpu/raven2_ce.bin new file mode 100644 index 0000000..c32d1a7 Binary files /dev/null and b/amdgpu/raven2_ce.bin differ diff --git a/amdgpu/raven2_gpu_info.bin b/amdgpu/raven2_gpu_info.bin new file mode 100644 index 0000000..4c361f5 Binary files /dev/null and b/amdgpu/raven2_gpu_info.bin differ diff --git a/amdgpu/raven2_me.bin b/amdgpu/raven2_me.bin new file mode 100644 index 0000000..5a2cca0 Binary files /dev/null and b/amdgpu/raven2_me.bin differ diff --git a/amdgpu/raven2_mec.bin b/amdgpu/raven2_mec.bin new file mode 100644 index 0000000..3dd9a9b Binary files /dev/null and b/amdgpu/raven2_mec.bin differ diff --git a/amdgpu/raven2_mec2.bin b/amdgpu/raven2_mec2.bin new file mode 100644 index 0000000..3dd9a9b Binary files /dev/null and b/amdgpu/raven2_mec2.bin differ diff --git a/amdgpu/raven2_pfp.bin b/amdgpu/raven2_pfp.bin new file mode 100644 index 0000000..bbe97cd Binary files /dev/null and b/amdgpu/raven2_pfp.bin differ diff --git a/amdgpu/raven2_rlc.bin b/amdgpu/raven2_rlc.bin new file mode 100644 index 0000000..6947fe1 Binary files /dev/null and b/amdgpu/raven2_rlc.bin differ diff --git a/amdgpu/raven2_sdma.bin b/amdgpu/raven2_sdma.bin new file mode 100644 index 0000000..139b955 Binary files /dev/null and b/amdgpu/raven2_sdma.bin differ diff --git a/amdgpu/raven2_ta.bin b/amdgpu/raven2_ta.bin new file mode 100644 index 0000000..d539476 Binary files /dev/null and b/amdgpu/raven2_ta.bin differ diff --git a/amdgpu/raven2_vcn.bin b/amdgpu/raven2_vcn.bin new file mode 100644 index 0000000..3c5e7e3 Binary files /dev/null and b/amdgpu/raven2_vcn.bin differ diff --git a/amdgpu/raven_asd.bin b/amdgpu/raven_asd.bin new file mode 100644 index 0000000..26ff7aa Binary files /dev/null and b/amdgpu/raven_asd.bin differ diff --git a/amdgpu/raven_ce.bin b/amdgpu/raven_ce.bin new file mode 100644 index 0000000..56ba5ec Binary files /dev/null and b/amdgpu/raven_ce.bin differ diff --git a/amdgpu/raven_dmcu.bin b/amdgpu/raven_dmcu.bin new file mode 100644 index 0000000..ba9cd62 Binary files /dev/null and b/amdgpu/raven_dmcu.bin differ diff --git a/amdgpu/raven_gpu_info.bin b/amdgpu/raven_gpu_info.bin new file mode 100644 index 0000000..0351374 Binary files /dev/null and b/amdgpu/raven_gpu_info.bin differ diff --git a/amdgpu/raven_kicker_rlc.bin b/amdgpu/raven_kicker_rlc.bin new file mode 100644 index 0000000..ce19dbc Binary files /dev/null and b/amdgpu/raven_kicker_rlc.bin differ diff --git a/amdgpu/raven_me.bin b/amdgpu/raven_me.bin new file mode 100644 index 0000000..bef7021 Binary files /dev/null and b/amdgpu/raven_me.bin differ diff --git a/amdgpu/raven_mec.bin b/amdgpu/raven_mec.bin new file mode 100644 index 0000000..664d4f7 Binary files /dev/null and b/amdgpu/raven_mec.bin differ diff --git a/amdgpu/raven_mec2.bin b/amdgpu/raven_mec2.bin new file mode 100644 index 0000000..664d4f7 Binary files /dev/null and b/amdgpu/raven_mec2.bin differ diff --git a/amdgpu/raven_pfp.bin b/amdgpu/raven_pfp.bin new file mode 100644 index 0000000..c15cfe3 Binary files /dev/null and b/amdgpu/raven_pfp.bin differ diff --git a/amdgpu/raven_rlc.bin b/amdgpu/raven_rlc.bin new file mode 100644 index 0000000..360ef8a Binary files /dev/null and b/amdgpu/raven_rlc.bin differ diff --git a/amdgpu/raven_sdma.bin b/amdgpu/raven_sdma.bin new file mode 100644 index 0000000..f0aa630 Binary files /dev/null and b/amdgpu/raven_sdma.bin differ diff --git a/amdgpu/raven_ta.bin b/amdgpu/raven_ta.bin new file mode 100644 index 0000000..09d66df Binary files /dev/null and b/amdgpu/raven_ta.bin differ diff --git a/amdgpu/raven_vcn.bin b/amdgpu/raven_vcn.bin new file mode 100644 index 0000000..3c5e7e3 Binary files /dev/null and b/amdgpu/raven_vcn.bin differ diff --git a/amdgpu/renoir_asd.bin b/amdgpu/renoir_asd.bin new file mode 100644 index 0000000..54855a2 Binary files /dev/null and b/amdgpu/renoir_asd.bin differ diff --git a/amdgpu/renoir_ce.bin b/amdgpu/renoir_ce.bin new file mode 100644 index 0000000..9eca043 Binary files /dev/null and b/amdgpu/renoir_ce.bin differ diff --git a/amdgpu/renoir_dmcub.bin b/amdgpu/renoir_dmcub.bin new file mode 100644 index 0000000..49126da Binary files /dev/null and b/amdgpu/renoir_dmcub.bin differ diff --git a/amdgpu/renoir_gpu_info.bin b/amdgpu/renoir_gpu_info.bin new file mode 100644 index 0000000..d527dba Binary files /dev/null and b/amdgpu/renoir_gpu_info.bin differ diff --git a/amdgpu/renoir_me.bin b/amdgpu/renoir_me.bin new file mode 100644 index 0000000..2cc697e Binary files /dev/null and b/amdgpu/renoir_me.bin differ diff --git a/amdgpu/renoir_mec.bin b/amdgpu/renoir_mec.bin new file mode 100644 index 0000000..b9aeb46 Binary files /dev/null and b/amdgpu/renoir_mec.bin differ diff --git a/amdgpu/renoir_mec2.bin b/amdgpu/renoir_mec2.bin new file mode 100644 index 0000000..b9aeb46 Binary files /dev/null and b/amdgpu/renoir_mec2.bin differ diff --git a/amdgpu/renoir_pfp.bin b/amdgpu/renoir_pfp.bin new file mode 100644 index 0000000..b88a160 Binary files /dev/null and b/amdgpu/renoir_pfp.bin differ diff --git a/amdgpu/renoir_rlc.bin b/amdgpu/renoir_rlc.bin new file mode 100644 index 0000000..9672b28 Binary files /dev/null and b/amdgpu/renoir_rlc.bin differ diff --git a/amdgpu/renoir_sdma.bin b/amdgpu/renoir_sdma.bin new file mode 100644 index 0000000..d9f2f59 Binary files /dev/null and b/amdgpu/renoir_sdma.bin differ diff --git a/amdgpu/renoir_ta.bin b/amdgpu/renoir_ta.bin new file mode 100644 index 0000000..0102c17 Binary files /dev/null and b/amdgpu/renoir_ta.bin differ diff --git a/amdgpu/renoir_vcn.bin b/amdgpu/renoir_vcn.bin new file mode 100644 index 0000000..5d47fd4 Binary files /dev/null and b/amdgpu/renoir_vcn.bin differ diff --git a/amdgpu/sdma_5_2_6.bin b/amdgpu/sdma_5_2_6.bin new file mode 100644 index 0000000..876cd90 Binary files /dev/null and b/amdgpu/sdma_5_2_6.bin differ diff --git a/amdgpu/sdma_5_2_7.bin b/amdgpu/sdma_5_2_7.bin new file mode 100644 index 0000000..abbdf53 Binary files /dev/null and b/amdgpu/sdma_5_2_7.bin differ diff --git a/amdgpu/sdma_6_0_0.bin b/amdgpu/sdma_6_0_0.bin new file mode 100644 index 0000000..a8c958d Binary files /dev/null and b/amdgpu/sdma_6_0_0.bin differ diff --git a/amdgpu/sdma_6_0_1.bin b/amdgpu/sdma_6_0_1.bin new file mode 100644 index 0000000..f3bc999 Binary files /dev/null and b/amdgpu/sdma_6_0_1.bin differ diff --git a/amdgpu/sdma_6_0_2.bin b/amdgpu/sdma_6_0_2.bin new file mode 100644 index 0000000..c059e6a Binary files /dev/null and b/amdgpu/sdma_6_0_2.bin differ diff --git a/amdgpu/si58_mc.bin b/amdgpu/si58_mc.bin new file mode 100644 index 0000000..888398d Binary files /dev/null and b/amdgpu/si58_mc.bin differ diff --git a/amdgpu/sienna_cichlid_ce.bin b/amdgpu/sienna_cichlid_ce.bin new file mode 100644 index 0000000..79b99a7 Binary files /dev/null and b/amdgpu/sienna_cichlid_ce.bin differ diff --git a/amdgpu/sienna_cichlid_dmcub.bin b/amdgpu/sienna_cichlid_dmcub.bin new file mode 100644 index 0000000..ced9b96 Binary files /dev/null and b/amdgpu/sienna_cichlid_dmcub.bin differ diff --git a/amdgpu/sienna_cichlid_me.bin b/amdgpu/sienna_cichlid_me.bin new file mode 100644 index 0000000..235cc87 Binary files /dev/null and b/amdgpu/sienna_cichlid_me.bin differ diff --git a/amdgpu/sienna_cichlid_mec.bin b/amdgpu/sienna_cichlid_mec.bin new file mode 100644 index 0000000..f0787e8 Binary files /dev/null and b/amdgpu/sienna_cichlid_mec.bin differ diff --git a/amdgpu/sienna_cichlid_mec2.bin b/amdgpu/sienna_cichlid_mec2.bin new file mode 100644 index 0000000..f0787e8 Binary files /dev/null and b/amdgpu/sienna_cichlid_mec2.bin differ diff --git a/amdgpu/sienna_cichlid_pfp.bin b/amdgpu/sienna_cichlid_pfp.bin new file mode 100644 index 0000000..a1e689f Binary files /dev/null and b/amdgpu/sienna_cichlid_pfp.bin differ diff --git a/amdgpu/sienna_cichlid_rlc.bin b/amdgpu/sienna_cichlid_rlc.bin new file mode 100644 index 0000000..1a58d7c Binary files /dev/null and b/amdgpu/sienna_cichlid_rlc.bin differ diff --git a/amdgpu/sienna_cichlid_sdma.bin b/amdgpu/sienna_cichlid_sdma.bin new file mode 100644 index 0000000..7dcdd0f Binary files /dev/null and b/amdgpu/sienna_cichlid_sdma.bin differ diff --git a/amdgpu/sienna_cichlid_smc.bin b/amdgpu/sienna_cichlid_smc.bin new file mode 100644 index 0000000..c8fef6b Binary files /dev/null and b/amdgpu/sienna_cichlid_smc.bin differ diff --git a/amdgpu/sienna_cichlid_sos.bin b/amdgpu/sienna_cichlid_sos.bin new file mode 100644 index 0000000..f0252c0 Binary files /dev/null and b/amdgpu/sienna_cichlid_sos.bin differ diff --git a/amdgpu/sienna_cichlid_ta.bin b/amdgpu/sienna_cichlid_ta.bin new file mode 100644 index 0000000..51f4262 Binary files /dev/null and b/amdgpu/sienna_cichlid_ta.bin differ diff --git a/amdgpu/sienna_cichlid_vcn.bin b/amdgpu/sienna_cichlid_vcn.bin new file mode 100644 index 0000000..f932d06 Binary files /dev/null and b/amdgpu/sienna_cichlid_vcn.bin differ diff --git a/amdgpu/smu_13_0_0.bin b/amdgpu/smu_13_0_0.bin new file mode 100644 index 0000000..e5e9062 Binary files /dev/null and b/amdgpu/smu_13_0_0.bin differ diff --git a/amdgpu/smu_13_0_7.bin b/amdgpu/smu_13_0_7.bin new file mode 100644 index 0000000..268d457 Binary files /dev/null and b/amdgpu/smu_13_0_7.bin differ diff --git a/amdgpu/stoney_ce.bin b/amdgpu/stoney_ce.bin new file mode 100644 index 0000000..95439cd Binary files /dev/null and b/amdgpu/stoney_ce.bin differ diff --git a/amdgpu/stoney_me.bin b/amdgpu/stoney_me.bin new file mode 100644 index 0000000..b1c82df Binary files /dev/null and b/amdgpu/stoney_me.bin differ diff --git a/amdgpu/stoney_mec.bin b/amdgpu/stoney_mec.bin new file mode 100644 index 0000000..ecdfd69 Binary files /dev/null and b/amdgpu/stoney_mec.bin differ diff --git a/amdgpu/stoney_pfp.bin b/amdgpu/stoney_pfp.bin new file mode 100644 index 0000000..584bb78 Binary files /dev/null and b/amdgpu/stoney_pfp.bin differ diff --git a/amdgpu/stoney_rlc.bin b/amdgpu/stoney_rlc.bin new file mode 100644 index 0000000..95fb81f Binary files /dev/null and b/amdgpu/stoney_rlc.bin differ diff --git a/amdgpu/stoney_sdma.bin b/amdgpu/stoney_sdma.bin new file mode 100644 index 0000000..95663d6 Binary files /dev/null and b/amdgpu/stoney_sdma.bin differ diff --git a/amdgpu/stoney_uvd.bin b/amdgpu/stoney_uvd.bin new file mode 100644 index 0000000..51917aa Binary files /dev/null and b/amdgpu/stoney_uvd.bin differ diff --git a/amdgpu/stoney_vce.bin b/amdgpu/stoney_vce.bin new file mode 100644 index 0000000..ff54327 Binary files /dev/null and b/amdgpu/stoney_vce.bin differ diff --git a/amdgpu/tahiti_ce.bin b/amdgpu/tahiti_ce.bin new file mode 100644 index 0000000..c2d805e Binary files /dev/null and b/amdgpu/tahiti_ce.bin differ diff --git a/amdgpu/tahiti_k_smc.bin b/amdgpu/tahiti_k_smc.bin new file mode 100644 index 0000000..0b514f9 Binary files /dev/null and b/amdgpu/tahiti_k_smc.bin differ diff --git a/amdgpu/tahiti_mc.bin b/amdgpu/tahiti_mc.bin new file mode 100644 index 0000000..b5824b6 Binary files /dev/null and b/amdgpu/tahiti_mc.bin differ diff --git a/amdgpu/tahiti_me.bin b/amdgpu/tahiti_me.bin new file mode 100644 index 0000000..e4accbf Binary files /dev/null and b/amdgpu/tahiti_me.bin differ diff --git a/amdgpu/tahiti_pfp.bin b/amdgpu/tahiti_pfp.bin new file mode 100644 index 0000000..c5c4a58 Binary files /dev/null and b/amdgpu/tahiti_pfp.bin differ diff --git a/amdgpu/tahiti_rlc.bin b/amdgpu/tahiti_rlc.bin new file mode 100644 index 0000000..630c488 Binary files /dev/null and b/amdgpu/tahiti_rlc.bin differ diff --git a/amdgpu/tahiti_smc.bin b/amdgpu/tahiti_smc.bin new file mode 100644 index 0000000..eebf29c Binary files /dev/null and b/amdgpu/tahiti_smc.bin differ diff --git a/amdgpu/tahiti_uvd.bin b/amdgpu/tahiti_uvd.bin new file mode 100644 index 0000000..fe9568c Binary files /dev/null and b/amdgpu/tahiti_uvd.bin differ diff --git a/amdgpu/tonga_ce.bin b/amdgpu/tonga_ce.bin new file mode 100644 index 0000000..b4b6a63 Binary files /dev/null and b/amdgpu/tonga_ce.bin differ diff --git a/amdgpu/tonga_k_smc.bin b/amdgpu/tonga_k_smc.bin new file mode 100644 index 0000000..23f00bb Binary files /dev/null and b/amdgpu/tonga_k_smc.bin differ diff --git a/amdgpu/tonga_mc.bin b/amdgpu/tonga_mc.bin new file mode 100644 index 0000000..d0e0090 Binary files /dev/null and b/amdgpu/tonga_mc.bin differ diff --git a/amdgpu/tonga_me.bin b/amdgpu/tonga_me.bin new file mode 100644 index 0000000..ccbe273 Binary files /dev/null and b/amdgpu/tonga_me.bin differ diff --git a/amdgpu/tonga_mec.bin b/amdgpu/tonga_mec.bin new file mode 100644 index 0000000..e4ade66 Binary files /dev/null and b/amdgpu/tonga_mec.bin differ diff --git a/amdgpu/tonga_mec2.bin b/amdgpu/tonga_mec2.bin new file mode 100644 index 0000000..e4ade66 Binary files /dev/null and b/amdgpu/tonga_mec2.bin differ diff --git a/amdgpu/tonga_pfp.bin b/amdgpu/tonga_pfp.bin new file mode 100644 index 0000000..9ecc486 Binary files /dev/null and b/amdgpu/tonga_pfp.bin differ diff --git a/amdgpu/tonga_rlc.bin b/amdgpu/tonga_rlc.bin new file mode 100644 index 0000000..906055a Binary files /dev/null and b/amdgpu/tonga_rlc.bin differ diff --git a/amdgpu/tonga_sdma.bin b/amdgpu/tonga_sdma.bin new file mode 100644 index 0000000..b3cbd6b Binary files /dev/null and b/amdgpu/tonga_sdma.bin differ diff --git a/amdgpu/tonga_sdma1.bin b/amdgpu/tonga_sdma1.bin new file mode 100644 index 0000000..7009b29 Binary files /dev/null and b/amdgpu/tonga_sdma1.bin differ diff --git a/amdgpu/tonga_smc.bin b/amdgpu/tonga_smc.bin new file mode 100644 index 0000000..9f066f5 Binary files /dev/null and b/amdgpu/tonga_smc.bin differ diff --git a/amdgpu/tonga_uvd.bin b/amdgpu/tonga_uvd.bin new file mode 100644 index 0000000..4e783e5 Binary files /dev/null and b/amdgpu/tonga_uvd.bin differ diff --git a/amdgpu/tonga_vce.bin b/amdgpu/tonga_vce.bin new file mode 100644 index 0000000..bed85a5 Binary files /dev/null and b/amdgpu/tonga_vce.bin differ diff --git a/amdgpu/topaz_ce.bin b/amdgpu/topaz_ce.bin new file mode 100644 index 0000000..e8af42a Binary files /dev/null and b/amdgpu/topaz_ce.bin differ diff --git a/amdgpu/topaz_k_smc.bin b/amdgpu/topaz_k_smc.bin new file mode 100644 index 0000000..b9de97a Binary files /dev/null and b/amdgpu/topaz_k_smc.bin differ diff --git a/amdgpu/topaz_mc.bin b/amdgpu/topaz_mc.bin new file mode 100644 index 0000000..0ffbfa4 Binary files /dev/null and b/amdgpu/topaz_mc.bin differ diff --git a/amdgpu/topaz_me.bin b/amdgpu/topaz_me.bin new file mode 100644 index 0000000..5b138ff Binary files /dev/null and b/amdgpu/topaz_me.bin differ diff --git a/amdgpu/topaz_mec.bin b/amdgpu/topaz_mec.bin new file mode 100644 index 0000000..38c2d8b Binary files /dev/null and b/amdgpu/topaz_mec.bin differ diff --git a/amdgpu/topaz_mec2.bin b/amdgpu/topaz_mec2.bin new file mode 100644 index 0000000..612a029 Binary files /dev/null and b/amdgpu/topaz_mec2.bin differ diff --git a/amdgpu/topaz_pfp.bin b/amdgpu/topaz_pfp.bin new file mode 100644 index 0000000..25f8241 Binary files /dev/null and b/amdgpu/topaz_pfp.bin differ diff --git a/amdgpu/topaz_rlc.bin b/amdgpu/topaz_rlc.bin new file mode 100644 index 0000000..903aeda Binary files /dev/null and b/amdgpu/topaz_rlc.bin differ diff --git a/amdgpu/topaz_sdma.bin b/amdgpu/topaz_sdma.bin new file mode 100644 index 0000000..4e0e562 Binary files /dev/null and b/amdgpu/topaz_sdma.bin differ diff --git a/amdgpu/topaz_sdma1.bin b/amdgpu/topaz_sdma1.bin new file mode 100644 index 0000000..6600b86 Binary files /dev/null and b/amdgpu/topaz_sdma1.bin differ diff --git a/amdgpu/topaz_smc.bin b/amdgpu/topaz_smc.bin new file mode 100644 index 0000000..5686b5d Binary files /dev/null and b/amdgpu/topaz_smc.bin differ diff --git a/amdgpu/vangogh_asd.bin b/amdgpu/vangogh_asd.bin new file mode 100644 index 0000000..125fcc5 Binary files /dev/null and b/amdgpu/vangogh_asd.bin differ diff --git a/amdgpu/vangogh_ce.bin b/amdgpu/vangogh_ce.bin new file mode 100644 index 0000000..db5720a Binary files /dev/null and b/amdgpu/vangogh_ce.bin differ diff --git a/amdgpu/vangogh_dmcub.bin b/amdgpu/vangogh_dmcub.bin new file mode 100644 index 0000000..3badbdf Binary files /dev/null and b/amdgpu/vangogh_dmcub.bin differ diff --git a/amdgpu/vangogh_me.bin b/amdgpu/vangogh_me.bin new file mode 100644 index 0000000..896fda6 Binary files /dev/null and b/amdgpu/vangogh_me.bin differ diff --git a/amdgpu/vangogh_mec.bin b/amdgpu/vangogh_mec.bin new file mode 100644 index 0000000..7972d99 Binary files /dev/null and b/amdgpu/vangogh_mec.bin differ diff --git a/amdgpu/vangogh_mec2.bin b/amdgpu/vangogh_mec2.bin new file mode 100644 index 0000000..7972d99 Binary files /dev/null and b/amdgpu/vangogh_mec2.bin differ diff --git a/amdgpu/vangogh_pfp.bin b/amdgpu/vangogh_pfp.bin new file mode 100644 index 0000000..feeb8e1 Binary files /dev/null and b/amdgpu/vangogh_pfp.bin differ diff --git a/amdgpu/vangogh_rlc.bin b/amdgpu/vangogh_rlc.bin new file mode 100644 index 0000000..af8c097 Binary files /dev/null and b/amdgpu/vangogh_rlc.bin differ diff --git a/amdgpu/vangogh_sdma.bin b/amdgpu/vangogh_sdma.bin new file mode 100644 index 0000000..77ceaeb Binary files /dev/null and b/amdgpu/vangogh_sdma.bin differ diff --git a/amdgpu/vangogh_toc.bin b/amdgpu/vangogh_toc.bin new file mode 100644 index 0000000..a4f575e Binary files /dev/null and b/amdgpu/vangogh_toc.bin differ diff --git a/amdgpu/vangogh_vcn.bin b/amdgpu/vangogh_vcn.bin new file mode 100644 index 0000000..748d77b Binary files /dev/null and b/amdgpu/vangogh_vcn.bin differ diff --git a/amdgpu/vcn_3_1_2.bin b/amdgpu/vcn_3_1_2.bin new file mode 100644 index 0000000..264ddf2 Binary files /dev/null and b/amdgpu/vcn_3_1_2.bin differ diff --git a/amdgpu/vcn_4_0_0.bin b/amdgpu/vcn_4_0_0.bin new file mode 100644 index 0000000..79a42b9 Binary files /dev/null and b/amdgpu/vcn_4_0_0.bin differ diff --git a/amdgpu/vcn_4_0_2.bin b/amdgpu/vcn_4_0_2.bin new file mode 100644 index 0000000..8a5a79f Binary files /dev/null and b/amdgpu/vcn_4_0_2.bin differ diff --git a/amdgpu/vcn_4_0_4.bin b/amdgpu/vcn_4_0_4.bin new file mode 100644 index 0000000..79a42b9 Binary files /dev/null and b/amdgpu/vcn_4_0_4.bin differ diff --git a/amdgpu/vega10_acg_smc.bin b/amdgpu/vega10_acg_smc.bin new file mode 100644 index 0000000..fe4a1dc Binary files /dev/null and b/amdgpu/vega10_acg_smc.bin differ diff --git a/amdgpu/vega10_asd.bin b/amdgpu/vega10_asd.bin new file mode 100644 index 0000000..3f66df6 Binary files /dev/null and b/amdgpu/vega10_asd.bin differ diff --git a/amdgpu/vega10_ce.bin b/amdgpu/vega10_ce.bin new file mode 100644 index 0000000..59b121d Binary files /dev/null and b/amdgpu/vega10_ce.bin differ diff --git a/amdgpu/vega10_gpu_info.bin b/amdgpu/vega10_gpu_info.bin new file mode 100644 index 0000000..5d8da77 Binary files /dev/null and b/amdgpu/vega10_gpu_info.bin differ diff --git a/amdgpu/vega10_me.bin b/amdgpu/vega10_me.bin new file mode 100644 index 0000000..6ea38af Binary files /dev/null and b/amdgpu/vega10_me.bin differ diff --git a/amdgpu/vega10_mec.bin b/amdgpu/vega10_mec.bin new file mode 100644 index 0000000..b0df9d3 Binary files /dev/null and b/amdgpu/vega10_mec.bin differ diff --git a/amdgpu/vega10_mec2.bin b/amdgpu/vega10_mec2.bin new file mode 100644 index 0000000..b0df9d3 Binary files /dev/null and b/amdgpu/vega10_mec2.bin differ diff --git a/amdgpu/vega10_pfp.bin b/amdgpu/vega10_pfp.bin new file mode 100644 index 0000000..0c88434 Binary files /dev/null and b/amdgpu/vega10_pfp.bin differ diff --git a/amdgpu/vega10_rlc.bin b/amdgpu/vega10_rlc.bin new file mode 100644 index 0000000..6eb9972 Binary files /dev/null and b/amdgpu/vega10_rlc.bin differ diff --git a/amdgpu/vega10_sdma.bin b/amdgpu/vega10_sdma.bin new file mode 100644 index 0000000..329ac66 Binary files /dev/null and b/amdgpu/vega10_sdma.bin differ diff --git a/amdgpu/vega10_sdma1.bin b/amdgpu/vega10_sdma1.bin new file mode 100644 index 0000000..c64a22e Binary files /dev/null and b/amdgpu/vega10_sdma1.bin differ diff --git a/amdgpu/vega10_smc.bin b/amdgpu/vega10_smc.bin new file mode 100644 index 0000000..2a28c07 Binary files /dev/null and b/amdgpu/vega10_smc.bin differ diff --git a/amdgpu/vega10_sos.bin b/amdgpu/vega10_sos.bin new file mode 100644 index 0000000..06a6aac Binary files /dev/null and b/amdgpu/vega10_sos.bin differ diff --git a/amdgpu/vega10_uvd.bin b/amdgpu/vega10_uvd.bin new file mode 100644 index 0000000..c2fcfef Binary files /dev/null and b/amdgpu/vega10_uvd.bin differ diff --git a/amdgpu/vega10_vce.bin b/amdgpu/vega10_vce.bin new file mode 100644 index 0000000..04ce28c Binary files /dev/null and b/amdgpu/vega10_vce.bin differ diff --git a/amdgpu/vega12_asd.bin b/amdgpu/vega12_asd.bin new file mode 100644 index 0000000..caafee2 Binary files /dev/null and b/amdgpu/vega12_asd.bin differ diff --git a/amdgpu/vega12_ce.bin b/amdgpu/vega12_ce.bin new file mode 100644 index 0000000..34cced7 Binary files /dev/null and b/amdgpu/vega12_ce.bin differ diff --git a/amdgpu/vega12_gpu_info.bin b/amdgpu/vega12_gpu_info.bin new file mode 100644 index 0000000..d8f5e5c Binary files /dev/null and b/amdgpu/vega12_gpu_info.bin differ diff --git a/amdgpu/vega12_me.bin b/amdgpu/vega12_me.bin new file mode 100644 index 0000000..663d398 Binary files /dev/null and b/amdgpu/vega12_me.bin differ diff --git a/amdgpu/vega12_mec.bin b/amdgpu/vega12_mec.bin new file mode 100644 index 0000000..7722300 Binary files /dev/null and b/amdgpu/vega12_mec.bin differ diff --git a/amdgpu/vega12_mec2.bin b/amdgpu/vega12_mec2.bin new file mode 100644 index 0000000..7722300 Binary files /dev/null and b/amdgpu/vega12_mec2.bin differ diff --git a/amdgpu/vega12_pfp.bin b/amdgpu/vega12_pfp.bin new file mode 100644 index 0000000..9f11c0c Binary files /dev/null and b/amdgpu/vega12_pfp.bin differ diff --git a/amdgpu/vega12_rlc.bin b/amdgpu/vega12_rlc.bin new file mode 100644 index 0000000..a3dd897 Binary files /dev/null and b/amdgpu/vega12_rlc.bin differ diff --git a/amdgpu/vega12_sdma.bin b/amdgpu/vega12_sdma.bin new file mode 100644 index 0000000..20493a2 Binary files /dev/null and b/amdgpu/vega12_sdma.bin differ diff --git a/amdgpu/vega12_sdma1.bin b/amdgpu/vega12_sdma1.bin new file mode 100644 index 0000000..8d90290 Binary files /dev/null and b/amdgpu/vega12_sdma1.bin differ diff --git a/amdgpu/vega12_smc.bin b/amdgpu/vega12_smc.bin new file mode 100644 index 0000000..f127bef Binary files /dev/null and b/amdgpu/vega12_smc.bin differ diff --git a/amdgpu/vega12_sos.bin b/amdgpu/vega12_sos.bin new file mode 100644 index 0000000..091eb7b Binary files /dev/null and b/amdgpu/vega12_sos.bin differ diff --git a/amdgpu/vega12_uvd.bin b/amdgpu/vega12_uvd.bin new file mode 100644 index 0000000..02db770 Binary files /dev/null and b/amdgpu/vega12_uvd.bin differ diff --git a/amdgpu/vega12_vce.bin b/amdgpu/vega12_vce.bin new file mode 100644 index 0000000..ab5f7e1 Binary files /dev/null and b/amdgpu/vega12_vce.bin differ diff --git a/amdgpu/vega20_asd.bin b/amdgpu/vega20_asd.bin new file mode 100644 index 0000000..5de6971 Binary files /dev/null and b/amdgpu/vega20_asd.bin differ diff --git a/amdgpu/vega20_ce.bin b/amdgpu/vega20_ce.bin new file mode 100644 index 0000000..8e49c72 Binary files /dev/null and b/amdgpu/vega20_ce.bin differ diff --git a/amdgpu/vega20_me.bin b/amdgpu/vega20_me.bin new file mode 100644 index 0000000..aadefe3 Binary files /dev/null and b/amdgpu/vega20_me.bin differ diff --git a/amdgpu/vega20_mec.bin b/amdgpu/vega20_mec.bin new file mode 100644 index 0000000..0660a8c Binary files /dev/null and b/amdgpu/vega20_mec.bin differ diff --git a/amdgpu/vega20_mec2.bin b/amdgpu/vega20_mec2.bin new file mode 100644 index 0000000..0660a8c Binary files /dev/null and b/amdgpu/vega20_mec2.bin differ diff --git a/amdgpu/vega20_pfp.bin b/amdgpu/vega20_pfp.bin new file mode 100644 index 0000000..f960ba6 Binary files /dev/null and b/amdgpu/vega20_pfp.bin differ diff --git a/amdgpu/vega20_rlc.bin b/amdgpu/vega20_rlc.bin new file mode 100644 index 0000000..1009176 Binary files /dev/null and b/amdgpu/vega20_rlc.bin differ diff --git a/amdgpu/vega20_sdma.bin b/amdgpu/vega20_sdma.bin new file mode 100644 index 0000000..5e2d922 Binary files /dev/null and b/amdgpu/vega20_sdma.bin differ diff --git a/amdgpu/vega20_sdma1.bin b/amdgpu/vega20_sdma1.bin new file mode 100644 index 0000000..94274fd Binary files /dev/null and b/amdgpu/vega20_sdma1.bin differ diff --git a/amdgpu/vega20_smc.bin b/amdgpu/vega20_smc.bin new file mode 100644 index 0000000..57b77d5 Binary files /dev/null and b/amdgpu/vega20_smc.bin differ diff --git a/amdgpu/vega20_sos.bin b/amdgpu/vega20_sos.bin new file mode 100644 index 0000000..0e28927 Binary files /dev/null and b/amdgpu/vega20_sos.bin differ diff --git a/amdgpu/vega20_ta.bin b/amdgpu/vega20_ta.bin new file mode 100644 index 0000000..7ee99bb Binary files /dev/null and b/amdgpu/vega20_ta.bin differ diff --git a/amdgpu/vega20_uvd.bin b/amdgpu/vega20_uvd.bin new file mode 100644 index 0000000..1ea5129 Binary files /dev/null and b/amdgpu/vega20_uvd.bin differ diff --git a/amdgpu/vega20_vce.bin b/amdgpu/vega20_vce.bin new file mode 100644 index 0000000..04ce28c Binary files /dev/null and b/amdgpu/vega20_vce.bin differ diff --git a/amdgpu/vegam_ce.bin b/amdgpu/vegam_ce.bin new file mode 100644 index 0000000..4e43e47 Binary files /dev/null and b/amdgpu/vegam_ce.bin differ diff --git a/amdgpu/vegam_me.bin b/amdgpu/vegam_me.bin new file mode 100644 index 0000000..2d125ad Binary files /dev/null and b/amdgpu/vegam_me.bin differ diff --git a/amdgpu/vegam_mec.bin b/amdgpu/vegam_mec.bin new file mode 100644 index 0000000..b2d06b3 Binary files /dev/null and b/amdgpu/vegam_mec.bin differ diff --git a/amdgpu/vegam_mec2.bin b/amdgpu/vegam_mec2.bin new file mode 100644 index 0000000..fce7eec Binary files /dev/null and b/amdgpu/vegam_mec2.bin differ diff --git a/amdgpu/vegam_pfp.bin b/amdgpu/vegam_pfp.bin new file mode 100644 index 0000000..0960d5e Binary files /dev/null and b/amdgpu/vegam_pfp.bin differ diff --git a/amdgpu/vegam_rlc.bin b/amdgpu/vegam_rlc.bin new file mode 100644 index 0000000..9273dbf Binary files /dev/null and b/amdgpu/vegam_rlc.bin differ diff --git a/amdgpu/vegam_sdma.bin b/amdgpu/vegam_sdma.bin new file mode 100644 index 0000000..de41c89 Binary files /dev/null and b/amdgpu/vegam_sdma.bin differ diff --git a/amdgpu/vegam_sdma1.bin b/amdgpu/vegam_sdma1.bin new file mode 100644 index 0000000..c0abb4d Binary files /dev/null and b/amdgpu/vegam_sdma1.bin differ diff --git a/amdgpu/vegam_smc.bin b/amdgpu/vegam_smc.bin new file mode 100644 index 0000000..a7b18e5 Binary files /dev/null and b/amdgpu/vegam_smc.bin differ diff --git a/amdgpu/vegam_uvd.bin b/amdgpu/vegam_uvd.bin new file mode 100644 index 0000000..a20d279 Binary files /dev/null and b/amdgpu/vegam_uvd.bin differ diff --git a/amdgpu/vegam_vce.bin b/amdgpu/vegam_vce.bin new file mode 100644 index 0000000..c069a11 Binary files /dev/null and b/amdgpu/vegam_vce.bin differ diff --git a/amdgpu/verde_ce.bin b/amdgpu/verde_ce.bin new file mode 100644 index 0000000..c2d805e Binary files /dev/null and b/amdgpu/verde_ce.bin differ diff --git a/amdgpu/verde_k_smc.bin b/amdgpu/verde_k_smc.bin new file mode 100644 index 0000000..c6572c8 Binary files /dev/null and b/amdgpu/verde_k_smc.bin differ diff --git a/amdgpu/verde_mc.bin b/amdgpu/verde_mc.bin new file mode 100644 index 0000000..235bd57 Binary files /dev/null and b/amdgpu/verde_mc.bin differ diff --git a/amdgpu/verde_me.bin b/amdgpu/verde_me.bin new file mode 100644 index 0000000..564073a Binary files /dev/null and b/amdgpu/verde_me.bin differ diff --git a/amdgpu/verde_pfp.bin b/amdgpu/verde_pfp.bin new file mode 100644 index 0000000..8d5ede3 Binary files /dev/null and b/amdgpu/verde_pfp.bin differ diff --git a/amdgpu/verde_rlc.bin b/amdgpu/verde_rlc.bin new file mode 100644 index 0000000..3a97be0 Binary files /dev/null and b/amdgpu/verde_rlc.bin differ diff --git a/amdgpu/verde_smc.bin b/amdgpu/verde_smc.bin new file mode 100644 index 0000000..8d05769 Binary files /dev/null and b/amdgpu/verde_smc.bin differ diff --git a/amdgpu/verde_uvd.bin b/amdgpu/verde_uvd.bin new file mode 100644 index 0000000..bc5815b Binary files /dev/null and b/amdgpu/verde_uvd.bin differ diff --git a/amdgpu/yellow_carp_asd.bin b/amdgpu/yellow_carp_asd.bin new file mode 100644 index 0000000..2f8bd03 Binary files /dev/null and b/amdgpu/yellow_carp_asd.bin differ diff --git a/amdgpu/yellow_carp_ce.bin b/amdgpu/yellow_carp_ce.bin new file mode 100644 index 0000000..a1f5b96 Binary files /dev/null and b/amdgpu/yellow_carp_ce.bin differ diff --git a/amdgpu/yellow_carp_dmcub.bin b/amdgpu/yellow_carp_dmcub.bin new file mode 100644 index 0000000..3c3da0c Binary files /dev/null and b/amdgpu/yellow_carp_dmcub.bin differ diff --git a/amdgpu/yellow_carp_me.bin b/amdgpu/yellow_carp_me.bin new file mode 100644 index 0000000..d647341 Binary files /dev/null and b/amdgpu/yellow_carp_me.bin differ diff --git a/amdgpu/yellow_carp_mec.bin b/amdgpu/yellow_carp_mec.bin new file mode 100644 index 0000000..f9cfad4 Binary files /dev/null and b/amdgpu/yellow_carp_mec.bin differ diff --git a/amdgpu/yellow_carp_mec2.bin b/amdgpu/yellow_carp_mec2.bin new file mode 100644 index 0000000..f9cfad4 Binary files /dev/null and b/amdgpu/yellow_carp_mec2.bin differ diff --git a/amdgpu/yellow_carp_pfp.bin b/amdgpu/yellow_carp_pfp.bin new file mode 100644 index 0000000..1bc9d21 Binary files /dev/null and b/amdgpu/yellow_carp_pfp.bin differ diff --git a/amdgpu/yellow_carp_rlc.bin b/amdgpu/yellow_carp_rlc.bin new file mode 100644 index 0000000..b5fdf7d Binary files /dev/null and b/amdgpu/yellow_carp_rlc.bin differ diff --git a/amdgpu/yellow_carp_sdma.bin b/amdgpu/yellow_carp_sdma.bin new file mode 100644 index 0000000..c3be5b5 Binary files /dev/null and b/amdgpu/yellow_carp_sdma.bin differ diff --git a/amdgpu/yellow_carp_ta.bin b/amdgpu/yellow_carp_ta.bin new file mode 100644 index 0000000..53d27b8 Binary files /dev/null and b/amdgpu/yellow_carp_ta.bin differ diff --git a/amdgpu/yellow_carp_toc.bin b/amdgpu/yellow_carp_toc.bin new file mode 100644 index 0000000..21bb8c0 Binary files /dev/null and b/amdgpu/yellow_carp_toc.bin differ diff --git a/amdgpu/yellow_carp_vcn.bin b/amdgpu/yellow_carp_vcn.bin new file mode 100644 index 0000000..264ddf2 Binary files /dev/null and b/amdgpu/yellow_carp_vcn.bin differ diff --git a/amphion/vpu/vpu_fw_imx8_dec.bin b/amphion/vpu/vpu_fw_imx8_dec.bin new file mode 100755 index 0000000..cb2b281 Binary files /dev/null and b/amphion/vpu/vpu_fw_imx8_dec.bin differ diff --git a/amphion/vpu/vpu_fw_imx8_enc.bin b/amphion/vpu/vpu_fw_imx8_enc.bin new file mode 100755 index 0000000..e51d715 Binary files /dev/null and b/amphion/vpu/vpu_fw_imx8_enc.bin differ diff --git a/ar3k/AthrBT_0x01020001.dfu b/ar3k/AthrBT_0x01020001.dfu new file mode 100644 index 0000000..f66167b Binary files /dev/null and b/ar3k/AthrBT_0x01020001.dfu differ diff --git a/ar3k/AthrBT_0x01020200.dfu b/ar3k/AthrBT_0x01020200.dfu new file mode 100644 index 0000000..482cad6 Binary files /dev/null and b/ar3k/AthrBT_0x01020200.dfu differ diff --git a/ar3k/AthrBT_0x01020201.dfu b/ar3k/AthrBT_0x01020201.dfu new file mode 100644 index 0000000..600dcdd Binary files /dev/null and b/ar3k/AthrBT_0x01020201.dfu differ diff --git a/ar3k/AthrBT_0x11020000.dfu b/ar3k/AthrBT_0x11020000.dfu new file mode 100644 index 0000000..792aa3b Binary files /dev/null and b/ar3k/AthrBT_0x11020000.dfu differ diff --git a/ar3k/AthrBT_0x11020100.dfu b/ar3k/AthrBT_0x11020100.dfu new file mode 100644 index 0000000..659f999 Binary files /dev/null and b/ar3k/AthrBT_0x11020100.dfu differ diff --git a/ar3k/AthrBT_0x31010000.dfu b/ar3k/AthrBT_0x31010000.dfu new file mode 100644 index 0000000..935beb3 Binary files /dev/null and b/ar3k/AthrBT_0x31010000.dfu differ diff --git a/ar3k/AthrBT_0x31010100.dfu b/ar3k/AthrBT_0x31010100.dfu new file mode 100644 index 0000000..5bc5ff2 Binary files /dev/null and b/ar3k/AthrBT_0x31010100.dfu differ diff --git a/ar3k/AthrBT_0x41020000.dfu b/ar3k/AthrBT_0x41020000.dfu new file mode 100644 index 0000000..b1470d8 Binary files /dev/null and b/ar3k/AthrBT_0x41020000.dfu differ diff --git a/ar3k/ramps_0x01020001_26.dfu b/ar3k/ramps_0x01020001_26.dfu new file mode 100644 index 0000000..39d22d2 Binary files /dev/null and b/ar3k/ramps_0x01020001_26.dfu differ diff --git a/ar3k/ramps_0x01020200_26.dfu b/ar3k/ramps_0x01020200_26.dfu new file mode 100644 index 0000000..4c8e8ed Binary files /dev/null and b/ar3k/ramps_0x01020200_26.dfu differ diff --git a/ar3k/ramps_0x01020200_40.dfu b/ar3k/ramps_0x01020200_40.dfu new file mode 100644 index 0000000..02166c0 Binary files /dev/null and b/ar3k/ramps_0x01020200_40.dfu differ diff --git a/ar3k/ramps_0x01020201_26.dfu b/ar3k/ramps_0x01020201_26.dfu new file mode 100644 index 0000000..00bc50a Binary files /dev/null and b/ar3k/ramps_0x01020201_26.dfu differ diff --git a/ar3k/ramps_0x01020201_40.dfu b/ar3k/ramps_0x01020201_40.dfu new file mode 100644 index 0000000..00bc50a Binary files /dev/null and b/ar3k/ramps_0x01020201_40.dfu differ diff --git a/ar3k/ramps_0x11020000_40.dfu b/ar3k/ramps_0x11020000_40.dfu new file mode 100644 index 0000000..3d712ca Binary files /dev/null and b/ar3k/ramps_0x11020000_40.dfu differ diff --git a/ar3k/ramps_0x11020100_40.dfu b/ar3k/ramps_0x11020100_40.dfu new file mode 100644 index 0000000..0d40452 Binary files /dev/null and b/ar3k/ramps_0x11020100_40.dfu differ diff --git a/ar3k/ramps_0x31010000_40.dfu b/ar3k/ramps_0x31010000_40.dfu new file mode 100644 index 0000000..ef3d79d Binary files /dev/null and b/ar3k/ramps_0x31010000_40.dfu differ diff --git a/ar3k/ramps_0x31010100_40.dfu b/ar3k/ramps_0x31010100_40.dfu new file mode 100644 index 0000000..ffe27b5 Binary files /dev/null and b/ar3k/ramps_0x31010100_40.dfu differ diff --git a/ar3k/ramps_0x41020000_40.dfu b/ar3k/ramps_0x41020000_40.dfu new file mode 100644 index 0000000..77383bb Binary files /dev/null and b/ar3k/ramps_0x41020000_40.dfu differ diff --git a/ar5523.bin b/ar5523.bin new file mode 100644 index 0000000..fe373bf Binary files /dev/null and b/ar5523.bin differ diff --git a/ar7010.fw b/ar7010.fw new file mode 100644 index 0000000..840005d Binary files /dev/null and b/ar7010.fw differ diff --git a/ar7010_1_1.fw b/ar7010_1_1.fw new file mode 100644 index 0000000..684d4cd Binary files /dev/null and b/ar7010_1_1.fw differ diff --git a/ar9271.fw b/ar9271.fw new file mode 100644 index 0000000..d0ee74a Binary files /dev/null and b/ar9271.fw differ diff --git a/as102_data1_st.hex b/as102_data1_st.hex new file mode 100644 index 0000000..9ab482b --- /dev/null +++ b/as102_data1_st.hex @@ -0,0 +1,1259 @@ +:020000040000FA +:204000002020800F000050422020800F00008CA32020800F0000B4A32020800F000018AB89 +:204020002020800F0000D4A32020800F0000D4A32020800F00001CA42020800F00001CA4D6 +:204040002020800F0000D4A32020800F0000D4A32020800F0000D4A32020800F0000D4A348 +:204060002020800F0000D4A32020800F0000D4A32020800F0000D4A32020800F0000D4A328 +:204080002020800F0000D4A32020800F0000D4A32020800F0000D4A32020800F0000D4A308 +:2040A0002020800F0000D4A32020800F0000D4A32020800F0000E06C2020800F00002075F5 +:2040C0002020800F000044762020800F0000D4A32020800F0000D4A32020800F0000D4A385 +:2040E0002020800F0000D4A32020800F0000D4A32020800F0000D4A32020800F0000D4A3A8 +:020000040000FA +:20420000012B61733130785F7573625F66775F656570726F6D0000000000000000000000F9 +:20422000000061623034000000000000000000000000736D617274696E0000000000000059 +:2042400000000000A9CD040100000000000000004A2100004A2200004A2300004A24000031 +:204260004A2500004A2600004A2700004A2000104A2100104A2200104A2300104A24001082 +:204280004A2500104A2600104A2700104A2000204A2100204A2200204A2300204A240020E2 +:2042A0004A2500204A2600204A2700204A2000304A2100304A2000002220800F000048C4D2 +:2042C0000A24803FFF00ACF10A22803F00006CD34A2300302220800F000060B309000000A1 +:2042E000F8420000692040004A2600704A2600704A260070F107CFFFF1C0AB26087000005B +:204300000000B60B0001BE0DC00210D24870D60DE002216A02F0E078F60D00017DE840224F +:204320000003C20DE002402241033E0900035A0900032608000006D11E0A200305D0E60B5D +:204340004003220E4003FDF16CD20000B86A0000905F0100F1C06E0E6003E1C5E9D0EAD2BE +:2043600019D908B92CA02CA200DDB2A8B2AAE7D14A1844004CD94C184400E5D14E184400D2 +:2043800054D95018440022184203B8A8620CA001B8AA060CA001A970920C4003CA0B000171 +:2043A000C5048003E1C4E1C1E1C2E1C3E1C5E1C6E1C76A248012E1C4D2D32213800081E0AE +:2043C000CA2062007AF440130D01110D5E10CED140818C22FF8F04F402D870F0130DDE105A +:2043E0001289F1DEF28BC478E47E0B08800303D864F0C5898C26C39F09F2058B0F0E011058 +:204400000B0D9E1000830B0A000004D856F054130001E4B8D120618105D850F4251380006C +:204420002B085000048BA489230D0110068B46891B0A01008C25C39F09F23C11800081E03A +:20444000CC22828F0000FF0003F406D836F0231380001108910056130001C1B80908D0003F +:2044600007D82CF04A898C22C38F25F20A8B470A01004B8B0B893F088100098BA989370D34 +:2044800001100C8BAC892F0D0110150A5100A7898C25C39F0FF2078B1B0D011082E2CC2221 +:2044A00022800BF428898C21C38F05F2088B0B09000008D802F009D8C1C429200003C1C701 +:2044C000C1C6C1C5C1C3C1C2C1C1E07FC1C4E078E1C4E1C1E1C2E1C3FC1C08B1FC1C48B19A +:2044E000FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C05 +:2045000008BF6A248010E1C46A24C010E1C46A248012E1C4F1C08224023A987000DB6876F5 +:204520006870687568720FF00BEF170F511079D11679C081326D8371C1A1C16DCF7D01E002 +:204540000F783D08930274D70024010135791961322745106BD13889396135791961296764 +:2045600002254F008C27FF9FE0F56AD116796181326A83716BA1616A6F7AE3F1011CC230C0 +:2045800060C695C08B713E0E600354DA55148330230B5200496B0CF0126A8370801001007B +:2045A00080E1A40A6203CA20620061BA4F7AED0AC28035C2210A520000DB0CF0126B837063 +:2045C000368080E1800A6203CA20620001E36F7BED0B828001D88024023AD1C0C1C42920A9 +:2045E0000003C1C46B24C010C1C46B248010C1C49F74C1C7C1C6C1C504140B3404140A3456 +:20460000041409340414083404140734041406340414053404140434C1C3C1C2C1C1E07FC3 +:20462000C1C4E078E1C4E1C0E1C1E1C2E1C3FC1CC8B2E1C5E1C66A248012E1C4F1C031D315 +:204640000583B7081000188BA108950240270C7333240010147C007C050505050808080A91 +:20466000182501D805A349F002D80AF002D805A356130001C1B80B08D10003D805A327D0AC +:2046800000D934A835A839F024D104D805A300D814A915A94021800504E1EA0BE00202DA15 +:2046A0002BF01FD00C1000091CD500DE21081E00158D8AE801D815AD4025C017246DC60B68 +:2046C000E00202DAD4AD05D805A317F0148DD5AD89E801D814AD4025C019246DA60BE0027F +:2046E00002DA04D805A309F00ED1FA09E002422140056920400003D12211800096E814F023 +:2047000000EAFF009CFDFF00C65E0000C64E000014C8000064C800008CD2000074EF9B007C +:20472000D1D2000001D805A1D1C0C1C429200003C1C6C1C504140B34C1C3C1C2C1C1C1C087 +:20474000E07FC1C4E1C4E1C0E1C1E1C2E1C3E1C5E1C66A248012E1C4F1C0A1C1BC1703F05B +:20476000FED860C0018301E0BA09600301A394170DF04B0851000CFF588D60C03F088000F1 +:20478000FCD609660F0A4000287052FF20C0096638AD50FF20C018AD088B23085100687087 +:2047A00057E0246BDE0AE00202DA8B7168705DE0D20AE00201DA018304A39BFF0C85EED1CE +:2047C000960DE002157800ABA1C0D1C0C1C429200003C1C6C1C5C1C3C1C2C1C1C1C0E07FE3 +:2047E000C1C4E078F1C00608A00300D9E3D0149033081101287028752877287610F0E0D2D9 +:20480000347A609201E17E66641203012F797F67C8120301961202077D655860E309928CF7 +:204820000CF0D8D02888D6D03478C09064100F01C8100D0196100007B81701F66A08A00390 +:204840002989CED10FB128EE05814D0890007A09A003E970CCD3D209A00300DA1A70287727 +:204860006609A003C9700A72120DA003E9732E0AC003C2D10DB115254013157815781578D3 +:204880001578346E2208A003D961C0D13070CA204D0006F0B9D0BED12DB0BCD0B7D10EB1BC +:2048A000AD07600301D8E078E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1C36 +:2048C000C8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08B4FC1C48B4BA +:2048E000FC1C88B4FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C0A2C1871748 +:204900000DF600D8001C043041C0FFD80AAD81C0BA0EE0018B7101C09ED25A700420800F49 +:20492000FFFF00004128110400822F238804227000A20182786001A20014003122821A70F6 +:20494000386002A20E8AC195346E170851000385027944B9386003A544B806B205F001D859 +:204960000EAAC6B223A587D7088F01E04A0F600332D983D028AF288F347800184404641839 +:204980008404C818040496189C03098D01E00F790B09F20C09AD32D809AD098F1D085100C5 +:2049A00076D07DD10C8002B8AE0BE00215787BD10AAD960E200301D8A2C0D1C0C1C4292091 +:2049C0000003C1C46B24C010C1C46B248010C1C49F74041412340414113404141034C1C715 +:2049E000C1C6C1C504140B3404140A3404140934041408340414073404140634041405345E +:204A000004140434C1C3C1C2C1C1C1C0E07FC1C4E1C5E1C608735BD0088859D5147DC095C1 +:204A2000C0B36415031160B1C815011120B2C1C6E07FC1C5F1C0E1C5A1C138170DF601DB51 +:204A4000A97063E0246D3E08E00202DA008D8C20C38F4AD268AD08F40C8247D1FA0AE00221 +:204A6000157800AD2212800084E8221AC20010F000D860C04AD001DA0A24000702D9009051 +:204A80004873B872460D20004A26000001D8D9056003A1C0F1C0E1C542D120170DF601DA54 +:204AA000668948ADA1C100D8090B510006A90FF060C03BD00A24000702D9FFDB00904A25B1 +:204AC00040000A0D20004A260000A9706BE0246DB20FA00202DA01D8DBF1E078E1C4E1C078 +:204AE000E1C1E1C2E1C36A248012E1C4F1C0A2C100DA40C2041C84308B70D20CE00181C148 +:204B000020D0061703F648A849AB48710CF01CD0347801E12F7940B064188400C818840080 +:204B200096189C00EB09928C1AD043A340A041A042A046B04EA8A2C0D1C0C1C429200003F6 +:204B4000C1C3C1C2C1C1C1C0E07FC1C4F1C0A60C400315D1048901DDA8E8E20C6001A4A944 +:204B60000876360C6001A9708609000322F0E078D4C800004447000000EAFF007CF2FF0082 +:204B800004F4FF000088C340FFFF0000102700006CF2FF00A8480000E44700004CD30000C7 +:204BA0001CEAFF00FCD20000EE0B6001A970A976AD046003C970E078F1C0A1C1F5D000D93A +:204BC00060C101DA21A0D81700F00A24000702D9FFDB0090B872F60B20004A26000001D82B +:204BE000A1C0D1C0E07EE078F1C0E1C5A1C1EAD007D900DD7E092003A9727A0920032872D8 +:204C00001E09C001E5D1741700F04D812E814DA02EA08C1700F001DA0A24000702D9009035 +:204C200060C54873B872A60B20004A26000001D82FF1E078F1C08E0D00035E0B600100D8E7 +:204C4000AE0B400101D8D1C0E07EE078F1C0E1C5D2D0F209A001008000DD81E0CA204203B8 +:204C60000CF496D9141700F01E0AA00130B0BA098001160F800101D8ED034003F1C00A0B45 +:204C80004001BE1703F6128B1708DE01C4D08A211000E20820032872DA082003C1D096D870 +:204CA00010B38A200F0A1E0920035AD901D8CDF1F1C0E1C5B9D02588B01702F625AA20829D +:204CC0000080307001DD0CF2960C600100A21609A001087505D8EE0820035AD989036003DE +:204CE000A970E078ADD0A51701F6408000811B0A000003DB00DAACD00C18E4000C18A400A9 +:204D0000CCD847190200E07F01D8E078F1C0E1C5A2D105898C20C38F01DD20F2D20F400195 +:204D20000A2500901CF2E60880011E0BC0013A0BC001660BC0019E0BC001B60BC001560CC7 +:204D4000C0016A0CC001720BC001AA0CC00197D0720820035AD904F003D805A90903600383 +:204D6000A970E078F1C0E1C5DE0AE00101DD90D0ABB0F5026003A970F1C0720A6003E8D945 +:204D800086D6048E7D170DF604AD068E06AD89D01208200328726E0DE00100DF86D01418A9 +:204DA000E40386D06818E003AE0B000279D21A70A3E8088A13085100487075E04871260B43 +:204DC000A00276E1E8AA54150011FFDB84B8541D04102415801064AE66AE5D0851004870D6 +:204DE000802082014871FE0AA0028021C2066920400065AE20F04870802082074871E60A4E +:204E0000A0028021C2077E0E400200D98CB9120A60022870048D251DC21304AE068D241D56 +:204E2000C21306AE66D02818640062D0E8D9760FE002E972190260030A70E078F1C0C60C87 +:204E4000C00101D801F1E078F1C0E1C5360E600200DD5CD00488491701F63C1902000489A1 +:204E60008C20C38F05F206898C20C38F03F4A97004F00609400201D8ED014003F1C0E1C5FA +:204E80003E170DF6561500110D081E004E0A0000A60A4002EE0D40024AD004883C1D021073 +:204EA000C501600301D8E078F1C04A0940033BD0288832170DF628AD27884A8827AD29886F +:204EC0004AAD29AD2C888C22C38F2CAD2B882BAD268826AD248824AD00D904F42AAD2AA875 +:204EE0005615001182B8C60EA001561D0410220FA00101DE060F80017A0F8001F60F800129 +:204F00008608C001C9709608E00100D91D1701F609898BE8F2FEC9A91F1701F63A0EA00208 +:204F20000C851CD10AA93901600301D8F1C07E0E800100D9131700F629A8E9FE15D1A609C6 +:204F4000E0020A89FFD80AA90C1701F6101700F60DB10E1700F60EB156110001A2B8561952 +:204F60000400E704EFFF01D8F1C017D1287080208208120BA00202DA8A0B8004CB04EFFFAF +:204F800001D8E078F1C0A20B8004BF04EFFF01D88CD2000020E09B009CFDFF0040E09B0028 +:204FA00048E09B0034E49B00881300003CEAFF004C808B00E4E89B0080E89B0068EC9B000B +:204FC000D4FDFF0090D20000F1C02A086003D873B2C10876A8752870170DB21E88712DD17D +:204FE0000209A00242214004692040001CF0001C8433021C0430041C8430026D061C0430CA +:20500000402E0002081C043040248032B60B2003A9724025821220D018E0AA0B20038B71FE +:20502000160AC00000D839006003B2C0F1C0C20F200300DB0875009018D600B601953B08A0 +:2050400090004026401D9E08A0024026811D14D7C97047E0A971607F02DAC9704FE0607F4A +:20506000226DC97057E0607F246DC9705FE0607F266D687004F07A0C6000A970D907000329 +:2050800000D906D0E07F22A800D904D0E07F22A861D30000E87EC0004CD3000080A20000C7 +:2050A000F1C0ADD10A890B08510001D807A9820B2002AAD0AAD000D9AAD200186200AAD055 +:2050C00020B0287005F015220C0020A401E0FB08D280D1C0E07EE078A3D000D920B03D0492 +:2050E00020029ED0E1C4E1C0E1C1E1C2E1C3E1C5E1C6E1C76A248012E1C4F1C09BD02010EB +:20510000000998D108750420800F00000080C8BD4FB802DA0FF015218300FC130F80C0836C +:2051200061BA04278F1F00800000DB7E3FBFE57EC0A3E70A538040815B7A457888D200A1CC +:20514000001280087B08110001810420800FF8FF00004128C3040281C2B80DB86578D770DF +:205160000000EE35CC20828F000011CA17F4ACB100DB07F01521CD00008501E303A5F90BE2 +:20518000D2807BD101DBC20EE0026870001AE20075D200D800B2087106F073D2009201E017 +:2051A000107900B28C210888CBF6046A360F6002256A70D100D800B20C9185B80CB1D1C01F +:2051C000C1C429200003C1C7C1C6C1C5C1C3C1C2C1C1C1C0E07FC1C4E1C4E1C1E1C2E1C3ED +:2051E000FC1C08B1E1C5E1C6E1C76A248012E1C46080218000DA02805FD54876C2B801E6F4 +:20520000D07E44200F0243BF0422840F000000200DBF07273E915B7AA47AC722820F0000BA +:2052200077031B780F7804218F0F008000003FBFE5783B7904238F0F008000003FBFC4E69B +:20524000E579BE07EBFF7B7B80E201D8C078C1C429200003C1C7C1C6C1C504140434C1C39E +:20526000C1C2C1C1E07FC1C4F1C0E1C53DD540250013DAFFD108510024850421810F000003 +:2052800000182BB91469386002B82C958020C5042278260E20038A21040430788CB8820DFA +:2052A00020028DB8238535D20421800F003000003CB804AA0421800F00C000003EB86485FF +:2052C00006AA04218D0F0400000032BD5323800007AA4423000E23B808AA6870842018002D +:2052E00029B809AA68708420030026B80AAA68708420040028B8EBBB0CAA21D20421830FA3 +:20530000080000000421810FF00F000033BB089234B9BB7DA57B09F26EAA0420800F00003E +:2053200000FF2F7908F06DAA0F7808B90421810F000000FF257808B202D8231A020000D873 +:20534000261A020006D000D9001862001905200301D8E0781CEAFF00E450000000E1000056 +:2053600010F4FF00B4D3000068EC9B00685200003CEAFF00FE3F00009CFDFF0000EAFF0017 +:20538000F1C0660C0003A2C14B893A700A891A7108BA40210D0245784C8900DF10BA4578BE +:2053A0004D8918BA457841C09A0A600160C781E0F8D381F402D805A3188B11089201541382 +:2053C000000185B8541B0400F3D6C970160D6002216E81C140264013AA0E600204DA238D63 +:2053E000028D08B92578248D10B92578258D18B92578EAD100A1068D05A998700D8D04A99D +:205400000C8D06A9088D09A9098D0AA9478D4BA90A8DEDA9EEA9FFDF0CA9E1D008B10B8D93 +:2054200080E2CC22A28005F408A9E7A903F007A9E8A98C24C38F0DF440260014A60C6002FB +:20544000402641196920400001D8241B0200D3D026888C21C38F06F224888C21C38F05F4BD +:2054600001D9251B42002B8D8C21C38F09F229888C21C38F05F20A888C20C38F07F401D813 +:20548000261B0200231B020011F002D8231B020000D9261B4200FFD808AB07AB09AB0AAB6D +:2054A0000CAB2DAB2EABBED008B301D9BDD020A804F0E5A3FFD860C0018D608D01DA0A2415 +:2054C000000708B8057B0010002102D9B872FE0AEFFF0A26400401D86D032003A2C0E078BF +:2054E000F1C00E0B2003D870A5C19871402105020A148000ACD500D9C18504E8C9721BF030 +:20550000008D1108510020ADFFD8011C0230F8F101D800AD07F02A660024403001E130798C +:2055200042A8F70912844026021441A500D9011C42300215800069085100008D85E8FFD8F7 +:20554000011C02302CF099D340220004F870011C42307070CA222504CA20451087F7427BA8 +:20556000707A01D8011C0230197000DB07F06F660024C03001E3707BE2A8F70B828004F084 +:2055800001E3707BFD0B1284FFD8837302AB041DC0110D08511086D020AD01A5021580005C +:2055A0001108910082D020AD01A502D8011C023060C101158100001583008B7500140001EE +:2055C00008B9257B02D901DA9875020AEFFF4A25800401D881022003A5C0E078F1C00A0AB9 +:2055E0000003A5C14A8928753A704021100297EA348D138D08B925786ED116B16C8D0B8DDE +:2056000008BB65786D8D10BB65786E8D18BB65780CA10F8D0DA100D81CB181E2CC2222800E +:2056200044F464D0CD803A6E3DB9D96143B98A0A200310D85FD12C1104015ED13C910224AA +:2056400042000D08A300B871107903F0507900DA58D06C8008F001138F0C00248030E2A8EF +:2056600001E2507A2D0A4300EF0E1092190E1014F10E11980413000CF26A837701B730B858 +:2056800002B7F0F10213000D5B7F837701B7EAF148D0A071307A90726CA046D03CB003D829 +:2056A000CA202A01011C0230021080200D08910040D100D81CB10CA100D860C00110812021 +:2056C000001083200A240007009508B9257B02D901DA4A258004F608EFFF0A26400401D80A +:2056E00065012003A5C0E078F1C0E1C50873D7730000A10F9002210001D81E0109008C2335 +:205700005F8530020100660009008C23CF8BF001010012F682230F0A86E334030D0040272E +:205720000C743224C3101BD5747C007CD8DADCDEE0E2E5008C230F8CC80101008C234F8CB3 +:20574000C40101008C238F8CC001010082231F0484E3FC020D0040270C743224C3100DD5CB +:20576000747C007CD4D7DADDE3008C239F87FC0101004C00090082239F0587E3D0020D00BE +:2057800040270C7D3224C31002D5747C007CE07800EAFF0000D400009CFDFF00FFFF000002 +:2057A00094D20000B8DD000000EAFF0000E0FF00FCD30000C0C6C9CCCFD4D7B88C239F8834 +:2057C000B801010010F68C23DF87A40101008C231F88A00101008C235F88740202009701B0 +:2057E0002000F3D0D7730000B90B9401010009F6D7730000B80B58020200EED0BBF0D77307 +:205800000000BA0B7C010100D7730000A00F40020200E9D392F0D77300007417B201010041 +:2058200084000900D77300008A13860101001AF6D7730000891376010100D7730000881319 +:20584000B3F297235F0484E304020D0040278C733224C310D9D5747C007CA3979A9DA00052 +:20586000D77300008E13A7F210F6D77300008B13A3F2D77300008C13A1F2D77300008D13BB +:20588000CC010200CED077F099238B0B83E3C0010D0040270C743224C310C8D0747C007C9A +:2058A0008F919395D7730000751795F2D7730000641993F29923CD0A8EE394010D004027EA +:2058C0000C743224C310BDD5747C007C8B8E9194989CA0A4A8ACB0B0B4B8BC00A0A13EF020 +:2058E000646D2CF0656D2AF0666D28F0676D26F04025031222F04025431220F0B1D31EF012 +:20590000B1D31CF0B1D31AF0B1D318F04025001523F04025031612F0402580162BF0402555 +:20592000001729F04025801725F04025001823F0A8D304F04025C31860A100B201D88DF0DE +:2059400040250319FAF140254319F8F140258319F4F14025001B00A104D8F1F14025001CEB +:20596000FBF14025031FEAF19BD0F7F19BD0F5F19BD000A102D8E3F19AD3E0F19AD0FBF1E7 +:205980009AD0F9F19AD3DAF1A9704AE0F3F1A9704CE0F1F1A9704EE0EDF1A97050E0EBF1E3 +:2059A000A97348E3CAF193D0E5F193D0E3F193D0E1F193D0DFF193D0DDF193D0DBF164E069 +:2059C000CBF168E0C9F16CE0C7F170E0D3F18FD0D1F18FD0CFF179D5A97078E000A102D877 +:2059E00000B2A9707AE0C7F1A9707CE0C3F1A9707EE0C1F1A97080200200BDF1A970802056 +:205A00008200B9F1A97080200201B5F1A97080208201B1F1A97080200202ADF1A973802300 +:205A200082028CF1A9738023C20288F1A97080200203A1F1A970802002049DF1A970802013 +:205A4000820499F1A9708020020587F171D1960E2002096900D81106C002E078F1C0D77083 +:205A60000000A40F01DB36F217F68C209F872AF20AF68C208F8C36F467D060B200A16870C1 +:205A8000D1C0E07E8C20DF8722F25908810F0000A30F62D01FF0D7700000A60F1EF208F603 +:205AA0004108810F0000A50F5DD015F03108800F00008D132D08810F00008E1350D00BF03E +:205AC00058D000A104D800B201D8DCF156D0FBF156D000A102D8F9F155D0FDF138D0FBF125 +:205AE00054D1020E2002096900D8CCF1F1C0020DE002D870A4C100D82876071C02304021CD +:205B00000F02328E118E08B9257801DD99085100308E0F8E08B9257882C183C2F3FE81E054 +:205B20000875CFF400D9011C423028B9021C423028B9031C423028B961C1308E0F8E08B9BB +:205B40002578051C023028B8061C02300C144031150850002108900084E0B3F402C000108D +:205B6000010815F002C000108008011C023008D860C0ACF002C000100109011C423028B986 +:205B8000021C423010D860C0A0F0011C423028B9021C423028B9031C423028B961C120D870 +:205BA00060C094F082E08DF423D048F02AEAFF0040EAFF0046EAFF0000EAFF0058EAFF009E +:205BC0000AEAFF000BEAFF000CEAFF0012EAFF0022EAFF0034EAFF0038EAFF0028EAFF0094 +:205BE0003DEAFF0042EAFF0044EAFF0047EAFF0052EAFF0054EAFF0056EAFF005AEAFF00FD +:205C00005CEAFF0060EAFF0072EAFF0074EAFF0037D40000AEFDFF004AEAFF004EEAFF001F +:205C2000D0FDFF00D4FDFF004CEAFF0050EAFF0048D400001CEAFF0006888B081100308E49 +:205C40000F8E08B9257882C183C285FF087573085100308E0F8E08B92578051C023028B808 +:205C6000061C02300C14403129085000310890004F0811010C8E2B8E08B805790D8E10B898 +:205C800005790E8E18B8057902C0001860007FF102C02B8E001862000B8E69F10C8E2B8EB7 +:205CA00008B8057902C0001864002C8E0B8E08B92578011C023028B8021C023064F1FBD810 +:205CC00002F0EAD8071C0230018F608F0A24000702D908B8057B009601DAF20AAFFF4A2562 +:205CE0000002A9707103E002A4C0E078F1C0020BC00208760290A5C100DD15085000E8D17E +:205D0000E20B20020969ED042000A970049693E0060401001DF661B891E0CA040D004027E1 +:205D20008C73F5240010147C007C33003D0094005C025C025C025C025C025C02EB00EF001D +:205D40005C025B01200144015C025C02D20198E0640401000FF674B883E08A040D0040271D +:205D60008C73F5240010147C007CDD017601E40109028220030F83E06A040D0040270C7332 +:205D8000F5240010147C007C9E019A0185010800A60C4FFF37030000EA0A8FFFFA0C4FFFF6 +:205DA0002B0300002E8E01D8402602121F0910023709100455091008BAD12A0B200242215D +:205DC00040046920400000D836F0AB8E2A8E738E08BDA579AC8E10BDA579AD8E18BDA57990 +:205DE0000019E20028F0348E738EAB8E08B9257B2A8E08BDA579AC8E10BDA579AD8E18BD63 +:205E0000A5790019E40018F0348E738EAB8E08B9257B358E08BD10B9257B368E18B9257BDC +:205E20002A8EA579AC8E10BDA579AD8E18BDA5790019E00081E001D8C2200100137860C078 +:205E4000218A608A009608B9257B630320000A2400070E8E402602121F0810023908100457 +:205E60005308100890D17E0A2002422140046920400000D931F02B8E0A8E08B925782C8ED1 +:205E800010B925782D8E18B9257800108008021C023022F02B8E0A8E08B925782C8E10B947 +:205EA00025782D8E18B9257800100009021C043012F02B8E0A8E08B925782C8E10B92578E0 +:205EC0002D8E18B9257800100008021C043030B8041C043001D9068A81E10A240007011CD5 +:205EE000023001D8C2200100137860C0218A608A01DA009608B9257B02D94A258001C8F01F +:205F0000A970C9711FFDE3F068D069D260800082402601121B0B000002D8011C023065D06D +:205F2000041C043064D0061C043096D80BF00582011C02300D92041C04300E92061C04305B +:205F400010924A260000021C0430001C8231418960890A240007009608BA457B02D901DA58 +:205F60004A25000266088FFFB1F00D8E40260F122C8E021C023080E1CA20420309F44B8E81 +:205F80000A8E08BA45788A0EE0014024823081E001D8C2200100137860C002148030608FDE +:205FA000011C0230218F009608B9257B0A240007AFF02B8E0A8E40260F1208B9C20EE001CD +:205FC000257881E0CA25821F0000FF0060C5218F608F009608B9257BD30120000A24000750 +:205FE00033D2231280004026011208E8130850001308910060C507F0FFD860C003F0FDD88C +:2060000060C0098A6089011C02300A8A0A240007021C02300C8A031C0230088A61C0078A51 +:20602000051C0230068A061C0230048A071C023008920B1C023028B863C00D8A62C00E8AFF +:20604000091C02304189009602D908BA457B01DA4A2540031CF016D0188840260F1289E01D +:20606000CA25821F0000FF0014D14024403060C5520BA00210DA218F608F0A240007009660 +:2060800008B9257B02D901DA4A2540044A2600006AF1A970C97113FD19F0E07859D400007A +:2060A0007DD400009FD400009CFDFF0000EAFF0010270000FFFF00006CF2FF00A970C971B6 +:2060C00047FD05F0A970C97189FE01D892F0E01700F0188840260F122508F20160C59A0A5B +:2060E000A00446D060C51108810F0000FFFF011C423308F001D8011C023004F0FFD860C07D +:20610000218F608F0A240007009608B9257B02D901DAB871BCF1EAD860C0009664960A2488 +:20612000000745F0EAD860C0009664960A2400073DF00A8E4026011260C509E81B085000B5 +:2061400023089000FBD860C012F02DD2128A8420FF0C82B80BF02AD2128A8420FF0C83B88E +:2061600005F027D2128A8420FF0C12AA41896089009608BA457B0A24000719F00A8E402623 +:20618000011260C506E813085000FBD860C008F01CD0A4A804F01BD001DA44A841896089F2 +:2061A0000A240007009608BA457B02D901DA4A2540006EF10A8E40260F1260C509E80D0884 +:2061C0005000FBD860C007F04A0DC00003F0BA0D8000218F608F009608B9257B0A24000769 +:2061E000E5F109D0402601129A08200202DA00D8E5038FFFE07EE078E07EC0009CFDFF001D +:20620000D4FDFF00B0D40000E1C508758A2308007861A27842280C0237BC9860C8B8827882 +:206220007A62227A422A0C0237BC9A62C8BA827A58608C20088001D8C2200A00E07FC1C569 +:20624000F1C0A60D80021A703A7100DFE9750CF01620C023C9716E09A00208DA01E7F07F45 +:2062600001E5B07D16204E230296422141204268422A0C0237BC9A62C8BA827A3075507A08 +:2062800048714FF64496E1FFE4E80096239604B60796D109028027B6019605B6E2F1001066 +:2062A0000221DAFF0AE81620C023C9711609A00208DA01E7F07F0FF020960610002100189F +:2062C000442023960F090200061844202196021844207505A002E970F1C0EA0CA0024A24A4 +:2062E000000008753678059088770A220021087280220200422A0C0237BC9A62C8BA827A8D +:20630000507A2D6A42290C0237BC9961C8B982792F204830256A42290C0237BC9961C8B9FD +:2063200082792F21483008718021040042290C0237BC9961C8B9827930794D69422A0C02C1 +:2063400037BC9A62C8BA05E1827A42290C0237BC9961C8B982798020060042280C0237BCF7 +:206360009860C8B882782F23482010790D6942280C0237BC9860C8B805E1827842290C02B6 +:2063800037BC9961C8B982792F2788202F2008202F2648200A24002126F01625CE13049647 +:2063A0000B71469699FF87E824960B702B7297FF03E8402454200496EA71469693FF86E882 +:2063C0002496EA706A7291FF04960A7146968FFF86E824960A70CA728CFF04E84022522095 +:2063E00001E7F07F82150011B30F02904A2100200A2200310A25002112F01625401508E098 +:2064000040260112BE0F600208DA4025402010789870BA70402140202F2108208215011191 +:206420006109432016254E1404960B71469677FF00DF88E824960B702B7274FF80E003F2A1 +:2064400001DF0496EA71469670FF87E82496EA706A726EFF02E802DF04960A7146966BFF2A +:2064600086E824960A70CA7268FF03E803DF80E7CC2422A0CC2222A0C1F301D85B70CCF12C +:20648000821D04117903A0024B70E078F1C04A0B80025FD5801500115ED653207E8000D838 +:2064A0005A701FF201B6009601E000B68A1500111108830F0000FF0F01E00608A004107899 +:2064C00000968C2003828BF653D11A0CE001096952D1281984042A19840402D895F000B60B +:2064E000402500123A708215011156FF1A70821D0410019601E0107981E101B68C002C006E +:20650000CA220C24402614117C1613114A701EF04A701270CC20EB8388F641D1C60BE0017E +:2065200042214005692040001621812416214225287048718E0E600208DA402240202F222C +:20654000082040254020107839082304BA7000DD05F001D8DEE801E5B07DEB0DC3942A77C0 +:2065600016274F1516244E2300972096429727FFF1E800962097429624FFEDE800D8ECF1D8 +:2065800028D123D50A19840422D640250112046E320E600278DA01967C1E841488E06A00EE +:2065A0002B0001D88A1500110F08B20C00DF61B80E0F60041078E1B621F0A21502111625A4 +:2065C000801325905D7A487055E042280C0237BC9860C8B88278170843000E22800F0000B1 +:2065E00000028220410511090200A970C9713BFF0B08500001E6D07E02F000DE82150011F8 +:20660000BB0E029000D821028002E0782CF4FF0098F6FF0031D7000000EAFF0056D7000080 +:20662000A4F4FF00E1C4E1C16A248012E1C4F2D000D927A801D8C1C429200003C1C1E07FC2 +:20664000C1C4E078E1C4E1C0E1C1E1C2E1C36A248012E1C410D800DAE8D1C6193C00CA19F0 +:20666000BC0013D8D0193C0040D8D2193C008A20C40FD4193C008A230800CC19FC00DA19E0 +:20668000BC00DE19BC002BD8E4193C008A200500E6193C008A20C80FE8193C00E019FC00B2 +:2066A000C1C429200003C1C3C1C2C1C1C1C0E07FC1C4E078F1C03E098002D1D00810000987 +:2066C0000F783B08720000DE3308130183E001D9C221410002B93221800FFF00DCE9C77157 +:2066E000FF00DCE987E8018985E8028983E8038905E8C4D0CE0C600204DAC3D101D88A1943 +:2067000082037C1904008019840384198403881984037E198403C4FFB8D5BA1DBC133FD8C4 +:20672000BC1D3C10C8FFB9D14A0D600216D8B8D1420D600217D8B7D13A0D600218D88A2048 +:206740009908A81D3C1062D89A1D3C1007D8941D3C1007D815B81B794A0E20022872010118 +:206760008002E078F1C0E1C5A7D000DD941840038E0DA00192184403A7D3A9708A21080032 +:206780000FDA5A0FA0010BBADD008002F1C00A0E8001A2D000D928B001D9A1D01818640096 +:2067A000D1C0E07EE1C4E1C1E1C26A248012E1C46920000090D101D8478907A980E2CA20AC +:2067C000220069208001C1C429200003C1C2C1C1E07FC1C4E1C4E1C0E1C1E1C2E1C3E1C5FE +:2067E000E1C6E1C76A248012E1C4F1C0087382D0287701D9487628A88AD020D9760D200208 +:2068000000DA86D002D984EB24B003F028B086D5181DA41385D01818E00382D020D9560D02 +:206820002002287274D000D928A85323C0004520000C141D2410D1C0C1C429200003C1C7B9 +:20684000C1C6C1C5C1C3C1C2C1C1C1C0E07FC1C4E1C4E1C0E1C1E1C2E1C3FC1C08B1E1C597 +:20686000E1C6E1C76A248012E1C4F1C00873987148776AD500DE3D08510002D806B569D08F +:2068800020D9F20C2002C97268D1181920015BD0C018FC0385BBBE18FC009810010FFF0945 +:2068A0005E8120D998187C00BE18BC03C6B521F051D001D928A85BD020D9BA0C2002C972A1 +:2068C00003D884EB04B503F008B557D5181DE41356D11819200153D020D99A0C20022872B6 +:2068E00045D0C8A85323C00085B8141D2410D1C0C1C429200003C1C7C1C6C1C504140434F4 +:20690000C1C3C1C2C1C1C1C0E07FC1C4E1C4E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1C8 +:20692000FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5FC1C08BF6A248010E1C4B6 +:206940006A24C010E1C46A248012E1C4F1C033D5029500DAE2B8CA2081002BF207D815B877 +:20696000420C20021B7932D1320B600216D831D12A0B600217D8AA20080097B8AB20080007 +:20698000AA20080096B8AB20080001DB62B500D804B506B508B503B523FF029582B802B5A6 +:2069A00007D815B81B79FE0B200228726870D1C0C1C429200003C1C46B24C010C1C46B24A0 +:2069C0008010C1C49F74C1C504140B3404140A34041409340414083404140734041406340E +:2069E0000414053404140434C1C3C1C2C1C1E07FC1C4E078A0D70000E03EE000F8E39B0046 +:206A00000841000000EAFF00E06C00002075000044760000186D000078EAFF008440E0001F +:206A20001440E0004840E000E846E000FC6C00003C750000E1C4E1C0E1C1E1C2E1C36A24D6 +:206A40008012E1C4F1C0C01703F08B1380008C20838C00D90DF48C1300018E130201130A70 +:206A600003008813000185E84FFF0B08500028700AF08C130201D2D040B02870D1D140DA3F +:206A800055FF01D888E80C83CFD1CE0AE0011578CBD104A9D1C0C1C429200003C1C3C1C232 +:206AA000C1C1C1C0E07FC1C4F1C0860D2FFFC7D0F104EFFF01D8E078E1C4E1C0E1C1E1C247 +:206AC000E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1C00 +:206AE000C8B2FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C0B1D105890D08DC +:206B0000510000D805A9E9FFBF1700F6B0D14A0AE0010C80D1C0C1C429200003C1C46B2432 +:206B2000C010C1C46B248010C1C49F7404140B3404140A34041409340414083404140734A0 +:206B4000041406340414053404140434C1C3C1C2C1C1C1C0E07FC1C4E1C4E1C0E1C1E1C2C9 +:206B6000E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1C5F +:206B8000C8B2E1C5E1C6E1C7FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C06B +:206BA00096170DF698150F1F00DE410F5E1089D1320DA0010969941701F6FFD87E1984036B +:206BC0008019840384198403881984038B1902008E198403BE1DBC138C19840392FEA60C5D +:206BE0000FFF02D8981D3C10130F9E117AD1F60CA001096940D8981D3C109F0F5E1170D7FE +:206C000020D8981D3C10088F7F081100831703F608930F089100120BA001C8B32AF004938C +:206C20001F08D100C4B304D803B36CD008D946092002287201D93E09200200DA25AF0493A3 +:206C4000310891000097C0E0C7F640D9AC1D7C10227800B70EF011085200C4B3AC1D3C10C2 +:206C6000C0B708F0402780177A0CA0014027C1176DFE01972308D101C1B7AE15021F53D1C1 +:206C800000D8F4FE09F04027001BE971560CA00141E169204000D1C0C1C429200003C1C480 +:206CA0006B24C010C1C46B248010C1C49F74C1C7C1C6C1C504140B3404140A3404140934A2 +:206CC0000414083404140734041406340414053404140434C1C3C1C2C1C1C1C0E07FC1C42C +:206CE000F1C09EFFAB26487000000000AB26C17000000100D1C020204087E078F1C097FF83 +:206D0000AB26487000000000AB26C17000000200D1C020208087E078E1C4E1C1E1C2E1C328 +:206D2000E1C5E1C66A248012E1C4F1C008733C1700F614100E092AD58815001100DA87E89B +:206D40000B0E531098FE0B08500048702DF0C773C000000053237E80941DC010921D4410F7 +:206D600008F220D17E0BA00142214005692040002A1700F60D9089E81BD16A0BA0014221E3 +:206D800040056920400016D3941301008A2208005861941B0000921300014278921B040027 +:206DA00002D88DFE01D8D1C0C1C429200003C1C6C1C5C1C3C1C2C1C1E07FC1C4A0D7000042 +:206DC000007FC000346A0000807FC000B86A0000ADD70000B6D700002C40E00000EAFF00AF +:206DE000FED7000029D80000E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1C43 +:206E0000C8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BF6A2480103F +:206E2000E1C46A24C010E1C46A248012E1C4F1C0DFD700170E1904170019DED008170D1919 +:206E4000DDD301D9A0B32E0FE00100DAF2D98C264C90DAD08B1842006FF2520009008C2607 +:206E6000089053F211F68C26049096F412D8D4D192E5CA204503107A00B3D2D0460D2002D2 +:206E800018E000D892F08C2648903FF28C260C9082F4CDD1008909204003107A00B3C9D0B8 +:206EA000220D200218E000D880F08C2618905DF213F68C268C904DF28C26CC906CF4C3D180 +:206EC000008909204003107A00B3BED0F60C200218E000D86AF08C261C90CC26829F000033 +:206EE00001075AF430170119B6D020DAA0E5CA2586108C210880B07AA0B344F4B4D1C60C10 +:206F0000200218E042F030170119AED020DAA0E5CA2586108C210880B07AA0B307F4ADD117 +:206F2000A20C200218E000D840F0A9D1960C200218E000D83AF0A8D1008909204003107A51 +:206F400000B3A0D07E0C200218E000D82EF0A3D1008909204003107A00B39AD0660C2002D0 +:206F600018E000D822F00AD89DD18AE5CA204503107A00B393D04E0C200218E000D816F04C +:206F800094D1420C200218E096D197D02418600000D80CF087D003D9DA0DE00102DA87D1B7 +:206FA00000D87E19040001D88EE8FE0F8FFF1308510000D88DD12208EFFF40DA04F08CD050 +:206FC00008D920B0D1C0C1C429200003C1C46B24C010C1C46B248010C1C49F74C1C7C1C66F +:206FE000C1C504140B3404140A3404140934041408340414073404140634041405340414A7 +:207000000434C1C3C1C2C1C1C1C0E07FC1C4E078E1C4E1C0E1C1E1C2E1C3E1C5E1C6E1C7CE +:207020006A248012E1C4F1C072D7B217001F00DE422801028C201A8060D38B1B4200B6F255 +:207040005A0009008C201480A8F28C20828054F20AF68C200280CC20828F0000810071F2F0 +:20706000770200008C20848063D575F28C208C8066020200B417001FB6170F1F80E087F466 +:207080004CD002D9607DC97280E775F281E777F28C2782907BF459D072F0D7700000000933 +:2070A000B2F214F68C205A80D8010100D77000008008260202008A138000A41F3C1001D8C4 +:2070C000AC1F3C102B020000D7700000010BC2F2D770000040F1FA010100D7700000C0F2F8 +:2070E000F6010200B817001F8C1B0400030220008E1B8403B417001FB617001FB817011FE4 +:2071000080E0CA208103CA21810317F21F0850008C2082800EF27E1B840326D003D9560CB0 +:20712000E00102DA01D8C97107F0CA17011F04F0DE17011FC97080E0DBF40D091F01A41F1D +:20714000BC1305F001D8A41F3C1002D8AC1F3C10CFF0B417011FB617001F99E90BE811086E +:2071600050008C20828013F424D003F024D010D90AF010D001D900DABAF021D010D9607D57 +:20718000287208D9607D00DAF5F10AD003D9607D02DA7E1B8403ADF0B417011F19D020B007 +:2071A00004D001D9C972A2F010FFA3F04840E0002C40E000A0D7000000EAFF00004100005D +:2071C000E87EC000544100009841000014410000344100005841000078410000B841000006 +:2071E00009072000DC7EC000007FC000A2D70000E03EE00070AD00009C40E0007440E00022 +:2072000040D80000B417001F3E0CAFFF8A1B0200E4170DF0E81700F019D9607D01DACFD09D +:20722000407D8A13800080E0CC20628006F4CCD001D9607D00DA08F0C9D003D9607D02DAF9 +:207240007E1B84037C13000181B87C1B040051F0B417001FB617001FB817011F98170DF0F8 +:207260008AE89C1700F010D90A0BE001C972060BE001BAD07E1B8403B9D003D902DA38F0DA +:20728000B417001FB617001FB817011F281700F020B0B3D001D9DE0AE001C972F2D98B1B58 +:2072A000420003D9CE0AE00102DAFE0CAFFF7E1B840315085100C970301701F01A0DAFFF8F +:2072C00040DA17F008D9281700F020B011F001D87E1B04000DF0A3D10A0E600109697E1B41 +:2072E00084039FD003D902DA0C170DF0407DD1C0C1C429200003C1C7C1C6C1C5C1C3C1C205 +:20730000C1C1C1C0E07FC1C4E1C4E1C0E1C1E1C26A248012E1C4F1C08E0C8FFF15085100EF +:2073200091D23012020991D12A0DAFFF00D806F0AF1700F607D920B0D1C0C1C429200003BA +:20734000C1C2C1C1C1C0E07FC1C4E078E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C42 +:2073600088B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BFA7 +:207380006A248010E1C46A24C010E1C46A248012E1C4F1C097170EF6AA160F1FE9BFCA257A +:2073A000C113CA27211007F271D13A0D6001096900DD9B0D5E10811702F67E1200018F08D7 +:2073C000D100A970842010088C20108869D110F42870120D600101E100D87E1A040085276B +:2073E0001018F07F8425EF17B07D31F040218002F20C60010BE100D87E1A0400801A0400B9 +:207400008E1A04008C1A040088120001FFD98B1A420087E800D8BE1E3C100E0A8FFF660C35 +:20742000CFFEB216001F1F08810F0000C0F200D8A41E3C1001D8AC1E3C10AA1E7C1300DD26 +:2074400005F04DD19E0C60010969210D5E1003D94AD023B0EFFE03905308510003F0AA1658 +:207460000D1FFF0D9E9120F00425819F0000400007F242D002900B089F0086BFF07F1AE906 +:207480003ED2039296E83ED15A0C6001096903D803B2E0FE03921708510004F0AA160D1F2E +:2074A000FD0D9E9186BF99FFF07F4527CF10F07F490D5E11401701F60091C0E0CC202C80B1 +:2074C000CCF630D020D9AE08E001287200D82ED1060BAFFF40DA12F028D004DA85BFF07F85 +:2074E00043B000D800B11ED008D98A08E001287201D98208E00100DA210D9E12411701F6E8 +:20750000009122D20B088000A01E3C1040B11BD18ABF00D8F07F03B1AA1EFC13A902CFFFD8 +:20752000F1C0AB26487000000000AB26C1700000010087FFD1C020204087E078F1C0AB2616 +:20754000487000000000AB26C1700000020080FFD1C020208087E0789C40E0002C40E000B8 +:2075600045D800000C40E000807FC0004CD8000056D800006ED8000078EAFF007BD80000B7 +:207580003440E000407FC000FFFF0000E1C4E1C0E1C1E1C2E1C3E1C5E1C66A248012E1C4D9 +:2075A000F1C039D02010010900DD83091E0137D230D92018640022926D099F001C100309A0 +:2075C0008C2304802AF41C1001094029030248B9257B1C100209707B10BB402A010248BAB9 +:2075E0004579307928100209257B150B850F0000FFFF01D85E0AAFFF687119F024D601D8EB +:20760000520AAFFFC97107F0A0667C6504E5B07D00A4F90D82900BF08C230C8004F482B90D +:2076200022B205F001D92C186400D1C0C1C429200003C1C6C1C5C1C3C1C2C1C1C1C0E07F27 +:20764000C1C4E078E1C4E1C0E1C1E1C2F1C011D03010000911089E00CDFF0FD004D9160F83 +:20766000A0012872AB26487000000000AB26C17000000100D1C0C1C2C1C1C1C0C1C4202067 +:207680004087E0784840E00078EAFF00ACF1FF00D03FE0000040E000F1C0E1C500DDF4D35C +:2076A000A972C8D81E0FA0010AD91C13000901E2507A0B085F01E4E2B5F6E4E288F6EDD193 +:2076C000220A60014221400569204000EAD02C1B2400EAD004D99E0EA0012872C8D8E60E75 +:2076E000A0010AD91C13000901E5B07D09081F01E4E5B6F6E4E589F6E1D1EA096001422164 +:2077000040056920400000D9D9D00C18640059010002E078F1C000DA03D80DB8D4D30C1BA4 +:207720002400D6D04E0EA00104D9C8D8960EA0010AD91C13000944203E8601E2507A04F2DA +:20774000E4E2B5F6E4E289F6CED19A0960014221400569204000C6D000DA0C18A400CAD18C +:2077600002D81019A40010192400C8D140110001A1B880B84019040019D808B80CA1D1C04D +:20778000E07EE078C2D000D930A8C2D0FFD9E07F20A8E078F1C0E1C50BE837085000BED19F +:2077A0004209600142214005692040001EF003D80DB800DDAED30C1B2400B8D08A215F0FB4 +:2077C000B20DA00170DA0C1B6403EFFF0EF003D80DB800DDA6D30C1B2400B0D01FD9960D29 +:2077E000A00128720C1B64037D000002F1C0E1C58A20040400DBAAD5701D3C90A7D001D934 +:20780000720DA0016872A81DFC1002D8C01D2410A4D0620DA0015FD9801DFC10941DFC1090 +:20782000A1D02FD94E0DA00120DA99D1CCD86EA90FA93500200270A9F1C0BA0FE00100DB56 +:2078400003D891D11019240001DA1019A40004D81819240038D82819240094D512D83019B4 +:2078600024001019A4006872C8D85A0DA0010AD98FD62C16001919081F004A0DA001C8D81A +:207880002C160019E0B8CA2361000DF001E2507AE4E289F6A9704E086001402541156920A4 +:2078A000400064EB7DFF79D182D00CA14011000181B840190400A907E00101D8F1C0360F2C +:2078C000E00100D97CD224120E097CD330130D09301300098A200C08241A6400301B240090 +:2078E00008D8241A2400241A640001D8241A2400241A640014D8CE0CA0015AD924120009EE +:20790000241AA403301B64035507C001F1C0E60EC00163D5E815001FF0150E1906F0016E68 +:20792000107E84B8F81D2410E5FFE815011F8C2082828421080047F685E95326C010E308F7 +:20794000D283E815001FE4B801D808F25CD010D9220CA00100DA48700507C001F1C0660EDF +:20796000E00104D8A4C15B7048D04DD703D91FDE0010100002D8C01F241001D8C01F24100C +:2079800048D0F20BA00100DA48715A720EF04DD05678A0801108442361801273CA216D008B +:2079A000CA228D2001E2507A83E9E70A528125E94A27402000D89A7041C040C03A70087568 +:2079C0007A70DA700A703D08840F070020A13508850F0A00E06F00C02508510000D84222B5 +:2079E00041202F2248201FDE9A7040C03A7008757A70DA7006F0ED02200000DB01D840C052 +:207A00000A70A60EE0018A210F0A1B7003B81578157815780220012030798C21078DCBF6B8 +:207A2000402058300E21800F0000E803107901D841C0D3E1CA202C00CBF68C21438ECA205F +:207A40006C00C7F68C21C68702D8CA20E9001ED4002201232C89BA701BD44A24007842C167 +:207A600002C20022002343C0AA7430F0FCDF9B00A5D800005014000010E09B00DBD8000027 +:207A80001CD90000F8E39B0000EAFF0038EAFF008CD800005DD9000000E09B0080E39B005E +:207AA00088E49B00B8E49B0071D9000024E59B00905F0100ACE49B0060E59B0078E49B00A8 +:207AC000C0C40000DCC4000000D8A82000022F240293C02085005B7A3B70DE0DE00103D96B +:207AE00080E1CA27E12002D80BF22F2441163EBC00244016C1B80D08010302D8FA705B709D +:207B00000A701B08840F0100C0D4D7700300A0F7CA27652004D9CA22453001C000200336F1 +:207B20002F21C005747B230851000223430502C24A24007800D8A82000022F228280C020D9 +:207B4000C5007B7B0EF00023420502C34A24007800D8A82000022F23C280C02085005B7AE7 +:207B6000460DC001402FC120822010002F25082035793579F5D0420DE00135790425BEAFDE +:207B8000FFFF00C04220010435F403D8C01F241001D8C01F2410C81FA416E81F641003C0DE +:207BA000148801D9D01F2410E9D0E01F6415D81FA413C209A00128728A210C08BF1700F6BC +:207BC0003018640008D8C01F3C1000D8C01F3C10087264D8EE09A0015AD9E017001F4420F0 +:207BE000018884200100CC2021800EF44A2640201FF0D8D1EE0C20014221400569204000B4 +:207C0000F705CFFF07E89FE6CA256A1043F601E6D07E08E980E6CA256C10C4F661BED07E66 +:207C2000D81FA41301E2507AE4E2CA256A104C2100A0CC2661A01BF401DBC01FFC1000D80C +:207C4000C01F3C1014D87E09A0015AD9C417001F8C2002809A70CA21CC20C9F6016E107EED +:207C6000D81F24103A734A2600204C2600A0CC252190B1F3B8D14419040500DA19F04A2305 +:207C8000402017F0C8D83E09A0015AD9E817001F15081F012E09A001C8D8E817001F1308B6 +:207CA0001F01EFF101E2507AE4E240000A004C2300A0CC252190E8F30D0B112000C081E011 +:207CC0000405C1FF12FF03D90873761700F6A608A0012872A0D14011000182B840190400AD +:207CE00068701D03E001A4C001DDE3F1F1C0020BE00100DA98D0058801DD170832019870EF +:207D000096D1E20B200142214005692040004BDB05BB00DF92D09418FC0014D8A608A00173 +:207D20005AD948762AF000DD28F08DD0E010000F0D08DE0101E3707B01DF09F081E7CA22F7 +:207D4000610004F261BB707B00DF93EA0423800F0000C01FD77000004009CA25221009F426 +:207D60007FD09418FC0014D85A08A0015AD901E6D07EE4E6B207CAFF80E2CC256190D7F35B +:207D8000510D5110532340011C78887101E02D093501087240270C7333244110347C007C5F +:207DA0000206090D4F20420186BA09F04F20820105F04F20420103F000DD69D09418FC0070 +:207DC0009818BC00371700F608D9AA0F6001287264D1029184B802B17D02E001A970E078D6 +:207DE000F1C0311700F63FD98A0F600123DA2D1700F620D97E0F600128725AD1029185B8CF +:207E00007F01EFFF02B1E078F1C0261700F610D9620F6001287253D1029186B86301EFFF69 +:207E200002B1E078F1C01F1700F640D9460F600128724CD1029187B84701EFFF02B1E078C1 +:207E4000D7700500C81401D98CF7190E04700E00F07E45D2128A8420030F12AAE07F28706A +:207E60002108840F0100C0D4190E04700300A0F73DD112898420030F80B812A9E07F01D8F2 +:207E800000D8E07EF1C06E09E00102D936D2528A01D831D552AD470A9E0134D1460A2001A0 +:207EA0000969128D0B081E0180DE40DB03F040DE80DBE0B82ED0C0D9BA0E600128722DD0AB +:207EC000CA22C200CA228103AA0E4001128D2AD1E5B802D8CA2061000BF0E4BACA23420067 +:207EE000CA230100CA20410023D10D0A1E001019240004F01019E40020D004D9760E600140 +:207F000028724015001183B85501E001401D0410F1C011D24812800091E819D13A0E200144 +:207F20000C828C20C38F17D100A909F416D1B6092001422140056920400014D101D810A978 +:207F400000D83F00EFFF0EA9B030010040E49B00C5D9000000EAFF00EBD9000080E39B007C +:207F60003CEAFF009CFDFF00FED9000040E09B0048E09B0070E49B0088E49B00388200003F +:207F80008CD8000025DA000038EAFF00F1C06208E0019871C0170FF00875128F1F081F001E +:207FA0004A1702112F2587000422820F000000FF422A06024C1783100DF04E170211501776 +:207FC00083102F2587000422820F000000FF422A0602E7B8BBF2901701F032894421020300 +:207FE000442001032F0A40008420C30C457812AF91EAFAD110110109EAB9887123F40F0973 +:208000004303BA630F0A430107F0002302010B0A8201A97637F0F2D08A211000560D600164 +:208020002872520D6001EFD0128FBE63CF7E8C2603938420430F12AFCA268A1F0000CC00B4 +:2080400021F0110943030225C210CB0A838106F00224C200BF0A4381E1D08A211000160DE3 +:2080600060012872DFD00E0D600100DA128F0225CE10CF7E84E68420430F81B812AFCA26C3 +:208080002C1144203E8339F4D4D1101101093B099F02670E4203630E0301D1D08A21100011 +:2080A000D20C60012872CE0C6001CED0128F7E66CF7E8C2603938420430F12AFCA268A1FA4 +:2080C0000000CC0019F0330D42112F0C4301C4D08A2110009E0C60012872C2D0960C600130 +:2080E00000DA128F627ECF7E84E68420430F81B812AFCA262C114420010339091101B7D10D +:20810000101101092D099E02B5D08A211000660C60012872B3D05E0C600100DA128F627E08 +:20812000CF7E84E68420430F81B812AFCA262C114420000388E0CA25821323F4A7D010106A +:208140000009C9753B089F0206F0A4D0101000092F089F02A2D08A2110001A0C600128723B +:20816000120C60019FD0128FBB636F7D8C2503938420430F12AFCA258A1F0000CC00D90625 +:20818000A001A970F1C06A0E800180170EF62F8E95D7142740104088FFD90221800003B82E +:2081A00015781578120FA0011578220E40019920C50DB2680F8EB57D147F018F03B8157806 +:2081C00015781578F20EA00107D90E204003C7700000A8DE81068001F1C01A0E80014E081E +:2081E00040007A08600008750876E7FFBE661E66C970B60EA0018A210F0A8C21078D01DD53 +:20820000C2254E13C970B20EA0018A210F0A521702F6728AB86010B21B0BDE016FD110111B +:20822000010913099F02E0BBC020E104C020620510B22D068001E078E1C4E1C0E1C1E1C277 +:20824000E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1C68 +:20826000C8B2E1C5E1C6E1C7FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C074 +:208280005AD035170DF6FFD920A84815801000DFA908510032170EF6E416011F54D0081054 +:2082A00000090D09DF00CBB83508130C4715811084E1CA204C00C6F649694F78471D82102E +:2082C00033FF49D1471D021014790089881E3C1001898C1E3C10461DC21320F04615801021 +:2082E00033085106471581108C210383CA204A0045F641694F78471D821025FF3AD1471D63 +:20830000021014790089881E3C1001898C1E3C1000D801E0461D0210191701F63A0A200109 +:208320000C8532D100A933D1168901E016A916890908920CF6A9A9FFD1C0C1C429200003C6 +:20834000C1C46B24C010C1C46B248010C1C49F74C1C7C1C6C1C504140B3404140A340414A3 +:2083600009340414083404140734041406340414053404140434C1C3C1C2C1C1C1C0E07FBD +:20838000C1C4E078F1C06A0CA001CCDB00DE1AD58415071F19D03FD9DA0960013CDA18D0C2 +:2083A000901DBC1312886D08DE0116D1360DE00009690BD08A211000BA096001287209D0AA +:2083C000B2096001C9720ED112898420430F4F20420052A9E0B818F038E09B0040E09B001C +:2083E00048E09B0010C900008CD8000010EA9B0030DA000080E39B0088E49B0000EAFF00F0 +:2084000048DA000080DACA22820F0000780013F0CC1700F08A2110005A096001287256099D +:208420006001C01700F05DD1687212898420430F12A95BD110895BD7881D3C1011898C1D95 +:208440003C10E415001F32D85AD913F04F7E4222C0020F78C971CEFE0E7A53D054782088D9 +:20846000881D7C1001885AD98C1D3C1032D8407FE415001F090A1201D508DF8008D8901D4A +:208480003C10E415001F10F04F7E046A0F78C971BFFE0E7A44D054782088881D7C100188F5 +:2084A0008C1D3C108A20070D607F5AD9E415001F8C22038343F6D508DE800B6A0F78C97101 +:2084C000B3FE08760E7B38D074782088881D7C10018803D98C1D3C1030D047188203841D38 +:2084E000FC11181700F08E08600128722BD0170B33014718820308714010000189B8401926 +:2085000004008C23038308F424D14011000188B8401904007FFE41038001E078F1C0D20A1B +:20852000A001FFD81DD24A12010108B848732F7E2478328A4AE348B850DD5B09DE01687180 +:208540000BF04E120001FFD908B958DD0F7E247848B848714EE18C26C392CAF6CBDE022648 +:208560000F10F175C4F6022640130F7811085301ED6EF17505D8C4F6C56DCF7E02260F102F +:20858000090F43131D65AF7E08B8C57800B1B709C080C5028001E07800EAFF0098CA000025 +:2085A000C0AD000010C90000E1C4E1C0E1C1E1C2E1C36A248012E1C4F1C090D004D9B60FCE +:2085C000200128728ED001D9AA0F200128728DD08DD38C18E48000DA1418A480CC18A4803D +:2085E0008AD030B0D1C0C1C429200003C1C3C1C2C1C1C1C0E07FC1C400D985D0181864002F +:2086000082D1109181B8E07F10B1E078E1C5E1C680D22A8A098A8C21C38FCA2161008C20D8 +:20862000C38FCA20210080E1CA2161007AD47368347B7AD59B63C0931C1DA4136C9305BB09 +:2086400003E801E00F7800DE61B90F264E1002BE44260E17C1B8C57B6578241D24105C1274 +:20866000000183B85C1A0400C1C6E07FC1C5E078E1C568D2A48A2B8A0C8A8C25C39F6A8A20 +:20868000CA2561108C20C38FCA20210081E50EF205F680E5CA2561100BF0150D90108C25DD +:2086A000C39FCA25211005F003DD03F002DD08EB80E1CC21A280CA21A10005F286EB06E94B +:2086C00000D957D32BAA2BAB02BD04B8C1B944250D1344200004257DA57852D130192400B7 +:2086E0005C12000182B85C1A0400E07FC1C5E078F1C0FE08800147D30B8B80E0CC20A280C4 +:2087000003F20A8B83E8088B02F0078B8C20C38FCA20A1001ED93BD5661D7C900FD908B985 +:20872000341D64908A2144003C1D64903ED26A1DBC903ED16E1D7C90721D7C90761DBC90B5 +:208740003BD27A1DBC903BD17E1D7C90041DA4900C1D649030D100DE0AF0F468D47F36D274 +:208760003F67F897D67A01E6001AE403EF0E129203D8141D24905C13000184B8D900A00105 +:208780005C1B040090D98BB92CD0041864001FD1109185B8E07F10B100DA80E0CA226200BF +:2087A0000A20408026D1CA2062001B7845780819240016D1109186B8E07F10B100D911D057 +:2087C00014186400E07EE078E1C4E1C0E1C1E1C26A248012E1C41AD21812020940B119D107 +:2087E0001811010820A0C1C429200003C1C2C1C1C1C0E07FC1C4E07800E09B0000EC9B00F2 +:2088000074EF9B00901A00003CEAFF00F0EB9B0000EAFF00F8C40000A4EC9B009CFDFF00AD +:2088200058ED9B00AA55000055AA00006699000099660000C0ED9B00FCEE9B0038EF9B00CD +:2088400048EF9B00F1C094D002D92A0D2001287200D992D00818640091D001D92BB0D1C0FE +:20886000E07EE0788FD100DA9419A4009C19A400A419A4008A201000AC192400B419A400E9 +:20888000C419A40001D8BC19240085D10B9181B8E07F0BB184D000D92C18640081D08C1875 +:2088A0006400CC186400841864007DD10B9184B8E07F0BB17DD000DA0818BC8008D90C1843 +:2088C0007C8077D11018BC800B9183B8E07F0BB100D972D0201864002818640030186400F7 +:2088E0006FD10B9185B8E07F0BB1E078F1C0060F40016FD04588150A12016ED1E60FA000D3 +:2089000042214005692040006BD300D810F0596234796876147969D58226011E167D3E66C1 +:208920008016011101E00F78001D6410E308D28061D100D811F0D26A1B7DD47EDD65287648 +:208940005FD38226011E167BBE6698160D1101E00F78001B6403E30892815AD000D95478E6 +:20896000C81002014FD09A18BC00EC18640086187C008A187C0096187C008E187C009218F9 +:208980007C0047D10B9186B8D50660010BB1E07800D94DD00C1864001418640040D10B915E +:2089A00087B8E07F0BB1E078F1C0E1C540D04588130A120145D12E0FA0004221400569207D +:2089C000400000D940D01C1864003ED30AF0156A3FD534781063367D01E12F79001D24108B +:2089E000EF0912842ED10B9188B87D0660010BB1F1C02FD04588150A120136D1E60EA00024 +:208A000042214005692040002ED05478D010010131D000DA0818640021D12BD01418A4001D +:208A20000B9189B80BB11DF1F1C02CD0081001090810000903B81578157815200080C02035 +:208A4000840F00007F00860D200147B89920C50D02B8157805F1E078F1C021D0081000096E +:208A60000F7883E0CA208B0F0000042992F61AD0101000091BD103B8157815783A0E600156 +:208A800015784A0D00019920C50D137818601578CF05CFFF00E09B0030E89B003CEAFF00E1 +:208AA0007CE79B00D4E99B0078EB9B0000EAFF006DDA0000F0C5000070E89B00B8E89B004F +:208AC00078C50000E4E89B008DDA000008E99B00ADDA000098E99B0010EA9B00F8E39B0051 +:208AE00099190000D1D001D9890220012872E07807D815B88A210400A902200100DAE07852 +:208B0000F1C0F20C600101D9C9D0CAD600DD20A820D804B6A0B6A1B6A2B6A3B6A5B6A6B6C6 +:208B2000A7B6A8B6A9B6F0FFF2FFC3D14609600108D8C2D08A2104006A0A2001A972A9700D +:208B400006F016260110B4A901E00F78F708528101D9BBD0090560012CB0E078B3D001D9D6 +:208B60001102200100DAE07807D815B88A210400310220012872E078F1C0E1C5DAFFADD33E +:208B80000093B0D5181D2490019306D9201D24900293281D24900493501D24900693581D1C +:208BA00024900793601D24900893681D24900393981D24900593442002019CD0B609200118 +:208BC00081BA0993901D2490E5FF9D044001E078F1C0220C600152689BD4547A95D39A62A4 +:208BE000A092A0B3A192C492A1B3A292C7B3A3B3A39224B34592A6B33FD942B380E029B38A +:208C0000CA20420003F420D809B31D65A8B3DBFF4D04400107E80B0850000F08900000D863 +:208C2000E07EE07F02D8E07F01D8E078F1C0AA0B4001A2C185D04A2500208A20C32F041C63 +:208C400040350510930001D860C0AA77AA709A70AA755A7006F07ED18A0CA000096901D80A +:208C6000410220003A7020C01308000481E040D9CA212208D7FF20C01A706DD175D2402B29 +:208C80004321A3A9A1A9162301005961A0114007320920015AD920C06FD1167B7A62A01220 +:208CA000400702B81678B20FE000157803F0A60A00015FD04188238880E2CC21218005F4C7 +:208CC000068EEF085080AB26447000000000AB268470FFFFFFFF56D080E14288CC22218013 +:208CE00005F45AD022108000AFE806EA402540202F2507200F0D932285E958D0068880E083 +:208D0000C3F457D00088190851000D0DB2228B7154D003F054D06E0DA00001DA00D941C185 +:208D200020C0BDFF60C0170850004CD0068880E0CA244220CA254220A7F44A21402000D81F +:208D40009A70BA70A1F03AD0229880E1CC21828FFFFF02FC0CF201C0386041C04024402013 +:208D60002F240720402240202F2207204C2280A216010B0020C135D024A83CD03CD1060DAF +:208D8000A00001DA01C0320B60018A7141C039D081C1F20CA00002DA20C137D036786690AC +:208DA00001C029D21B6341C328D000D90410840028750CF025D000D926A830D1260BA00005 +:208DC000096901D901E5AF7D3D0D13119CE9002400011578BB7F14204E035E6602E71F679E +:208DE00058608C1000075F678C160E17C908E3808C170F17D10FC290CD0B828301D913D0C2 +:208E0000A6A8E2F18109100010D054100001452081010ED05418440019D01AD1660CA000F7 +:208E200001DA487731F0E07880EA9B00B8DA000028F7FF00709300000400E0003CEAFF005E +:208E400078EB9B0050C6000000EAFF0014DB000056C60000F09300001CEAFF0094D200001C +:208E6000C0DA0000CEDA0000DBDA000004EAFF00E5DA000040C70000F3DA000009DB000097 +:208E800006EAFF0000DFA81700F000DDA3A8A2A8A1A8B81700F054100001E5B8BA05C2FF59 +:208EA00080E7CC2121A008F4B0170EF0068E81E0B605C1FF0CFFE9706D016001A2C0E0787F +:208EC000F1C01209400184170DF00515911004159610E68D04FFF1D40026802515789960E7 +:208EE0003891EFD023B0EFD0101864004A2200201BFFEDD44029412116218105F479986177 +:208F0000A010400728170EF0041E8414B60EE0005AD90A2580240A2080240A2480240A23EC +:208F20008024E1D44029412100D81621810501AE02AE03AEF4799861A0104007181701F0EB +:208F400002B81678120DE000157804F006080001018E238E80E0CC21218006F4221580104B +:208F6000ED085080AB26447000000000AB268470FFFFFFFF0B0950002215801097E8CBD0A1 +:208F800000881D085100C9706CE0246DF60AA00001DAC9707EE0EE0AA000266DC4D0FFD914 +:208FA00024AD26AD24A826A896F0028E81E083F29016801080E07BF4229E80E1CC21828F63 +:208FC000FFFF02FC07F200205020402540202F250720D30D12210A70DE086001AA71B2D15A +:208FE000402EC4201424C2033A62F81202010022100000268225557A1422C00338608C107E +:209000000007430822042F25C0039DEF01DBB6FEA2D4F8671578152401013860996058110E +:2090200001019FD023B09FD010186400CCFEC97080204204C971AE08A000802182045A7384 +:209040002FF0402583007A6259618C1102070A71310A42002D09020001DBA3FE8FD4402E4F +:20906000C020F9671578357938609960581101018BD023B08BD010186400B9FE5A7311F0DF +:209080008AD0008813085100C9708020020A266DF209A00001DA86D0FFD926AD26A84A2457 +:2090A000402000D8901E021018F001D8901E021014F0402340200F78210872017A707BD0F8 +:2090C000008815085100C9708020420E266DB609A00001DA4A2440205415001119085E01DC +:2090E000C97080204303C971FA0F6000802183034A2440200D0C11202215801081E013F341 +:209100001D0720014A70E078F1C0E1C566D42873326834799A61A09261D14592A0B165D4C5 +:2091200042B153687B63557A757B7A629A626E9261B16F9263B1709266B17192529267B1CD +:2091400048B13FDA49B184E820D809B18BFE19070001E078F1C09E0E000157D057D1C488EA +:20916000A688008917085000287080204308760F60008021830D6920400050D000D921A8A5 +:2091800022A823A858FE79FE8C26C39FCC25829F0000FF001BF4A6FE08731F08510046D18B +:2091A00054110001A689C48945208001541904003ED001D920A891EB3CD000881B08510042 +:2091C0003FD1220F6000096907F03ED101DB0C91452080010CB1110B5100C970A971CBFFD0 +:2091E00038FF087343FE37D10C9183B80CB1710620016870F1C0DE0D0001A1C100DD60C56E +:209200002DD30513960038FE8A22C32F57FE048B1A7060C08C20C38F01D8CA24022005F45E +:2092200060C09A751A7025D63A759875BA757A7508F04A23402000D803AE02AE01AE9870EB +:209240004C2100A0CC2321A08EF41FD7068F81E08AF420C00D08800420D95EFE20C05A70ED +:209260001AD3402E422116220100031E02117961A0114007011E02114A0BE0005AD920C077 +:2092800013D1167A5B63A013400702B81678CA09E000157820F0E07852C6000028F7FF007C +:2092A00000EB9B0050C6000094D200009CFDFF008CC6000000EAFF00B8DA0000C6DB0000A6 +:2092C0003CEAFF001CEAFF0056C60000F0930000820CC000218E038E80E1CC20218005F450 +:2092E000268FF1095080AB26447000000000AB268470FFFFFFFF628E80E0CC23218007F4CE +:20930000B41701F0221182009BEA04EB01E5AF7D0F0D931285E8AED006881F0811808AE5F5 +:20932000CA25AB1220C03CFE60C01270CC2462A081F3A7D0068880E07DF300DD7DF14025DA +:2093400040200F788AE0F206EBFFBA705411000101DA81B8541904009ED02A0F60008B71C2 +:209360003A726BF1E0FDA970B5042001A1C0E078E1C4E1C0E1C1E1C2E1C3E1C5E1C6AA2016 +:209380000400AA2044000AE8AB26447000000000AB268470FFFFFFFF01D9201702F08ED31F +:2093A0000813008921AA00DD0708DE0022AA081300091FD90BB908768426101080E6CA212F +:2093C0004103257802B201D8101B2480AB26487000000000AB26C17000000100C1C6C1C5B7 +:2093E000C1C3C1C2C1C1C1C0C1C420204087E078E1C4E1C0E1C1F1C0B01701F6018985E831 +:2094000001D803A905F075D1DA0C60000969AB26447000000000AB26C17000000200D1C0BA +:20942000C1C1C1C0C1C420208087E078E1C4E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B144 +:20944000FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BF6A2451 +:209460008010E1C46A24C010E1C46A248012E1C4F1C0087700DEC97512F059D1F60FE00092 +:209480000BD858D000D98BB91A09E00000DA07D815B81209E000287201E5AF7D1B0D5311E8 +:2094A0008BEE7F1700F6B6783488F8E901DEE6A0D4A865EDF2F185E5CC26219008F44AD1A2 +:2094C000220C60004221400569204000C970D1C0C1C429200003C1C46B24C010C1C46B24FA +:2094E0008010C1C49F74C1C7C1C6C1C504140B3404140A3404140934041408340414073406 +:20950000041406340414053404140434C1C3C1C2C1C1E07FC1C4E078E1C4E1C1E1C2E1C305 +:20952000E1C5E1C66A248012E1C400D95C1703F628720DF016238E00A6860F08410300D916 +:2095400034AE26A601D901E24F7A090A530174E92870C1C429200003C1C6C1C5C1C3C1C296 +:20956000C1C1E07FC1C4E078E1C4E1C0E1C1E1C2E1C3E1C5F1C04A170DF61CD300DA05F085 +:20958000407801E24F7A250A5301162581101489F30851800681F6E868704A0B600040235A +:2095A000410569204000EFF1AB26487000000000AB26C17000000100D1C0C1C5C1C3C1C212 +:2095C000C1C1C1C0C1C420204087E0781CEAFF00D7DB000078EB9B00E7DB00006895000030 +:2095E0000400E00015DC000039DC0000F5D04C10000825B852200000E07FC0B8F1C0FCFF86 +:209600001F085100EFD14C1100080420800FFFFF00F00520800F0000E70F4C192000D1C04C +:20962000E07EE078ECF1E078A1C1E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B17B +:20964000FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BF6A244F +:209660008010E1C46A24C010E1C46A248012E1C4F1C0D5D5541C043098719C1580109D15F2 +:20968000811000DB53090100D0D6F42640108C20C38F23F2CED7A97180214207E970E60BEB +:2096A000600001DA09F01426C110056FD60B600002DA01E36F7BF30B528295C140278012EB +:2096C000C20B600002DA4027C0141A0A60004027011A692040009E158F10BED1BED09D1556 +:2096E0008E1080E7CA22420054140131CA220100B6D0E57914208C0320B4376E386045A013 +:2097000018E08871BE0CE0007CDA016EAA09200109D901E79E1DC2139E1580109D1D42106C +:20972000C0B89E1D0210D1C0C1C429200003C1C46B24C010C1C46B248010C1C49F74C1C7DA +:20974000C1C6C1C504140B3404140A340414093404140834041407340414063404140534B0 +:2097600004140434C1C3C1C2C1C1C1C0C1C4E07FA1C0E078F1C07E080001A2C197D5448D1A +:20978000658D60C280E2CC226280CC22A28017F293D68B71C970EE0A600001DA056EE60A36 +:2097A0006000266D402680123A0960004026C1176920400000DA8DBA02F08DBA250B150174 +:2097C00040270C733324C310747C007C0204060882BA06F083BA04F045220203507A09F067 +:2097E00080D10209600042214005692040007ED30E9381C1041C04300F93061C0430487004 +:209800008AFF0D9379D183B80DB300D801B178D01E0CEFFF40B149002001A2C0A1C1E1C42C +:20982000E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2F6 +:20984000FC1C88B2FC1CC8B2E1C5E1C6FC1C08BF6A248010E1C46A24C010E1C46A24801212 +:20986000E1C4F1C058D1501C04309C1182009D11800056D500DE51088100F42500108C20B4 +:20988000C38F22F25BD3802142076870F609600001DA0AF014258113056BEA09600002DAD2 +:2098A00001E6CF7EF10E529294C140238002D609600002DA4023C0042A0860004023010A15 +:2098C000692040004CD541D100DB50140231198D14210C0040B4576814E1596160A101E0EF +:2098E000D60FE00009D939ADD1C0C1C429200003C1C46B24C010C1C46B248010C1C49F7459 +:20990000C1C6C1C504140B3404140A340414093404140834041407340414063404140534EE +:2099200004140434C1C3C1C2C1C1C1C0C1C4E07FA1C0E078F1C0E1C52CD5A97080204303D9 +:20994000A971A20F2000802183032CD100D804AD060BA0002AD024D10D9184B80DB100D85F +:209960008CB8AFFFEE0D800026D018100009EFB8048D03F278E815085100A9708020030696 +:20998000A971802143060CF0AB26447000000000A97080208309A9718021C309460F000021 +:2099A0007A0BEFFF12D00DD117D000DA0DB117D00EB1FFD808A907A909A90AA90CA928F0E5 +:2099C00000808B005CFBFF0064F7FF0068DC0000400388000003880000EAFF00A8DC0000C5 +:2099E000EADC00003CEAFF0060DC0000149B0000F6DC0000E0FBFF00C09C000020AA44007B +:209A000068EC9B0010270000FFFF0000561984005506E00001D8E078E1C4E1C0E1C1E1C238 +:209A2000E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1C70 +:209A4000C8B2E1C5E1C6E1C7FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C07C +:209A6000A3D0D888641701F0F4218D0300DB8C25C39F4021020505F219880B0E011068750D +:209A800021F007BEC06210E8E46E40210E05FE6608F0F426CF101420CC0001E3001CE413C4 +:209AA000F30B128892D0FFDB1888147960B137683A6200DB60A201E0FE0DE00009D98CD072 +:209AC00038A8401700F028186403D1C0C1C429200003C1C46B24C010C1C46B248010C1C449 +:209AE0009F74C1C7C1C6C1C504140B3404140A3404140934041408340414073404140634C3 +:209B00000414053404140434C1C3C1C2C1C1C1C0E07FC1C4E1C4E1C0E1C1E1C2E1C3FC1C6F +:209B200008B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C50B +:209B4000FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C0B0FFA3170DF62D95BC +:209B60005B091F00A11702F6F012800001E00F79F01A02005FD01810000900DB1F08DE0378 +:209B800001D80DB5F01AC20048708020430C4871520D20008021830C3CF07909D202487015 +:209BA0008020830E48713E0D20008021C30E0D95A3B80DB5F01AC20029F00C9555085F01DC +:209BC0004CD2181200090420800F000000A02308810F000000A013095F0047D1060D2000C0 +:209BE0000969C20C8FFD0D9581B80DB512F0181200090420800F000010C01908810F000093 +:209C000010C03ED1DE0C200009690C9585B80CB5D1C0C1C429200003C1C46B24C010C1C47F +:209C20006B248010C1C49F74C1C504140B3404140A34041409340414083404140734041426 +:209C400006340414053404140434C1C3C1C2C1C1C1C0E07FC1C4E078F1C065FE8FE85917E8 +:209C600001F64C1100080420800FFFFF00F00520800F0000C70F4C192000A701CFFFE0780A +:209C8000E1C500DA03F001E24F7A2B0A53024F1700F6FFD940200305547820B000D8EB0818 +:209CA0001388376A157900DD7961A0A101E00F78F7F10FD000D938A839A83AA8E07FC1C552 +:209CC000E1C4E1C0E1C1491701F6048983E801D804A9AB26447000000000AB26C170000040 +:209CE0000200C1C1C1C0C1C420208087E0FBFF0068EC9B006CDD000074DD0000F1C0F20A83 +:209D0000E00000DBE0D5E1D008D96A08A000287203DFDFD2641AE48309F0001500190D08E1 +:209D2000DE0301D8641A248004E5F30E45F3BF00BCE2D8D1D8D501D82019C2002119020062 +:209D400071B16AA172B12C19C2002D19C200701DC41000D806F016210E0060AE01E00F78BA +:209D6000F708128179A57AA501D8601D0410481AE400CAD0441A2400541AE4004C1AE400AC +:209D800000D88CB8501A24005C1AE403C902E0007BA5E078F1C007D815B883D919B9060800 +:209DA000A00000DABED00688AFE8B9D1641100894D085F0003D864192480FFD82419248086 +:209DC000281924802C1924803019248034192480381924803C1924804019248044192480EB +:209DE000481924804C1924805019248054192480581924805C19248060192480A3D008D998 +:209E0000720F600000DAD1C0E07EE078F1C0E209E00008739871A3D518150119A2D700DE2A +:209E20001A970D095E0001D9181D6410208A21091204C0AA00DDA97105F01C781078A16914 +:209E4000AF790B091304F7081F80A0AA90E100DD50F61A97CCBB01DD0F204000402C4103FE +:209E60008FB91AB7008A257B87D115790019E000129781B812B7E101E000A970E1C508711B +:209E800000D881D5087305F001D801E36F7B1F0B13048DE800150218CCBA0F098100001564 +:209EA0000218E90ADF8304E5F1F17FD215085100FFD9001D60103A9261BB1221C1003AB27C +:209EC0003A928AE977D103DB1819E40032925221410032B2E07FC1C5F1C01609C0006DD7F3 +:209EE00001DE00DD167FC0AF61A76FD3129385B812B36ED0141864000818A4002018640380 +:209F00006BD519D86E0DA000A9711AD8660DA000A97107D815B883D919B98A0E6000287250 +:209F20003501C000E1C4E1C0E1C16A248012E1C460D000D924A858D11A8101E01AA1C1C4C4 +:209F400029200003C1C1C1C0E07FC1C4E1C4E1C0E1C16A248012E1C456D000D924A856D030 +:209F60005C1000084CD11B8101E01BA1E9F1E078E1C4E1C0E1C1E1C2E1C3FC1C48B1FC1C8D +:209F800088B1E1C5E1C6E1C76A248012E1C4F1C046D114110609081103090C1100093DD278 +:209FA0001B6320128D0043D02F25C8006D0D111001DD201A4203B1921019640310110E0932 +:209FC0001811010934D1258184E193F6008A89E83AD11209200042214005692040002DD501 +:209FE000C970C871E185607F00DA86E831D000D924A814F0C076130E63112CD1D1B561BE4B +:20A000001019A40306F00C11000911B51019E40021D1198101E019A127D05C100008D1C05E +:20A02000C1C429200003C1C7C1C6C1C50414063404140534C1C3C1C2C1C1C1C0E07FC1C429 +:20A04000E1C4E1C0E1C1F1C01DD0141000080420818F0000A82A05F22870BDFF06F00420E3 +:20A06000800F00005415C3FFAB26487000000000AB26C17000000100D1C0C1C1C1C0C1C481 +:20A080002020408780E2BF0000E09B005CE3BF00FCFBFF0000EAFF00A47A00001CEAFF001D +:20A0A000A8E2BF003CEAFF0098E3BF0040A0000018FCFF0060E3BF0095DD0000DCE3BF0013 +:20A0C000F1C0E1C5ADD1AED5460A2001A970ADD000D920A8A1A022A02CA88D07A0002DA8A0 +:20A0E000E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C83 +:20A1000048B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08B4FC1C48B4FC1C88B4FC1C08BF51 +:20A120006A248010E1C46A24C010E1C46A248012E1C4F1C093D63A70008EB4C180E01A71E2 +:20A1400073F42C8E01D80B0951000DAE6DF00CAE8B70BE09200150D9028689D782E8E2A6E8 +:20A160003E0BA0002A700E78892081030E7D8B702A71520AA000A972260BA0000A700E78A0 +:20A180000E25811F00004E00092100002F220620002440330A712E0AA0004A727AD10022EA +:20A1A00040231A7083701E0AA00003DA0286BA6000228104402191001B08E50373D1170970 +:20A1C0000500E2A6402680134026C115C5FF692040006ED702861709E523402090208B712F +:20A1E000E209A0000A722A7013F0027F8B71D609A000E97262D00220C223CA09A000002494 +:20A20000C1335FD49D650025801402E0E27861B802A60D8E00D92CAE07E82DAE40260016CB +:20A220004026C116AFFFB4C0D1C0C1C429200003C1C46B24C010C1C46B248010C1C49F743D +:20A24000041412340414113404141034C1C7C1C6C1C504140B3404140A3404140934041438 +:20A26000083404140734041406340414053404140434C1C3C1C2C1C1C1C0E07FC1C4E07816 +:20A28000E1C4E1C0E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1CE1 +:20A2A00048B2FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BF6A248010E1C46A24C010E1C426 +:20A2C0006A248012E1C4F1C008772ED000882875B1C14876ACE88B703608200141D900D955 +:20A2E00004F037E241A801E13F0983033B09130882E6CC262291CA22420004F4496E227AD3 +:20A300004B653B78BA6283708423030C44BB89E3C0232C0CC023E90D60A8408AC3BAC70A96 +:20A32000938230E2E0F18B71E9706EFFB1C0D1C0C1C429200003C1C46B24C010C1C46B2498 +:20A340008010C1C49F74C1C7C1C6C1C504140B3404140A3404140934041408340414073497 +:20A36000041406340414053404140434C1C3C1C2C1C1C1C0E07FC1C4000A000000E0FF0013 +:20A38000B8DD000010C8000000EAFF00E1C0E1C1F1C038D14E0DEFFF4221400469204000B1 +:20A3A000AB26C17000000200D1C0C1C1C1C020208087E078E1C0E1C1F1C02FD1260DEFFF51 +:20A3C0004221400469204000AB26C17000000200ECF1E078E1C4E1C0E1C1E1C2E1C3F1C0F4 +:20A3E000A1C16A20800125D340C08B716870960EEFFF04DA056BEE0CEFFF402381056920EA +:20A400004000AB26C17000000100A1C0D1C0C1C3C1C2C1C1C1C0C1C420204087E1C4E1C02B +:20A42000E1C1E1C2E1C3F1C0A1C16A20800114D340C08B7168704E0EEFFF04DA056BA60C10 +:20A44000EFFF4023810569204000AB26C17000000200A1C0D1C0C1C3C1C2C1C1C1C0C1C4D7 +:20A460002020808707D014D9090160002872E078FDDD00001BDE00002DDE00004ADE00006F +:20A480000C00E000E1C5D8D0FFDA40A800D90AF0D6D4146900DB01E1986060A84CA82F796E +:20A4A000F1091283D2D200D90CF000DD1269147848738223020A1B63C01B420301E12F791C +:20A4C000EB091281AA20080087B8AB200800E07FC1C5E078A1C1F1C0160BA00001DAA1C1C3 +:20A4E000C1D6C4D765C000DD40260012001C4433607FC9711CF0BDD4746D722300032D08B9 +:20A5000051000283246B001C043040260014607F04DA8B7140260015607F02DA4026C015E2 +:20A5200040230103607F01DA01E5AF7DCB0D129385C140268016607F01DA40268018A60BC0 +:20A54000EFFF4026C11C6920400008DC0B03A000A1C0E078E1C4E1C1E1C2E1C3FC1C08B157 +:20A56000FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1CC8B2E1C5E1C6D3 +:20A58000E1C7FC1C08B4FC1C08BF6A248010E1C46A24C010E1C46A248012E1C4F1C0A1C1C2 +:20A5A000B87000D8001C04308FD0018880E0F201220098718CD0028880E0E601020001D9DC +:20A5C00089D021A8130D11008BD11A0BEFFF4221400569204000150C110088D1060BEFFFBE +:20A5E000422140056920400000DD04F001E5AF7D0F0D13137DD1146D0861FAE802F0FFDDDD +:20A600008C25C39F1BF400DB12F078D4346B99610281001C04307AD06A0CEFFF01DA79D0B1 +:20A620008B71620CEFFF02DA01E36F7BDF0B128375D157022000422140056A20800880E0C0 +:20A6400000DF07F26A27C0186A204008027F66D08A20C31FC08800D807F04C8A01E00F784F +:20A660002877197648768CE02E010A00671710768C26C39F661707760CF25CD3546E59638C +:20A6800021818C26C39F7A62F961E9F3CF0D4580146D8C20C39F55D40020060324F452D036 +:20A6A000081E0001041E40010C1E8203A0A88C26C39F01D9001E42004EF204BE022744114B +:20A6C0004AD49E6604EFA8700B0F051001D882FF07F00F08C103887064E001A63CF0041EC1 +:20A6E00000113AF040280111E071C870A0A908180001CCA80A2040810225C40303F20D085B +:20A70000C50302D874FF09F00F08C103887164E1041E400003F0041E00018C26C39F01D9AC +:20A72000001E420018F231D104BED86101800020C0833E6603F21508C50303D866FF018689 +:20A74000F8600220410107F0022041011077D521610621A624D0008800DE3F0D01102DD182 +:20A76000120D600003D86B268078000000001ED0008804B8302000206B20C0086B26807878 +:20A78000000001006B2640780000000016D0008804B80270C0A000D913D021A879F01ED196 +:20A7A0004209EFFF09691DD300DA04F001E24F7A8F0A1301126A14781963C0118100786029 +:20A7C000F6E901D9C0184200C4184001C818000105D000888C20C38F33F46A208008B1E87B +:20A7E0000FD120F068DE00002CFCFF00D4FCFF0080A20000B5DE0000E1DE0000F3DE0000E8 +:20A80000F9DE000013DF000030FCFF0038FCFF0018AB000026DF00002CFCFF0030DF000013 +:20A82000C208EFFF09696B26C0780000E8036B268078000001006B2640780000000084E201 +:20A84000FFDD27F4E7D61386E7D3A8170DF0001C04308B716870607D02DA1686001C04306C +:20A86000607D056B1986001C0430607D402380021C86001C0430607D4023C003402300057D +:20A8800040234109FFDD5E08CFFF69204000A970A1C0D1C0C1C429200003C1C46B24C01072 +:20A8A000C1C46B248010C1C49F7404141034C1C7C1C6C1C504140B3404140A340414093469 +:20A8C0000414083404140734041406340414053404140434C1C3C1C2C1C1E07FC1C4E07819 +:20A8E000E1C4E1C1E1C2E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B222 +:20A90000FC1C88B2FC1CC8B2E1C5E1C6E1C7FC1C08BF6A248010E1C46A24C010E1C46A242B +:20A920008012E1C4F1C06A2180082F2547006B268078000000000B0D10001D0812030A206C +:20A94000408107F4A9D19E0FAFFF096986F06B20800884F0A6D6218E80E179F4228E80E1ED +:20A9600075F4A21702F601D922AE746800D95B6320AB40220403208EA46AF469FB626C8BFF +:20A980005F677108410060AE00D920AFFFD88C23C38F0CAF21A724F29E1701F6D60A600024 +:20A9A00003D86B26807800000000008E04B800656A21C00838606A21400822786B20C008D9 +:20A9C0006B268078000001006B26407800000000008E00D904B81D6520A50AF06B268078B7 +:20A9E0000000000083D1FE0EAFFF096901D82BF000DE06F001E6CF7E6871E973410ED31272 +:20AA00008C23C38F1CF2B46BBF62EC8F5D65E908C18004B98071E0A90C8D8C20C38F09F2AF +:20AA2000618504B8196221811A62796121A200D920ADFFD80CAD21A501D803F000D86B250E +:20AA4000800800DA6AD142A909F06BD1960EAFFF422140046920400000D8D1C0C1C4292040 +:20AA60000003C1C46B24C010C1C46B248010C1C49F74C1C7C1C6C1C504140B3404140A3471 +:20AA8000041409340414083404140734041406340414053404140434C1C3C1C2C1C1E07FDF +:20AAA000C1C4E078F1C04A0D600000DA53D350D65A170DF62DF0126A14781F65C0178F1098 +:20AAC00019654B0F511000D8C0190200C4110000C8110100A0FE8C20C38F19F4008E8C20F8 +:20AAE000C38F15F46A20800891E86870F60DAFFF216B6B26C0780000E8036B26807800001E +:20AB000001006B2640780000000001E24F7AAB0A128145054000E078E1C4E1C0E1C1E1C28A +:20AB2000E1C3FC1C08B1FC1C48B1FC1C88B1FC1CC8B1FC1C08B2FC1C48B2FC1C88B2FC1C5F +:20AB4000C8B2E1C5E1C6E1C7FC1C08B4FC1C08BF6A248010E1C46A24C010E1C4F1C06B26CB +:20AB600080780000000022D5008D20170EF61A7004B80966E46ED860850951000C888C20C0 +:20AB8000C38F00AD20F204B808663D085100211701F6E208600003D86B2680780000000007 +:20ABA000008D04B8006700D96B20C0086B268078000001006B26407800000000008D04B89D +:20ABC0001F6720A701D8B8FF402800211A6600D920AAFFD92CAA1E660286407812F0E07820 +:20ABE000A8FCFF003CDF000092DF000068DE0000A7DF0000C8DF0000D9DF000002D8AAFF78 +:20AC0000AB26C17000000100D1C0C1C46B24C010C1C46B248010C1C49F7404141034C1C79C +:20AC2000C1C6C1C504140B3404140A340414093404140834041407340414063404140534BB +:20AC400004140434C1C3C1C2C1C1C1C0C1C420204087E078F1C09E0B4000A2C1087500D864 +:20AC6000041C0430AA20440084170EF040C020E83BD3041C443081C168700A0EAFFF02DA73 +:20AC8000C97180218600FE0DAFFF036B8B7140234002F20DAFFF04DA40230004460CAFFF99 +:20ACA000402341086920400000D81FF0C11E5C10AB26447000000000AB2604700000000023 +:20ACC000DA0F200007D8AA20080087B8AB200800AB258410AB26447000000100AB26047079 +:20ACE0000000000001D879036000A2C0F1C0FE0A40001CD021801CD00C8000DD1A705D0972 +:20AD00000000590845000FF018D4D46D722600130F0851000186920B60000AD901A601E55A +:20AD2000AF7DE90D129312D700DE13F0B26EB47DB867C0108000FD6513085100C41500100B +:20AD4000660B60000AD9C41D001001E6CF7EE10E129104D104190004F5024000E3DF000099 +:20AD600068DE000000EAFF002CFCFF002CFCFF00E1C4E1C0E1C1E1C2E1C36A248012E1C462 +:20AD800000100309267B657A0018A400C1C429200003C1C3C1C2C1C1C1C0E07FC1C4E07844 +:20ADA000E1C4E1C0E1C1E1C2E1C36A248012E1C400100308267B657A0018A000E8F1E0781B +:20ADC000E1C4E1C1E1C2FC1CC8B2FC1C08BF6A248010E1C46A24C010E1C46A248012E1C48D +:20ADE0004A24007800DAA82000022F200280C02245003B7900D904F0E07801E1412A80002B +:20AE0000F909048001D8C1C429200003C1C46B24C010C1C46B248010C1C49F7404140B348B +:20AE2000C1C2C1C1E07FC1C4E1C4E1C0E1C1E1C2E1C3E1C5E1C66A248012E1C4F1C00875BA +:20AE400007E001DB00D90F21010030796FD02872C8FF6FD0AE601D654290110E5110267A1B +:20AE600042B000D800AD05F0257A42B060AD69D0C0FFD1C0C1C429200003C1C6C1C5C1C3DD +:20AE8000C1C2C1C1C1C0E07FC1C4E078E1C4E1C0E1C1E1C2E1C3E1C56A248012E1C4F1C0A5 +:20AEA000087307E001DD00D90F210100307957D02872B0FF56D043901B63257A43B055D001 +:20AEC000A0ABACFFD1C0C1C429200003C1C5C1C3C1C2C1C1C1C0E07FC1C4E078E1C4E1C008 +:20AEE000E1C1E1C2E1C36A248012E1C4F1C0087307E000D90F210100307944D028729DFF94 +:20AF000043D400DA986340A842D09AFFD1C0C1C429200003C1C3C1C2C1C1C1C0E07FC1C462 +:20AF2000F1C03DD12211800081E001D803F4D8FF02F0EBFF36D202822C8101E00F09250064 +:20AF400002A202D8B9FF00D802A2D1C0E07EE078E1C46A248012E1C4E078C1C42920000365 +:20AF6000E07FC1C4E1C500D92CD04C186000AA25C1101F0D5E10AB26C170000002000A2640 +:20AF8000803F00008AAF202080874A2600701F0D1E10AB26C170000001000A25803F000047 +:20AFA000A6AF202040874A2600706B2640790000004001D91AD024186400AB26087000001E +:20AFC0000000E07FC1C5E078E1C5E1C600D9287228750EF013D3567BC08311088203C283FC +:20AFE00009088303229B01DD01E24F7A8C22C38C42F672ED8C22C38C03F40BD02A982870B6 +:20B00000C1C6E07FC1C5E07840E09B0014E0000048E09B0000EAFF00B4FFDF00ECE09B0018 +:20B02000ACCA00002CD2000000D80AF061D100DA167940A901E001DA0F7841A9F10812848A +:20B04000E07EE078E1C4E1C1E1C2E1C3E1C5E1C66A248012E1C4F1C0A1C100DB68750CF0D3 +:20B0600054D2B67AC08A86EE01DB21A201AA60AA01E5AF7D070D131474EBA2EB4ED6001CEF +:20B0800044308B71C970FE09AFFF02DA00DD0EF048D0B678018001E5001C04304026001325 +:20B0A000E209AFFF02DAAF7DE90D1294402640143208AFFF40268119692040006870A1C0AF +:20B0C000D1C0C1C429200003C1C6C1C5C1C3C1C2C1C1E07FC1C4E078E1C4E1C1E1C2E1C3AE +:20B0E000E1C56A248012E1C400D928730DF031D2767AA1820F08410300D920AA21A201D9C3 +:20B1000021AA01E36F7B090B130473E92870C1C429200003C1C5C1C3C1C2C1C1E07FC1C4B3 +:20B12000E1C4E1C1E1C26A248012E1C400D901D822D200AA03F001E12F79170913041DD06F +:20B1400036780088F308518000D800AA02F001D8C1C429200003C1C2C1C1E07FC1C4E0788E +:20B16000F1C08E0E000000DEEEFFA2E811D0E0881CF0350F51100B0E3314D678E888018094 +:20B1800088E80FD15E0F6FFF422140056920400008D5D67D01854078018D0B08510000D8DB +:20B1A00000AD04D001E6CF7ECB0E1294A90600001CFDFF0024E0000020E0000077E0000039 +:20B1C000F1C02E0E2000FFDB3BD23CD000D901DD0DB296D810B23AD064AA65AA66AA64A886 +:20B1E00065A866A867A868A869A86AA86CA83D18C20067AA68AA69AA6AAA6CAA3D1AC2004E +:20B200002ED36DB02FD68A27FF1F96DBE0A02BA82DA82EA828B02BA03C1842002DA0AEA079 +:20B22000A5A0CEB0CFB070B023184200241842002518420026184200CCD8E0A22BAA2DAAE0 +:20B240002EAA28B22BA23C1A42002DA2AEA2A5A2CEB2CFB2231A4200241A4200251A4200F0 +:20B26000261A4200421A4400441A4400461A4200471A0200481A4200521A4400541A4400FF +:20B28000561A4400581A44005A1A44005C1A4400601A440039A23AA23BA2701A4400721A26 +:20B2A0004400741A4400781A4400AD0520007A1A4403E07800EAFF00102700009CFDFF00E5 +:20B2C000FFFF0000F1C0F209200035D02220800F000070C4D1C0E07EF1C00A0D0000FC1CCB +:20B2E000C8B630D000880A23003780E0480A0200AE08A00000DE3A7002B807E084203F0FBF +:20B30000AE08A00002241C308B703D0972201A702A759208A000C970860920005A7004E099 +:20B3200084203F0F8A08A00002241C308B77E970360A20004A7115208C2361BDE0A4D70D97 +:20B34000759001E617D000DA15204C2440A45BD922A02A70A60F6FFC0A7139020000E078F9 +:20B36000F1C011D080E0E1C56C0A01000DD501850CE80ED00ED19A0F600002790DD006E856 +:20B380000DD18E0F60000279EA0A000000D84208A00000ADCCFFD1FFCD0400005CC4000068 +:20B3A00084E00000000000006CF2FF006CFEFF000000000000000000E078E078E078E07803 +:20B3C0000A2480F005204400E020C1074424FE80412AC400840002002F2402F14221010158 +:20B3E00042200301E820A20404110402041105020411060204110702041B0801041B480137 +:20B40000041B8801041BC8012C00250044223E813C0022004422FC804021C100E020C107FC +:20B420004023C300A820800101118402011B0A012020C0070411040204110502041B080178 +:20B44000D407E1FF041B48014422FC8004110402C907EFFF041B080142214100422043009D +:20B46000A820800101118402011B0A012020C0076A23400920DA8DBA167B001BA4001FD85F +:20B4800007B8021B240041290004041B2400061B6400D5010000E078ECF1E078F1C0E1C5BC +:20B4A000087504D2FA09200000D9BD032000A278FFFFFF7FF1C03E0B0000087619D51E0F34 +:20B4C000600001850085A4E0CA268A1FFFFFFFFF4BF685E814D215D140A115D11579C0A1B8 +:20B4E00001E000DE00A5FA0E6000018571032000C970E078F1C0FE0A00000AD0C0800BEE09 +:20B50000D17D0BD061BEF0208003607861BDF70D55904D030000E078B906600005D0E0787D +:20B5200090E00000F4B400009CE00000DCFDFF0094E000006A208002452080012120C00731 +:20B54000292000006A208002452080002120C007292000006A208002452000012120C007E6 +:20B5600029200000F1C08E0A000008762875287007D22E09200000D9A2784168C970460E2D +:20B58000EFFFA971D9022000C970E078FFFFFF7FF1C0E1C507D10875008186E801D81E0900 +:20B5A000200000A13E0E6000A970BD020000E07898E00000E07EE078F1C0360A0000087750 +:20B5C000287568764870E971FA0DEFFFA97289022000A0A6F1C01A0A000020D0A1C184E84A +:20B5E00000D814F01ED10089C9E008F40189CEE004F40289C9E004F201D807F0038983E039 +:20B6000002D8CA202C0006E8EBFF4D022000A1C003891F08D20040210E02E18115F08B7337 +:20B62000C970607FA97103E522BDB57E0DF00DD7C4690BF040210E02E70D73904081B37980 +:20B64000CE0C60004870C971A18184ED00814AE8F2ED08E1FAF1E07800000000000000006D +:20B66000B8B5000000D86B200004E07F4A260070AA21810C8421C38FE07CAA210102C2D8A4 +:20B68000AB20010201D8AB20C101AA20010284200480FDF5E07FAB210102E0782F7903F06E +:20B6A00001E061BA8C22FF8F05F26088F509C18002F000D8E07EE078F1C0E1C509D50085FA +:20B6C00080E0E220020000D800A507D0008080E0E220020091010000F0F1E078E07EE0784D +:20B6E0009CE00000A0E00000F1C00609200000DB32D70875357F208000870EE8C08005EA0D +:20B700000B0E441008F011098503C28006EE0873C970F6F108766870C2A584E8A0A703F0EE +:20B72000A2A035010000E078F1C0288800DAEFFF00D8D1C0E07EE078F1C0228002E12F7913 +:20B7400001DAEAFF00D8F7F1F1C0E1C51BD0A18005ED01854078A285FDED0D010000E0785B +:20B76000F1C0E1C515D0A38005ED01854078A285FDEDF5000000E078F1C0E1C510D1008123 +:20B780008CE801D800A10DD1A28100D802A106ED01854078A285FEEDCD000000F1C0E1C5D8 +:20B7A00006D1A08100D800A105ED01854078A285FDEDB5000000E07850D20000A4E0000024 +:20B7C000FC1C88B6FC1C48B6FC1C08B6FC1CC8B5FC1C88B5FC1C48B5FC1C08B5FC1CC8B4BF +:20B7E000FC1C88B4FC1C48B4FC1C08B4FC1CC8B3FC1C88B3E07FFC1C48B3E07804DC38DD68 +:20B8000035F0E07804DC34DD33F0E07804DC30DD31F0E07804DC2CDD2FF0E07804DC28DD94 +:20B820002DF0E07804DC24DD2BF0E07804DC20DD29F0E07804DC1CDD27F0E07804DC18DDD4 +:20B8400025F0E07804DC14DD23F0E07804DC10DD21F0E07804DC0CDD1FF0E07804DC08DD14 +:20B860001CF0E07804DC04DD19F034141A30301419302C14183028141730241416302014BE +:20B8800015301C1414301814133014141230101411300C14103002C701C6B0244D33B02499 +:20B8A0001F33E07E0A2240804A21000028000200470340000A2240804A210000080002006C +:20B8C00025034000A40024002F2600F04A260070900005004220FE834A2640005C000D0082 +:20B8E0004220FE814A24007124000D004220FE804A24C0701C000D0042207E804A248070F2 +:20B9000014000D00150020004A2440702F2003002F2003002F2003002F200300A8200003A0 +:20B9200000200080012141000221BE80C0208601C22186002020C0070A2600F04A25000835 +:20B9400018000100140004002F20008042254500FC07E3FFC0200380C507EFFF0A2440715A +:20B96000110020004A2500004A2540000E2242002F254B01CE2045804A2640004A2400781D +:20B98000A820000300200080012141000221BE80C0208601C22186004A2700004225FE8052 +:20B9A000CE20C20144257E80CE21C2012020C00701DC0A210080D424041313002000CE20FE +:20B9C0002400E0780A21008001DCE120C107402C8C1700DA0871D77101000000C1292604DB +:20B9E000C02225048C210480C1292602C022250290E1C1292601C022250184E1C129A60071 +:20BA0000C022A50082E1C0226500002883004E22C207402A0205857A402B4005422BC102C1 +:20BA2000E07F59612F25C0804126047000000000CC222180280321002F214090C724650033 +:20BA4000CC202180F2020100412946950621810FF0FF0000C521820F10000000320022009E +:20BA600008700A22801F100000002F2000802F214B00402646000421BE8242264600120038 +:20BA800002002F200080F307EFFF2F214B00412D47850623880FF0FF0000C520821F1000D3 +:20BAA00000003400220048720A22801F100000002F2280802F200B12402747000420BE92BC +:20BAC00042274700100002002F228080F107EFFF2F200B128C26DF8F080201008C27DF8FB5 +:20BAE000320221000026C6018226CF0F597079714A2100104A27000000D800D94A250000BF +:20BB000000DC4A24407DA82040062F2002922F22848016000600002585820124CC920120EC +:20BB200040820121C1012F2280922F23CB922F214B922F27CB014029010341280205457963 +:20BB40004028090340280003412C02154578402C0C134C250080C524A21042263E80460042 +:20BB60000C000421BE8F2000000016000100402646002F2142802F2004802F2404134224AF +:20BB80003E903A000A000424BE9FFF7FFFFF0E00020044207E802600010040204080412177 +:20BBA00001000421BE8F2000000012000100402646002F2142802F2004008C26DF8F0801A5 +:20BBC0000A004C2600801C000C000621810F10000000402E020545792F2203014579E07ED6 +:20BBE0008C26FF82F0000B0002268A710000000042224A904A2600708A000B008E000100B2 +:20BC00004C2200984A2600702A000B0042220A1805240C908A23FF1F10000200002B8B1219 +:20BC20008723FF1F0421CC02012980025F00200000D980E48A23FF1F1C0002004C220098F2 +:20BC4000C223CA1208000A00002B8B128723FF1F0420CC0202268BF2000020000029CB02D4 +:20BC60001200090040220B180129C0021300200000D901288002012981020520C0020F00DE +:20BC800000002F2000802F214B004420BE804A2600701E00010044204A0105223E934A2682 +:20BCA00000700E00010040208080412101002F2142802F2004002F2142802F200400022650 +:20BCC000860185F18A26DF0FCF7110000000FF06EFFF00D80226860100D9F306EFFF00D867 +:20BCE000D77110000000CC2021802F210301C521820FF87F0000C07873F58C27DF8F160046 +:20BD000001002F2103010521810FF07F000000D867F10C20809F10000000CC2221802F213F +:20BD20000301C521820FF87F0000C521810FF07F000000D855F10C25808FE0FF00004A267F +:20BD400000702E0006004A26007000D800D94C240080C521820F0080000043F1C724650043 +:20BD60000C21809FE0FF0000B1F74A260070CF71F87F000000D835F1087448708972287490 +:20BD800068718973CF74E0FF0000142446101424CA10B6BC0C260083CC220593DE0026005B +:20BDA00096BC0426060304220A13022686822F2684010026860FE03F000000260A83CC2632 +:20BDC0000383500104000721CA80CF26E40706210403867B4F24040594BBB8700C24C080A4 +:20BDE000CC258180140006000226860F1000000000254581012404014A24807500D9A82051 +:20BE0000C0040C24C080CC258180120005000F21010F022585800324C4000025458101247E +:20BE20000401052440814A24007800D8E820A2040C24C080CC258180100005000F20000FF2 +:20BE4000022585800324C40000254581012404012F200300412981802F200480C071E120F4 +:20BE6000C60744204C0005240C1105244C91E07C40204080E07F4121010002220A93CC220C +:20BE800021801A0002002F2640F02F210403CC202180CF21E104E07F00D80C220093CC22C1 +:20BEA0002180CA208D00E120CD07CA21CD0002260683CC202180E120C107CA2121000C2698 +:20BEC0000083CC2205934C0005000C260083CC202180E120CD070C220093CC222180CA20B7 +:20BEE0008D00E120CD07CA21CD000C220093CC222180CC260183CC202180E120C107CF211C +:20BF0000E1040C260083CC202180C078E07FC0792F25C0804126047000000000CC2221802C +:20BF20004A260070B20221002F214090C7246500CC2021804A260070CC020100412946955B +:20BF40000621810FF0FF0000C521820F100000003200220008700A22801F100000002F20BE +:20BF600000802F214B00402646000421BE8242264600120002002F200080F307EFFF2F21CC +:20BF80004B00412D47850623880FF0FF0000C520821F100000003400220048720A22801FFC +:20BFA000100000002F2280802F200B12402747000420BE9242274700100002002F2280807F +:20BFC000F107EFFF2F200B128C26DF8F4A260070660201008C27DF8F4A2600708E022100F4 +:20BFE0000226C6018026CF0F4A24C07D4A2300104A220010A82080052F2280922F23CB124B +:20C0000002213E82CC208180C52266100C00050002208080032101022F2000802F214B002F +:20C0200005210C00697149700421BE8F40000000C22661000C0002002F2000802F214B00C8 +:20C040004C2600804A26007072000C004420BE804A2600703400010044204A010524BE92B1 +:20C060004A2600702400010040208080412101000421BE8F80000000C02662000C000100B1 +:20C080002F2142802F2004002F2142802F2004002F2142802F2004008C26DF8F4A26007071 +:20C0A0001A010A000621810F10000000402E020545792F2203014579E07E2F2142802F208F +:20C0C0000480C52465102F2142802F200480C52465108C26FF824A260070F2000B00022603 +:20C0E0008A710000000042224A904A2600708C000B00900001004C2200984A2600702C00ED +:20C100000B0042220A1805240C908A23FF1F12000200002B8B128723FF1F0421CC0201293D +:20C1200080026100200000D980E48A23FF1F1E0002004C220098C223CA120A000A00002BCE +:20C140008B128723FF1F0420CC0202268BF2000020000029CB021400090040220B18012901 +:20C16000C0021500200000D901288002012981020520C0020D0000002F2000802F214B0039 +:20C180004420BE804A2600701C00010044204A0105223E934A2600700C000100402080800C +:20C1A000412101002F2142802F2004002F2142802F2004000226860176F18A26DF0FCF715E +:20C1C00010000000E106EFFF00D80226860100D9D506EFFF00D8C7246500CC202180740028 +:20C1E00001000C21809FE0FF0000CF71F07F000060000D004C240080C521820F0080000010 +:20C2000000D8E07E0C25808FE0FF00004A26007040000D0000D912000500CC2221804A26AD +:20C220000070300002004C240080C521820F0080000000D8E07ED771100000004A26007007 +:20C24000100002008C27DF8F4A2600700E000200CF71F87F000000D8E07E2F210301052154 +:20C26000810FF07F000000D8E07E0C20809F10000000CC222180CA202100CA212100080080 +:20C280000200E07EE6F1E0782F2340804A24C002140026006F220A006F220A002F2282008A +:20C2A0004A2480022F244090C0226500412C43158C23DF8F48002100532101858E23D084DA +:20C2C0001A00240094B99FE30129C000CA20290051220080E07FCE2021004E23030090737C +:20C2E0004E230C08012800030029C1002578CA208900D1222C80E07FCE202100CC202180F9 +:20C300004870D1202280E07FC02062000A224080F1C044F253207E8009F453227E8007F482 +:20C3200022BA130A150200D908F0D608200000D934F0296A23B9C2BA610A150240278C734E +:20C3400033248210547C207C00DB120406080A0C0E1008721CF0087218F0087214F0087255 +:20C3600010F008720CF0087208F0087204F00872041AD000041AD000041AD000041AD00035 +:20C38000041AD000041AD000041AD00080E1041AD000C22169002EF6D1C0E07EE07F01D8ED +:20C3A00002D1E07FF0210000A8E00000E1C4CF74FF00ACEA150C0317CF74FF00ACF10D0C02 +:20C3C0000217C1C42020C007FF7FE078E07EE078E07EE078E07EE078E07EE078E07EE07854 +:20C3E0000507CFFB0A2600F08A20BF0FCA206400E07F2F200300E07F8A20FF0FE1C52F796B +:20C4000040290302257B402B01046579250A3402087305F0011B520061BA53237E80FCF5FD +:20C42000412A8D00C1BA42254D90041B5000FDF509EA2F248970E078A8204001011B5200D6 +:20C44000E078E07FC1C5E078001680700000B0E042204080040001002020C007FC1CC8B7EC +:20C460002220800F000078B704141F342020C007FC1CC8B7CF70000044D2B20A8FFFE078BC +:20C480002220800F00009CB704141F342020C00700000A0016002000280032003E004B00E3 +:20C4A000FFFF000007000F00140020002A0034003E004B00FFFF0000AD007F01A901FFFF7A +:20C4C00040420F00E0FD1C00E06F0A00F07E0E0020A10700E06F0A00C814050020A1070033 +:20C4E000C0D40100A0F70300020406061000000000010202030000000000412D412D412D99 +:20C5000000009832C623B0390000D833F73D91290100010001000100020002000300030078 +:20C52000030003000300040002000D00000000000000000000000000020005000F000000C9 +:20C5400000000000000000000200050007000E0000000000000000000200050007000600AB +:20C5600007000E000000000002000500070007000700060007000E0063FDAC02F703630301 +:20C58000570037FD3FFDFD00DB040E04B9FD54F71BF9CF060A1BF8292C026EFCB5FB14FE5C +:20C5A000FB018B02A1FEADFBF8FE3205F704BCFBD7F4EAFE6419C33053FDA701D5025F007B +:20C5C000D3FD3F00BD03E00077FB50FE7D06E90346F6E2F617158037770264FF52FD9101C9 +:20C5E000AF0240FD9CFD3704A801E3F9D9FFF008E1FC23F18C0EAE3D14FA820C433ADCF9C0 +:20C60000760D273A9EF9560E2C3AD2F7850E683BABBAB39D212983925D91903B57CD46A4FB +:20C620007A254C9AC597DA3A1FE0E2AA2C2240A3099F2B3A62F281B12F1F43AD17A78439FD +:20C64000E9046505DE055A0640056004C003480300080001000160001000000600200004E5 +:20C66000FF0360003000001800100002000260001800000C00000000000000000000000078 +:20C680000001000160000D0000060004FF036000300000180002000260001800000C0000EF +:20C6A00000000000000000004000000160001000A0008000000160001000A0000001000196 +:20C6C00060002000A0000002000160002000A00000010001400030007F00000200014000E3 +:20C6E00070007F00000400014000F0007F00000800014000F0017F0080000001200010002D +:20C700005F0000010001200030005F0000020001200070005F00000400012000F0005F00A3 +:20C720000000000000000000000000000000000000000000000000000000000000000000F9 +:20C74000000000000000000040008000000100020001000200040008800000010002000480 +:20C76000000000000000000000006000C000800180020000800100030006000A0000C00042 +:20C780008001000300050000000000000000000072017D019301C001C605F3054D060007AD +:20C7A000E302FA0226038003000000000000000034013D0150017501D004F5044005D505C6 +:20C7C00068027B02A002EB0200000000000000000801100120014001200440048004000576 +:20C7E00010022002400280020000000000000000E700EE00FC0018019C03B803F0036004A6 +:20C80000CE01DC01F801300200000000000000000A2A00004C4B0000B84B0000E84B000040 +:20C82000344C00004C4C00007C4C0000B04C0000E44C00000C4D0000644D0000784D00001D +:20C840003C4E0000484E00007C4E0000A84E00002C4F0000684F0000844F000000000000F3 +:20C860000000000000000000000000000000010000000000000000000101000000000000B5 +:20C8800000000101010000000000000001010101000000000000010101010100000000008C +:20C8A000010101010101000000000101010101010100000001010101010101010000010161 +:20C8C000010101010101010000000000000000000001000000000102030405060708090023 +:20C8E000555342000000000000000000000000000000FFFFFFFF0000000000000000000052 +:20C9000000000000000000000000000000000000FD3EFD3CFD3BFD39FD37FD35FD34FD326F +:20C92000FD30FD2EFD2DFD2BFC3FFC3FFC3EFC3DFC3BFC39FC37FC36FC34FC32FC30FC2FDE +:20C94000FB3EFB3DFB3BFB39FB37FB36FB34FB32FA3EFA3CFA3AFA39FA37FA35FA33F93DA5 +:20C96000F93BF939F938F936F934F83CF83AF838F836F835F73BF739F738F736F63BF639B5 +:20C98000F638F636F53BF539F537F535F439F438F436F339F338F336F239F237F13AF138DE +:20C9A000F137F039F037EF39EF38EE3AEE38ED3AED38EC39EC38EB39EB37EA38EA37E93823 +:20C9C000E839E837E738E639E637E537E438E338E239E237E137E038DF38DE38DD38DC38AF +:20C9E000DB38DA38D938D838D737D539D438D338D238D038CF38CE37CC38CB38C938C83799 +:20CA0000C638C438C338C138BF38BD38BB38B938B738B538B338B138AE38AC38AA38A7381D +:20CA2000A538A2389B3A9A399838973795369435923591348F338D328C318A30882F872E75 +:20CA4000852E832D812C802B7E2A7C297A28782776277426722570246E236C226A216820F9 +:20CA60006520631F611E5F1D5C1C5A1B571A5519531950184E174B164815461443134012EF +:20CA80003E123B113810350F320E2F0D2C0C290B260B230A20091C081907160612050F0475 +:20CAA0000B04080304020101000000000100000000000000020000002D0100000300000020 +:20CAC000DD010000040000005A02000005000000BB020000060000000A030000070000003C +:20CAE0004D030000080000008703000009000000BA0300000A000000E80300000B0000008E +:20CB0000110400000C000000370400000D0000005A0400000E0000007A0400000F000000B3 +:20CB20009804000010000000B404000011000000CE04000012000000E7040000130000009E +:20CB4000FF0400001400000015050000150000002A050000160000003E05000017000000F0 +:20CB600052050000180000006405000019000000760500001A000000870500001B00000088 +:20CB8000970500001C000000A70500001D000000B60500001E000000C50500001F00000052 +:20CBA000D305000020000000E105000021000000EF05000022000000FB050000230000003D +:20CBC0000806000024000000140600002500000020060000260000002C060000270000003F +:20CBE000370600002800000042060000290000004D0600002A000000570600002B0000005A +:20CC0000610600002C0000006B0600002D000000750600002E0000007F0600002F00000086 +:20CC2000880600003000000091060000310000009A06000032000000A306000033000000C0 +:20CC4000AC06000034000000B406000035000000BC06000036000000C40600003700000006 +:20CC6000CC06000038000000D406000039000000DC0600003A000000E30600003B00000057 +:20CC8000EB0600003C000000F20600004600000035070000500000006F0700005A000000CD +:20CCA000A207000064000000D00700006E000000F9070000780000001F0800008200000001 +:20CCC000420800008C000000620800009600000080080000A00000009C080000AA00000008 +:20CCE000B6080000B4000000CF080000BE000000E7080000C8000000FD080000D20000009F +:20CD000012090000DC00000026090000E60000003A090000F00000004C090000FA00000085 +:20CD20005E090000040100006F0900000E0100007F090000180100008F09000022010000A4 +:20CD40009E0900002C010000AD09000036010000BB09000040010000C90900004A010000F0 +:20CD6000D709000054010000E30900005E010000F009000068010000FC0900007201000059 +:20CD8000080A00007C010000140A0000860100001F0A0000900100002A0A0000F40100007C +:20CDA0008B0A000058020000DA0A0000BC0200001D0B000020030000570B000084030000AE +:20CDC0008A0B0000E8030000B80B00004C040000E10B0000B0040000070C000014050000F4 +:20CDE0002A0C0000780500004A0C0000DC050000680C000040060000840C0000A406000055 +:20CE00009E0C000008070000B70C00006C070000CF0C0000D0070000E50C00003408000044 +:20CE2000FA0C0000980800000E0D0000FC080000220D000060090000340D0000C409000087 +:20CE4000460D0000280A0000570D00008C0A0000670D0000F00A0000770D0000540B000002 +:20CE6000860D0000B80B0000950D00001C0C0000A30D0000800C0000B10D0000E40C0000A8 +:20CE8000BF0D0000480D0000CB0D0000AC0D0000D80D0000100E0000E40D0000740E00006A +:20CEA000F00D0000D80E0000FC0D00003C0F0000070E0000A00F0000120E00000410000043 +:20CEC0001D0E000068100000270E0000CC100000310E0000301100003B0E00009411000030 +:20CEE000450E0000F81100004F0E00005C120000580E0000C0120000610E0000241300002D +:20CF00006A0E000088130000730E00007C1500009C0E000070170000C20E0000641900006E +:20CF2000E50E0000581B0000050F00004C1D0000230F0000401F00003F0F000034210000DA +:20CF4000590F000028230000720F00001C2500008A0F000010270000A00F000004290000B0 +:20CF6000B50F0000F82A0000C90F0000EC2C0000DD0F0000E02E0000EF0F0000D4300000DF +:20CF800001100000C832000012100000BC34000022100000B036000032100000A43800003E +:20CFA00041100000983A0000501000008C3C00005E100000803E00006C10000074400000CA +:20CFC0007910000068420000861000005C44000093100000504600009F1000004448000074 +:20CFE000AB100000384A0000B71000002C4C0000C2100000204E0000CD1000001450000034 +:20D00000D810000008520000E2100000FC530000EC100000F0550000F6100000E45700000B +:20D0200000110000D85900000A110000CC5B000013110000C05D00001C110000B45F0000EB +:20D0400025110000A86100002E1100009C63000037110000906500003F11000084670000DB +:20D0600047110000786900004F1100006C6B000057110000606D00005F110000546F0000D8 +:20D0800067110000487100006E1100003C73000076110000307500007D11000024770000DC +:20D0A00084110000187900008B1100000C7B000092110000007D000099110000F47E0000EB +:20D0C000A0110000E8800000A7110000DC820000AD110000D0840000B3110000C486000001 +:20D0E000BA110000B8880000C0110000AC8A0000C6110000A08C0000CC110000948E00001C +:20D10000D211000088900000D81100007C920000DE11000070940000E4110000649600003B +:20D12000E911000058980000EF1100004C9A0000F5110000409C0000FA110000349E000060 +:20D14000FF11000028A00000051200001CA200000A12000010A400000F12000004A6000087 +:20D1600014120000F8A7000019120000ECA900001E120000E0AB000023120000D4AD0000B9 +:20D1800028120000C8AF00002D120000BCB1000032120000B0B3000037120000A4B50000E9 +:20D1A0003B12000098B70000401200008CB900004512000080BB00004912000074BD00001E +:20D1C0004E12000068BF0000521200005CC100005712000050C300005B12000044C5000055 +:20D1E0005F12000038C70000641200002CC900006812000020CB00006C12000014CD000090 +:20D200007012000008CF000074120000FCD0000078120000F0D200007C120000E4D40000D1 +:20D2200080120000D8D6000084120000CCD8000088120000C0DA00008C120000B4DC000012 +:20D24000901200007900000018B500000000000000000000000000000000000000000000E6 +:20D260004152435F70726F6772616D000046572053544152544544000044535020636F6470 +:20D2800065206973206C6F6164656400FF000000000000000100FF000000000000000000A5 +:20D2A000000044455445435420200054554E45442020004445544543542020002021212139 +:20D2C00020415353455254494F4E20212121203A00496E76616C6964205350562073746151 +:20D2E00074650054494D4520005350562020005455524E4F4E20005455524E4F4646200083 +:20D300000000414320434F4E464947205245545259002021212120415353455254494F4EA2 +:20D3200020212121203A004257000041432052445900575046205374617274203A3A2054C1 +:20D34000756E652054696D65203D00000000000020212121204552524F5220212121203A6F +:20D36000004F766572666C6F77207768656E206372656174696E6720726573706F6E73658B +:20D3800000005245515545535420554E4B4E4F574E3A006949442020203A006950726F2090 +:20D3A000203A006956657220203A0069444C656E203A000000000000004E4F205450532009 +:20D3C00053594E4348524F20574F524400000000575046583032203A3A2054756E65205460 +:20D3E000696D65203D00575046583031203A3A2054756E652054696D65203D00FF00000094 +:20D40000002D2D2D2D2D2D2D2D2D2D2D004620002021212120415353455254494F4E20211B +:20D420002121203A004257000000000000000000080000000000004745545F435458204918 +:20D440004E56414C494400005345545F43545820494E56414C49440000504220434F4E54C7 +:20D46000524F4C5F56455253494F4E0020212121204552524F5220212121203A00556E6508 +:20D480007870656374656420694D6F64650020212121204552524F5220212121203A005532 +:20D4A0006E657870656374656420694D6F646500534554434D442050524F43454455524515 +:20D4C0002000000000000000000000000057504631373A3A46436E743D3D30000057504661 +:20D4E00030313A3A41205072696F7269204F4B000057504630323A3A41205072696F72692E +:20D50000204E4F4B00005750463033203A3A205265736574203A3A2031303025205045528B +:20D520000057504631383A3A7761726E696E673A3A506F73746C696D6974202020005750EB +:20D540004631383A3A7761726E696E673A3A5072656C696D69742020200057504631383A08 +:20D560003A7761726E696E673A3A4563686F20636E7420202000005750463036203A3A20BC +:20D580005761726E696E67000057504630373A3A4E6577204563686F3A3A6D6F7665207465 +:20D5A0006F20737461746520322E31005472436844656C200057504631333A3A436F6E730C +:20D5C000657273617469766520547261636B696E672020000053796E636865636B20736F1B +:20D5E00066742072657365740057696E706F7353746174652E4F44535053746174652E43B7 +:20D60000505368696674203D000057504630343A3A53796E636865636B2068617264207211 +:20D6200065736574000057504630353A3A53796E6368726F6E697A6174696F6E20436865F1 +:20D64000636B204F4B000052657365742030303100005265736574203030320000575046EC +:20D6600030383A3A545259264641494C000057504630393A3A52657365740057696E6E65BF +:20D6800072204368616E2064656C617920005426462043684420000057504631303A3A522C +:20D6A00065736574000057504631313A3A412D5072696F72692D53657475700057504631B7 +:20D6C0003420202000412D5072696F72693A3A57436853746172742020002021212120412B +:20D6E0005353455254494F4E20212121203A00426164207374617465207573656420696EC6 +:20D700002077696E706F7352756E28292100004672657175656E6379207761746368646FE6 +:20D7200067206861726420726573657400000000005750463135203A3A2052657365742056 +:20D74000002021212120415353455254494F4E20212121203A0077696E706F7346696C7462 +:20D7600065723A206F766572666C6F772E0000002021212120415353455254494F4E20213A +:20D780002121203A00496C6C6567616C206563686F207468726573686F6C642E0000000059 +:20D7A00000000000FF000000000000000055534220525354000055534220434C4B00004E35 +:20D7C0004F20444154412021212121002021212120415353455254494F4E20212121203AE4 +:20D7E00000444D4120555342002021212120415353455254494F4E20212121203A0055536D +:20D80000425F44454D55582040206E6F7420616C69676E002021212120415353455254492A +:20D820004F4E20212121203A005553425F44454D5558204E756C6C206C656E677468000045 +:20D84000FFFF0000005354414C4C00004552524F52205553420000434D442053454E540088 +:20D860000055534220434D442052535400005553422054525920434D440000535055524921 +:20D880004F5553204450524900000000FF0000002021212120415353455254494F4E2021A7 +:20D8A0002121203A00504C4C31206973206E6F74206C6F636B656420696E2043524D206D2E +:20D8C0006F64756C65002021212120415353455254494F4E20212121203A005377697463ED +:20D8E0006820746F20504C4C312063616E6E6F7420626520646F6E6520696E2043524D201B +:20D900006D6F64756C65002021212120415353455254494F4E20212121203A0053776974A2 +:20D92000636820746F205854414C2063616E6E6F7420626520646F6E6520696E2043524D77 +:20D94000206D6F64756C65002021212120415353455254494F4E20212121203A00436C6FCB +:20D96000636B20737461746520696E76616C6964002021212120415353455254494F4E2016 +:20D98000212121203A00504C4C3120646964206E6F74206C6F636B206275742056434F3281 +:20D9A0005F42414E44206973206C6F636B6564002021212120415353455254494F4E2021C9 +:20D9C0002121203A00756C4E206F7574206F662072616E67650020212121204153534552C1 +:20D9E00054494F4E20212121203A00496C6C6567616C2062616E64776964746800005246E9 +:20DA00002073776974636820656E61626C6564002021212120415353455254494F4E2021CD +:20DA20002121203A004147435F545241434B494E47205245474953544552204641494C45C7 +:20DA4000442021212100000044464C5420654C4E41204F4E0000000020212121204153532E +:20DA6000455254494F4E20212121203A00496C6C6567616C204257002021212120415353FB +:20DA8000455254494F4E20212121203A00496C6C6567616C204257002021212120415353DB +:20DAA000455254494F4E20212121203A00496C6C6567616C20425700000000000000000045 +:20DAC000414320544D20466F726365642000414320544D20542D4F75742000544D20464FDA +:20DAE000554E44200061766720435073686669742000004D65616E204D5353484946542011 +:20DB00006E6567617469766500474920464F554E44200000524553455420544D2044455425 +:20DB200045435400434845434B2041435F464654204E4F4B2000434845434B2041435F47F8 +:20DB40004920204E4F4B200000004D65616E204D535348494654206E656761746976650002 +:20DB6000434845434B2041435F4749204E4F4B2000434845434B2041435F474920464F5294 +:20DB8000434544200000524553455420434845434B20444554454354002021212120415388 +:20DBA00053455254494F4E20212121203A0043616C6C65642061635F696E697420666972C7 +:20DBC00073742021000041432044455445435420544D204E4F4B004143303020544D2046EC +:20DBE0004F554E4420000054494D452D4F55542061667465722041432044455445435400CC +:20DC00002021212120415353455254494F4E20212121203A0061635F53796D626F6C476F7D +:20DC20004954466374526567697374726174696F6E206661696C6564002021212120415373 +:20DC400053455254494F4E20212121203A00494E56414C49442043414C4C4241434B00006F +:20DC600000000000000000006964782000436D6420004E657720436D6420002021212120EA +:20DC8000415353455254494F4E20212121203A005062206F6473705F416464436D6457692B +:20DCA0007468506172616D00464654200047492020002021212120415353455254494F4E6C +:20DCC00020212121203A00556E6B6E6F776E20694D6F6465002021212120415353455254F4 +:20DCE000494F4E20212121203A00556E6B6E6F776E20694257006964782000436D642000B6 +:20DD00004E657720436D6420002021212120415353455254494F4E20212121203A0050629B +:20DD2000206F6473705F416464436D6400006F6473705F73746F7000004F445350205449C3 +:20DD40004D454F555400004F445350204F46460000004F445350204F4E0000524553455492 +:20DD600020535441525420434D440000445642204F4B000049464F206661696C00000000D1 +:20DD80002021212120415353455254494F4E20212121203A0043414C4C4241434B20484175 +:20DDA00053204E4F54204245454E20494E495449414C495A4544000000000000000000006F +:20DDC000000000000000434F5252555054210000212000416E20495251207472696564209F +:20DDE000746F206C6F6720210000000020212121204552524F5220212121203A004D656D74 +:00000001FF diff --git a/as102_data2_st.hex b/as102_data2_st.hex new file mode 100644 index 0000000..144ed53 --- /dev/null +++ b/as102_data2_st.hex @@ -0,0 +1,1087 @@ +:020000040000FA +:20DE00006F7279206572726F720020212121204552524F5220212121203A00496E73747244 +:20DE2000756374696F6E206572726F7200504340200020212121204552524F522021212163 +:20DE4000203A00495251204C3100504340200020212121204552524F5220212121203A00E2 +:20DE6000495251204C32000000000000001900000A466972737420000A5420005020004E91 +:20DE800020004572726F7220230020212121204552524F5220212121203A0053544F5000C5 +:20DEA0002021212120415353455254494F4E20212121203A006973723A20696E76616C69FF +:20DEC0006420302074696D656F7574002021212120415353455254494F4E20212121203A2F +:20DEE000006973723A20696E76616C6964207049535200466C6167200050747220002021E4 +:20DF0000212120415353455254494F4E20212121203A00495352204E4F20465245452053AA +:20DF2000504143450000212157414954212100004953522052455354415254005074722086 +:20DF40000050747220005074722000507472200020212121204552524F5220212121203AB5 +:20DF600000212121204E6F7420656E6F75676820737061636520666F722077616974696E08 +:20DF8000672066756E6374696F6E202121212121000054494D45522030204E4F5420525526 +:20DFA0004E4E494E4700004953522053544F502054494D4552300020212121204552524FE7 +:20DFC0005220212121203A00494E56414C4944205553452043415345000049535220494427 +:20DFE0004C45004E20005020000000004354524C31200020212121204552524F522021219D +:20E0000021203A0054696D657220312072756E6E696E670000000000000000000000000012 +:20E0200001000000696E736572742050747220005074722000202121212041535345525409 +:20E04000494F4E20212121203A0046726565204C6F77205072696F72697479205461626C04 +:20E0600065002021212120415353455254494F4E20212121203A00426772644663744578AA +:20E0800065000000000000000100000000000000000000000000000000000000000000001A +:20E0A000000000000000000060D2000000000000000000000000000000000000000000002E +:20E0C000000000000000000000000000000000000000000000000000000000000000000040 +:20E0E000000000000000000000000000000000000000000000000000000000000000000020 +:20E100000000000000000000000000000000000000000000000000000000000000000000FF +:20E120000000000000000000000000000000000000000000000000000000000000000000DF +:20E140000000000000000000000000000000000000000000000000000000000000000000BF +:20E1600000000000000000000000000000000000000000000000000000000000000000009F +:20E1800000000000000000000000000000000000000000000000000000000000000000007F +:20E1A00000000000000000000000000000000000000000000000000000000000000000005F +:20E1C00000000000000000000000000000000000000000000000000000000000000000003F +:20E1E00000000000000000000000000000000000000000000000000000000000000000001F +:20E200000000000000000000000000000000000000000000000000000000000000000000FE +:20E220000000000000000000000000000000000000000000000000000000000000000000DE +:20E240000000000000000000000000000000000000000000000000000000000000000000BE +:20E2600000000000000000000000000000000000000000000000000000000000000000009E +:20E2800000000000000000000000000000000000000000000000000000000000000000007E +:20E2A00000000000000000000000000000000000000000000000000000000000000000005E +:20E2C00000000000000000000000000000000000000000000000000000000000000000003E +:20E2E00000000000000000000000000000000000000000000000000000000000000000001E +:20E30000F1C03FD100DA01D80019A200011922000219A2000E0900001609AFFD39D0D1C059 +:20E32000E07EE07836D000D901186200ED01AFFD34D0E078E1C4E1C0E1C1E1C2E1C3E1C502 +:20E34000E1C66A248012E1C4F1C02FD01810000925B8C0B808B83420818F8800000100204E +:20E36000830F880000010F091E018413010927D020B023D600168018A8E8FE0820006870AE +:20E3800023D5349517E88CE915951508910021D121D0F20EEFFD02DA03D815B501D8001EA9 +:20E3A00022108A0F600068701CD19E0C6FFE01D80CF08CE915951508510016D118D002DB48 +:20E3C000C20EEFFD687275B5D1C0C1C429200003C1C6C1C5C1C3C1C2C1C1C1C0E07FC1C420 +:20E3E000F1C0E1C506D50115801880E0940D420000D8001D22107104AFFE01D800E20000F6 +:20E4000034E3000068EC9B008ED2000000EAFF0090D20000D0D30000E0E30000E6D300002C +:20E4200000DAEFD0EFD31813010940B0921844002013010996188400981884009C18800097 +:20E44000941844008A21FF0FB2184400B4184400B6184400E4D1A0188400A2188400AE18EE +:20E460008400B0188400B818820054B155B1E07F99189C00E1C4E1C1E1C2E1C3E1C5E1C6E8 +:20E480006A248012E1C4D8D2349286E9359284E901D935B2D2D2961201011109520061B90F +:20E4A000961A440000D81DF0001001091109DF00AE12000101E0AE1A0400F6F19C1201006C +:20E4C0000EE988104E0986104D096499707600D807F42599307505F49C1A000001D8C1C444 +:20E4E00029200003C1C6C1C5C1C3C1C2C1C1E07FC1C4E078E1C4E1C0E1C1E1C26A24801253 +:20E50000E1C4BAD22F92090903000FB2C1C429200003C1C2C1C1C1C0E07FC1C4F1C0B2D0C5 +:20E52000AFD200D935B08A20FF0F9A1A1C00B0D0A01A4400A21A440020B021B0ADD021B0A7 +:20E5400020A808D8ECFF981A4400991A5C00D1C0E07EE078F1C0960A8FFEA1D51A709A154F +:20E5600040178C20FF8FA2C110F4A3D0078882E000DE81F48B7008719A0C2FFB08729A1D77 +:20E580001C109CD0C0A877F09AD6008E8FE88B700871820C2FFB08729A154117D709000012 +:20E5A00001D920AE9A1D1C1065F08B7040248130620C2FFB81C29A154117BB0900009A1D0E +:20E5C0001C104908112088D31593410852000014003100DFE1B68AE840260012060BEFFD4D +:20E5E0004026411203D848F03D085200021401311D783508420004D814B3F5B34026001695 +:20E60000E20AEFFD402641166B0810200014013131E9021400312F090100019601E01079E1 +:20E6200001B613F0BEFF04D8981D041003D814B3F5B34026001BAE0AEFFD4026411B02D8B3 +:20E640001AF000D921B62F09B20700DA41B6C97041E0C9718E0AEFFD42E163D15411000169 +:20E6600085B8541904008A201000A3FF54B101D802F000D8D901AFFEA2C0E078A2C1F1C093 +:20E680004A098FFEA1C128755CD1081114090876101140093A721A730A20003109B814786F +:20E6A000160AAFFE8A712F2506204FD054171376288849880D0C802F0000000800D80AF0E2 +:20E6C0005017137684E1CC22A180FAF54ED001985A7080250810422D0C1237BC9D65C8BDA2 +:20E6E000827DB07F381C44332A708020080042280C0237BC9860C8B88278107D3C1C0430E9 +:20E7000000D8001C043008720BF0307A16268010E6901418442001E12E7A001C443082162E +:20E7200000117F0A030016268110381400312491DA0AEFFBA9720014413109E8307A121809 +:20E74000442016268010A49010F016264210049238140131B60AEFFB46920014413106E8BD +:20E760001218442038140D31162642102692E9709A0AEFFB3C14023100144131C7E8162660 +:20E78000421004923C140131820AEFFB46920014413143E8141844203C140F31BDF13C14F2 +:20E7A00004316D0D0111381400316508C10317D38FC16870CE0AEFFD02DA8EC1C60AEFFD2D +:20E7C00040234007821600118B71001C0430B60AEFFD4023400EDD02200000D82CF4FF0047 +:20E7E00068EC9B0000EAFF00A4F4FF0098F6FF00C4D400001CEAFF0088EA9B00A4C400000B +:20E8000090C4000090C4000021D50000121001218A23FF0F1626401024900A7026B02A9011 +:20E820000418C4201626401006900A7107B1269122788020080042280C0237BC9860C8B8A7 +:20E840008278107A1018042000D804F001E00E78F5230D208C25FF9F07F200228F04F10D75 +:20E86000C2930418042002DD0018442300D804F001E00E7890170DF0147DB49D8C25FF9F9D +:20E8800006F265BDED0D8290001804200218C42000D8001C0430087505F0016D0E7D001C69 +:20E8A0000430F52340238C20FF8F08F202B865B8EB08828002184423C2E248F600DD06184B +:20E8C00042230218C42007F001DD061842230418C4202F27822000D83209EFFB88720C1072 +:20E8E000012190E8381400311508930A00D81E09EFFB0E1002210C10012184E882210800C8 +:20E900002F26462010100121AA70307008012A0000DF141001212E78001C4430001441312C +:20E920000CF01626011027913F67821601113860860F6FFE61B82E7812100D21E70841832A +:20E94000001C44304A2200207A750AF040234020660F6FFE821601112F2348201410002164 +:20E960004308410356F0016D4E0F6FFE82160111307D1626C1140491162641133A71002032 +:20E980004205422A0C0237BC9A62C8BA827A507A7A08EFFB26910CE80E110021027F1F0A7E +:20E9A000C52314100021C308418309F0821601113865060F6FFE61B8307D330AC5231626B2 +:20E9C000C1144791002280048508E4835A70A4910C10002180250810027D422D0C1237BCF8 +:20E9E0009D65C8BD827DAE7D1CF016264013A6900C10002180250810027D422D0C1237BC9C +:20EA00009D65C8BD827D02254D1501E5AE7D0AF000DD08F03D793FB8A2701C7802792E7D8E +:20EA2000002581152E7A022743232F21C6201A184420037102214F030A70ECB03D65ABB01C +:20EA40006EB08816401186164D118A744A24007800D91D6501E5A82000022F240293C021F7 +:20EA600085005B7A4229000237B8386049B84A0E6FFE03D9B860FBD5A4780A1804208A7062 +:20EA80004A24007800DAA82040022F200280C02245042F214024422A000237B8586049B8E6 +:20EAA000160E6FFE03D901E0A4780818042001D80CDC5F056FFEA1C0F1C02E0D4FFE3A70D2 +:20EAC0001A714877767920916870781984200E218E0F00000002D07E00DD2AF016200220D4 +:20EAE000609216214123DB63422B0C0237BC9B63C8BB827B60B16192DB63422B0C0237BCAF +:20EB00009B63C8BB827B61B16292DB63422B0C0237BC9B63C8BB827B62B1439201E043B18A +:20EB2000960D6FFEE971307801E5B07DB10DC29315054FFEF1C0960C4FFE3A702F1700F6B0 +:20EB40000810150926170DF61A71A6154011821502116FB842280C0237BC9860C8B88278FA +:20EB60005A702F230620A81540110FE042280C0237BC9860C8B882782F26062000D8FA70BC +:20EB800009F0162501106791F273CA27CA2001E00E78F30882804A2400208A772CF01625AE +:20EBA000CE1307968A150311EA744A2400780FB800DAA82000022F240293C022C5007B7BF0 +:20EBC0005B7A310A050004962F20C8340B713E0EAFFB46968EE82F2288050B702E0EAFFB38 +:20EBE000249688E8422240202F2606204A24402001E7EE7F82150011A70F0290B01544117F +:20EC00002F21C8042F228805A9702A739CFE86E895D1D20CAFFD096982150211A970802077 +:20EC2000820E4025011212110321A4FF0F0D812F000000088DD100184020B01541111C11F4 +:20EC40004021227811792A702909B300C6908615411105982278422D0122117F37B9002103 +:20EC6000400549B802E0520C6FFE03D97B08C30310110121AA154011227811786B08930000 +:20EC8000A4154011C27811785F089300A41D841310110021AA1D0410AC150011410812010A +:20ECA00000D8AC1D04108A20FF0F71D19A1D1C101B0C102028702E0CAFFD01E16DD102D8F3 +:20ECC00014B100D815B101D818F04021000940210124B20DAFFD02DA487010F001E0AC1D57 +:20ECE000041003D80AF0A41D841310110021AA1D041000D8AC1D041015034FFEF1C0EA0AF7 +:20ED00004FFE5DD51A71B21541110876F52040205AD74128C10719613C790E21800F00008E +:20ED2000000226961078607F4796B21541110FE8F52040204128C2071A6206965C7A507A62 +:20ED4000607F279603E800D807F0B21540118C20FF8FFBF301D8B41541113A70F52040200A +:20ED60001B780E20810F0000000230782696607F4796B41541110AE8F520422006965B7A2B +:20ED8000507A607F279688E8B41540118C20FF8FCA216220B615411139D0347814984128F5 +:20EDA000C10719613C790E21800F0000000226961078607F4796B61541110EE830D03478DD +:20EDC00014984128C2071A6206965C7A507A607F279688E8B61540118C20FF8FCA216220CE +:20EDE0000B9E110813000C9E090852003309102024D0402681128E0CAFFD02DAC970A97163 +:20EE000001DAFA0D200000DBA21500111D780E20810F00000002A61D4410A81D04102902DD +:20EE20004FFEE078F1C0CE094FFE13D5801500118B089F000FD000DB75B0A015001161088A +:20EE4000B30211D248709E0AAFFD216A40224005A9718021820102DE2A0CAFFDC97216F09B +:20EE6000FEFF000077D5000090C4000088D5000000EAFF002CF4FF000862000090C40000D2 +:20EE8000B5D50000D4D50000A015001101E0A01D0410FE0D20006870C97542F04022400DA5 +:20EEA000420AAFFD4022810D01DDE60D2000A970F0D02080F0D021A032F053207E808A154D +:20EEC0000011412881000CF23860ECD10D08830F0000FF0F107809F0E9D007F022780D084F +:20EEE000D20CE6D110784079881701F0159101E0107A2B0AF20015B19815001180B8981D03 +:20EF0000041002D800DD14B1B5B1DED1D609AFFD0969DDD0A0B0A1B002F003DD41016FFE80 +:20EF2000A970E078F1C0C6086FFE8A21FF0F1A70D6D09A185C00D6D015908FE8D4D02310E4 +:20EF4000800082E036022200CA262211D0D001DA55B0D0D020B0CFD07C100001CED5530838 +:20EF60001302CCD160998C23FF8F23F2C1D240824411010642790B09950131089200C3D11F +:20EF800084110201C3D17579618101E07A6241A1C2D25012020870817A6250A1BDD17C19F5 +:20EFA0000400DB01200005DED301200006DEB9D0B8D2009801E00E7900B2801200073B09F4 +:20EFC0000300B4D08A22FF0F357841A050A0B4D036782790ADD04969B0104401B1D0507A0A +:20EFE0000A73A7FD1DE8101002218C228785A9D0BE07E9FF2098A7D08010000735092300A1 +:20F000009870A4D000DA7C188400357841A050A098D020809FD04418580000DE7DF0A2D11B +:20F02000C208AFFD09699AD000D934B001DEA7F08A21FF0F00D8B87008730BF0F025C21035 +:20F040008C22FF8F03F401E0107801E3707B8872ED0B82801708820094D18A08AFFD09699B +:20F060008BD000D934B002DE89F000DF0A2640012872287528730AF05075CA224503D877BB +:20F0800001E7F07F0875C971310F031181D0F578C180110984037071CA234500B87706F036 +:20F0A000D173CA238D0328761080D10D05901072CA220D00A970E6F1A27A8C221080CA253A +:20F0C0008D017BD5A9701E08AFFD216D74D11621410127916DD04969B010440171D0507A64 +:20F0E0000A7367FD00DE8CE840254014F60F6FFD4025811466D0D4B003DE41F064D004D9DC +:20F1000034B0D5B05CD040200124C1B04025C0177209AFFD02DA0C1001215CD0A4184400BB +:20F120001010012159D0AA1844001010012157D0A2184400AC1884035ED0402001244609AA +:20F14000AFFD02DA52D0149081E001DACA228C034ED10A70A60A200001DB101000211D788F +:20F160000E20810F0000000248D0A61844001010002146D11D78A8190400D5062FFEC970C2 +:20F18000F1C06E0E0FFEA1C14BD041D540C0149584E084012D0000DF40270C7332240010B8 +:20F1A000147C007C03B20DB4A20038D1E970E9724A0A2000E973DAFC01D814B5B3F01595D9 +:20F1C0000F0851001A09CFFA02D815B5ABF0E970E1FC80E0A7F4BA0A8FFB80E0A3F42BD625 +:20F1E00036D38A21040BB0164411C970496924FD87E833D1EE0E6FFD0969F4B593F0159502 +:20F20000E90811009816001145208004981E041001D815B50AD8B8FC2AD36870C60E6FFD2C +:20F22000216B29D12E110087AC1EC413A41E04103011008782210608AA1E0410A21E0410E2 +:20F240004023C0053E08AFFD02DA40230008C9713208AFFD80218209149581E001DACA2230 +:20F26000CC0316D0C9719609200001DB0DD02EF090D20000C4D40000BCF40000FF0F000051 +:20F2800026D6000098F6FF002CF4FF0000EAFF0064F5FF00A4F5FF0050EE9B00DCF5FF0044 +:20F2A000E2F5FF0047D6000052D600005CD600008ED60000A4C4000078F6FF0098D600005A +:20F2C000A5D6000028F8FF00C971FA082FFE92DAA21600111D780E20810F00000002A61EDD +:20F2E0004410A81E04101FF001D89BFC9BE8A2098FFB99E83CD58B71A9700FFE2708910035 +:20F30000A97000C17EFE0FF0C7FE0DF0AC1700F005FF09F035D1CE0D6FFD422140056920A8 +:20F32000400035052FFEA1C0E1C4E1C0E1C1E1C2E1C36A248012E1C4501703F000DA08F0A5 +:20F34000F520818014238C0001E220B4C9E2BAF727D118110009921B040020110009941BFD +:20F360000400C1C429200003C1C3C1C2C1C1C1C0E07FC1C4F1C0E1C5141701F03491250964 +:20F38000110108170DF09915011719095200A9718021820E2E082FFE7ADA9915401704F00A +:20F3A0008A20FF0FC1040FFEE1C46A248012E1C400D8C1C429200003E07FC1C4F1C00DD13D +:20F3C000220D6FFD09690AD0181000090420BE8F000000B805F208D10C9185B80CB1730111 +:20F3E000AFFF01D878F6FF00EFD6000068EC9B000FD700003CEAFF00F1C0FA0B0FFE6876B9 +:20F400000A25009039D37FD806F48611400138D505B55FD800B3009506B3019D05B3029D04 +:20F4200004B3068D80E0CA20620080E2CA22620002BA1B7845780A228083CA22620003BAE0 +:20F44000457801B388114001449D027A43B386114101059D227802B300D88EB8CE092FFD23 +:20F4600068710E9D23D1B0190400029DB2190400019DB41904000095B6190400068DB8199E +:20F480000200DD032FFE9C194003E078F1C08DE816D140D800B101D801B100D88E092FFD11 +:20F4A0008EB808D807F014D10C9185B80CB18A20100046088FFFD1C0E07EE078F1C0042001 +:20F4C000BE8FFFFF00F0087208F20CD1160C6FFD42214005692040005322C0028CB8420BD9 +:1CF4E0002FFD8EB8E9F1E07818F7FF00F0C800002CF4FF003CEAFF0085D7000006 +:02000004008872 +:200000000000000000000000000000000000000000000000000000000000000000000000E0 +:200020000000000000000000000000000000000000000000000000000000000000000000C0 +:1000400000000000000000000000000000000000B0 +:02000004008872 +:200100000080008000800080008000800080008000800080008000800080008000800080DF +:200120000080008000800080008000800080008000800080008000800080008000800080BF +:2001400000800080008000800080008000800080008000800080008000800080008000809F +:2001600000800080008000800080008000800080008000800080008000800080008000807F +:2001800000800080008000800080008000800080008000800080008000800080008000805F +:2001A00000800080008000800080008000800080008000800080008000800080008000803F +:2001C00000800080008000800080008000800080008000800080008000800080008000801F +:2001E0000080008000800080008000800080008000800080008000800080008000800080FF +:200200000080008000800080008000800080008000800080008000800080008000800080DE +:200220000080008000800080008000800080008000800080008000800080008000800080BE +:2002400000800080008000800080008000800080008000800080008000800080008000809E +:2002600000800080008000800080008000800080008000800080008000800080008000807E +:2002800000800080008000800080008000800080008000800080008000800080008000805E +:2002A00000800080008000800080008000800080008000800080008000800080008000803E +:2002C00000800080008000800080008000800080008000800080008000800080008000801E +:2002E0000080008000800080008000800080008000800080008000800080008000800080FE +:200300000000000000000000000000000000000000000000000000000000000000000000DD +:200320000000000000000000000000000000000000000000000000000000000000000000BD +:2003400000000000000000000000000000000000000000000000000000000000000000009D +:2003600000000000000000000000000000000000000000000000000000000000000000007D +:2003800000000000000000000000000000000000000000000000000000000000000000005D +:2003A00000000000000000000000000000000000000000000000000000000000000000003D +:2003C00000000000000000000000000000000000000000000000000000800000000000009D +:2003E0000000060000000000000000000000000000000200000000000000140000000000E1 +:20040000000000000000000000000800000000000000400000000000000000000000000094 +:20042000000000000000000000F0000000000000000000000000000000F0000000000000DC +:200440000000000000000000000060006C00AE001A01380180019201FE012E0234029A02B9 +:2004600060038403C6031A042604D404F8049405EE05FA0518064806D206F0062C07560758 +:200480005C079207B00734089A08A608AC08E208E808F4086C09EA09560AC20AA60B260D1B +:2004A000500DB00DBC0DFE0D6A0E880ED00EE20E4E0F7E0F840FEA0FB010D41016116A11B6 +:2004C000761124124812E4123E134A1368139813221440147C14A614AC14E2140015841503 +:2004E000EA15F615FC15321638164416BC163A17A6171218F618761AA01A001B0C1B4E1BE4 +:20050000BA1BD81B201C321C9E1CCE1CD41C3A1D001E241E661EBA1EC61E741F981F342060 +:200520008E209A20B820E82072219021CC21F621FC2132225022D4223A2346234C23822378 +:20054000882394230C248A24F62462254626C627F02750285C289E280A29282970298229C0 +:20056000EE291E2A242A8A2A502B742BB62B0A2C162CC42CE82C842DDE2DEA2D082E382E34 +:20058000C22EE02E1C2F462F4C2F822FA02F24308A3096309C30D230D830E4305C31DA314C +:2005A0004632B232963316354035FEFFFEFFFEFF44006400A201B4023A037204A60460059C +:2005C0002C060A0762088609DC090C0A7A0B740C2E0D940DB40DF20E04108A10C211F611BA +:2005E000B0127C135A14B215D6162C175C17CA18C4197E1AE41A041B421C541DDA1D121F68 +:20060000461F0020CC20AA21022326247C24AC241A261427CE27342854289229A42A2A2B99 +:20062000622C962C502D1C2EFA2E52307631CC31FC316A3364341E350000000000000000A0 +:2006400001000100FFFFFFFF0080008000800080000000800080008000800000000000009C +:20066000000000000000000000000000FECA000000800080008000800000000000000000B2 +:2006800000000000000000000000FECA000000000000000000000000000000000000000092 +:2006A00000000000000000000000000000000000000000000000FECA002008000400000046 +:2006C0005800580059000000440021B90500000207000400080000030600000001000400CB +:2006E000B100FECA00100800030000002C002C002D000000220017B80600000408000500D9 +:200700000900000507000000010004005900FECA0008080003000000160016001700000048 +:2007200011000BB607000008090006000A00000808000000010004002D00FECA0000FECAED +:20074000FECA4000FECAFECA3800FECAFECA3000FECAFECA2800FECAFECA000000000000C1 +:200760000200040001000700050006000300ED1CD31CC41D3A1CEC4975BCC03E4E611D2AD4 +:200780005C59E77FFD0B0080008000800080008000800080008000800080008000800080B6 +:0407A00000800000D5 +:02000004008971 +:200000000000000000000000000000000000000000000000000000000000000000000000E0 +:200020000000000000000000000000000000000000000000000000000000000000000000C0 +:200040000000000000000000000000000000000000000000000000000000000000000000A0 +:20006000000000000000000000000000000000000000000000000000000000000000000080 +:20008000000000000000000000000000000000000000000000000000000000000000000060 +:2000A000000000000000000000000000000000000000000000000000FECAFECAFECAFECA20 +:2000C00000000000FA000000000000009001000000000000FA00000000000000900100000A +:2000E00000000000FA000000000000005E01000000000000FA000000000000005E0100004E +:20010000FA00900131FC2C00FA00900131FC2C00FA005E01FFFB2C00FA005E01ACF4680037 +:200120000500A000040004001A0233024502520246032D031B030E0304000400040004006E +:2001400005000500050005006200530044003500AC00AC00AC00AC00CB00A10082006B0054 +:2001600052011801EF00D100060008000A000C00FECAFECAFECAFECA00000000820000008D +:2001800000000000C8000000000000008200000000000000C80000000000000078000000D5 +:2001A00000000000A0000000000000007800000000000000A00000008200C80042FF1800E4 +:2001C0008200C80042FF18007800A000D0FD30007800A000D0FD30000500500005000500F3 +:2001E0000D01190123012901A30197018D018701030003000300030004000400040004001B +:2002000032002A0021001A00570057005700570061004B003B002E00AD0091007E006F00AB +:200220000400040004000600FECAFECAFECAFECA0000000038000000000000005000000004 +:20024000000000003800000000000000500000000000000039000000000000004B00000092 +:20026000000000003C000000000000004B000000380050007EFF1E00380050007EFF1E00B1 +:2002800039004B002EFF28003C004B002FFE4800050028000600060086008D009100940018 +:2002A000D200CB00C700C40002000200020002000300030003000300170012000E000A00C1 +:2002C0002A002A002A002A002C002000170010005A004D0045003F000200020002000300CF +:2002E000FECAFECAFECAFECA000060006C00AE001A01380180019201FE012E0234029A02FB +:2003000060038403C6031A042604D404F8049405EE05FA0518064806D206F0062C075607B9 +:200320005C079207B00734089A08A608AC08E208E808F4086C09EA09560AC20AA60B260D7C +:20034000500DB00DBC0DFE0D6A0E880ED00EE20E4E0F7E0F840FEA0FB010D41016116A1117 +:20036000761124124812E4123E134A1368139813221440147C14A614AC14E2140015841564 +:20038000EA15F615FC15321638164416BC163A17A6171218F618761AA01A001B0C1B4E1B45 +:2003A000BA1BD81B201C321C9E1CCE1CD41C3A1D001E241E661EBA1EC61E741F981F3420C2 +:2003C0008E209A20B820E82072219021CC21F621FC2132225022D4223A2346234C238223DA +:2003E000882394230C248A24F62462254626C627F02750285C289E280A2928297029822922 +:20040000EE291E2A242A8A2A502B742BB62B0A2C162CC42CE82C842DDE2DEA2D082E382E95 +:20042000C22EE02E1C2F462F4C2F822FA02F24308A3096309C30D230D830E4305C31DA31AD +:200440004632B232963316354035FEFFFEFFFEFFFF7FFF7F000000000060006000200020C4 +:200460000040004000400040002000200060006000000000FF7FFF7FFF7FFF7F0000000084 +:2004800000000000000000000000000000000000000000000000000000000000000000005C +:2004A00000000000000000000000000000000000A8FFA5FF00001501A2020C030000CBF865 +:2004C000FBF0A6F000004E21BB4C7B71FD7F7B71BB4C4E210000A6F0FBF0CBF800000C0308 +:2004E000A20215010000A5FFA8FF00000000000000000000000000000002A802B301000097 +:20050000C001B0017A0100009701890130010000140132010001000000012801D600000052 +:20052000000280010001000000010001C00000000001800080000000800080004000000034 +:2005400040004000200000000002700180010000A0000001E00000005000B000A0000000E6 +:20056000080010002B000000040008001000000002000D001C0014004400160070002200F1 +:20058000B4002800040132006801500008025000A8026400700364003804000038040000D8 +:2005A00038040000380400003804000038040000000000000000000000000000000000004B +:2005C000000000000000000000000080FECA000000000000000000000000000000000000D3 +:2005E0000080FECA0000000000000000FECAF500A41A70D30800FECAD600507712CD0700A2 +:20060000FECAB800FBD395C40600FECA9900A730B3B80500FECA00000000000000000000BD +:20062000FECA00200400B10004000300FECA00100200590004000400FECA000801002D00DD +:2006400004000500FECA00003C009300EC00E7000000F5FD41FB53F946FA0000120B101A26 +:200660007C292835933928357C29101A120B000046FA53F941FBF5FD0000E700EC00930043 +:200680003C00000000000000000000000000000000000000000000007700AD0000006BFE91 +:2006A000A8FD0000BA0481060000F3F358EF0000EF25544E0060544EEF25000058EFF3F32A +:2006C00000008106BA040000A8FD6BFE0000AD0077000000000000000000000000000000A3 +:2006E000000000000000DBFE2208BD030AFFA7FADCFA36015108A108A4FEADF11BEF7301C0 +:20070000C6241E489D611E48C62473011BEFADF1A4FEA10851083601DCFAA7FA0AFFBD0304 +:200720002208DBFE000000000000000000000000000000000000AB000000930E0000F20A6E +:200740000000ED0D0000B60F000059100000B60F0000ED0D0000F20A0000930E0000AB006A +:20076000000080FE0000D1FE00007504000032100000D91C00005E220000D91C00003210C5 +:20078000000075040000D1FE000080FE0000D9FE000006FC00008CFE0000660D0000AC22EF +:2007A0000000052D0000AC220000660D00008CFE000006FC0000D9FE0000C2000000C2FCE3 +:2007C00000003EF9000034070000402600009437000040260000340700003EF90000C2FCE0 +:2007E0000000C2000000A8010000680000008CF700002FFF0000BE260000EE400000BE267F +:2008000000002FFF00008CF7000068000000A80100005D000000A203000032FA00007FF772 +:2008200000001A2500006C4A00001A2500007FF7000032FA0000A20300005D00000097FE4B +:200840000000A9030000CBFF0000B3F10000C221000000550000C2210000B3F10000CBFFF5 +:200860000000A903000097FE0000ADFE000069000000940500003DEF0000491C0000A15FF9 +:180880000000491C00003DEF00009405000069000000ADFE0000000022 +:02000004008A70 +:200000000080008000800080008000800080008000800080008000800080008000800080E0 +:20002000FF7FFF7F00000000006000600020002000400040004000400020002000600060C4 +:200040003200640064000080320064006400008032006400640000803200640064000080B8 +:2000600000000000000000000200020004000400070007000B000B00100010001600160004 +:200080001D001D00240024002D002D0036003600410041004C004C00580058006600660082 +:2000A000740074008300830093009300A400A400B600B600C900C900DD00DD00F300F30046 +:2000C000090109012001200138013801520152016C016C0188018801A401A401C201C201F6 +:2000E000E101E101010201022302230245024502690269028E028E02B402B402DC02DC0240 +:20010000050305032F032F035A035A0387038703B503B503E503E503160416044804480491 +:200120007C047C04B104B104E804E804200520055A055A0595059505D205D2051006100667 +:200140005006500692069206D506D5061A071A0760076007A807A807F207F2073E083E0821 +:200160008B088B08DA08DA082B092B097E097E09D209D209280A280A800A800ADA0ADA0A29 +:20018000360B360B940B940BF40BF40B550C550CB90CB90C1E0D1E0D850D850DEF0DEF0DE3 +:2001A0005A0E5A0EC70EC70E360F360FA80FA80F1B101B10901090100711071181118111E3 +:2001C000FC11FC117A127A12F912F9127B137B13FE13FE13841484140C150C1596159615D1 +:2001E00021162116AF16AF163F173F17D117D11766186618FC18FC18941994192E1A2E1A7D +:20020000CB1ACB1A691B691B0A1C0A1CAC1CAC1C511D511DF71DF71D9F1E9F1E4A1F4A1FE0 +:20022000F61FF61FA420A4205521552107220722BB22BB227123712329242924E224E22446 +:200240009E259E255B265B261A271A27DB27DB279D289D2861296129272A272AEE2AEE2A20 +:20026000B82BB82B822C822C4E2D4E2D1C2E1C2EEB2EEB2EBC2FBC2F8E308E30613161312A +:20028000363236320C330C33E333E333BC34BC3496359635713671364D374D372A382A3854 +:2002A00008390839E739E739C73AC73AA73BA73B893C893C6B3D6B3D4F3E4F3E323F323FE0 +:2002C00017401740FC40FC40E141E141C842C842AE43AE43954495447C457C456446644636 +:2002E0004B474B47334833481B491B49034A034AEB4AEB4AD34BD34BBB4CBB4CA24DA24DF0 +:20030000894E894E704F704F575057503D513D512352235208530853ED53ED53D154D154DD +:20032000B455B45596569656785778575858585838593859175A175AF45AF45AD15BD15BDD +:20034000AC5CAC5C855D855D5E5E5E5E355F355F0B600B60DF60DF60B161B16182628262E9 +:20036000516351631F641F64EA64EA64B465B4657B667B664167416705680568C668C668F9 +:2003800085698569426A426AFD6AFD6AB66BB66B6B6C6B6C1F6D1F6DD06DD06D7E6E7E6E01 +:2003A0002A6F2A6FD36FD36F797079701D711D71BE71BE715B725B72F672F6728E738E73CF +:2003C00023742374B474B47443754375CE75CE7557765776DC76DC765D775D77DB77DB771F +:2003E00056785678CE78CE7842794279B279B2791F7A1F7A897A897AEE7AEE7A517B517B69 +:20040000AF7BAF7B0A7C0A7C617C617CB47CB47C047D047D4F7D4F7D977D977DDB7DDB7DF0 +:200420001B7E1B7E577E577E907E907EC47EC47EF47EF47E217F217F497F497F6E7F6E7FB2 +:200440008E7F8E7FAA7FAA7FC37FC37FD77FD77FE77FE77FF37FF37FFB7FFB7FFF7FFF7F60 +:20046000FECAFECAFECAFECA0000FFFFFFFF0002FFFFFFFFCD0CFDFFFDFFFDFFFDFFFDFF9D +:20048000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF9C +:2004A000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF7C +:2004C000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF5C +:2004E000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF10009600FDFF8E +:20050000FFFF030003000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFECA0000FFFFFFFF00021F +:20052000FFFFFFFFCD0CFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF1A +:20054000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFDB +:20056000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFBB +:20058000FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFF9B +:2005A000FDFFFDFFFDFFFDFFFDFF10009600FDFFFFFF030003000000FFFFFFFFFFFFFFFFB1 +:2005C000FFFFFFFFFFFFFECA00000000FECA00000000FECA00000000FECA00200000FECA19 +:0C05E00000109402FECA00080000FECAD1 +:02000004008C6E +:20000000F82300E8FFFFFFFFF84600E801010081F84600E802010081F84600E803010081E3 +:20002000F84600E804010081F84600E805010081F84600E806010081F84600E8070100810A +:20004000F84600E810010081F84600E811010081F84600E812010081F85E05E8FFFFFFFF36 +:20006000F89C05E8FFFFFFFFF84600E815010081F84600E816010081F85000E8FFFFFFFF5C +:20008000FFFFFFFFF804F0FFFFFFFFFFFFFFFFFFF87001EAFFFFFFFFF83100EAFFFFFFFF23 +:2000A000F800A0FFFFFFFFFFFFFFFFFFFFFFFFFFF82800E8FFFFFFFFFFFFFFFFF80CF0FFC2 +:2000C000FFFFFFFF1000008350C0619B1200008351C0619B1400008352C0619B16000083A5 +:2000E00053C0619B1800008354C0619B1A00008355C0619B1C00008356C0619B1E00008346 +:2001000057C0619BFFDF843800DFFFF6F80064FFFFFFFFFFFFFFFFFF000060991EDFFFF521 +:20012000F8B04FFC01006099FFFFFFFFF804F0FFFFFFFFFFF84A00E8FFFFFFFFFFFFFFFFCD +:20014000F85502EAFFFFFFFF2803409FFFDF820310010081FFDF110BA63683FD2803609FEB +:20016000000000870808609F48CE4199FFFF008500100083FFDF590AFFDF111A862000EC07 +:20018000FFFFFFFFF0FF008500200083FFDF590AFFDF111A862200ECFFFFFFFF00FE0085EF +:2001A00000300083FFDF590AFFDF111A863100ECFFFFFFFFFEFF008500400083FFDF590A1D +:2001C000FFDF111A863600ECFFFFFFFF00F0008500500083FFDF590AFFDF111A866000EC0E +:2001E000FFFFFFFFFFFF008500000083FFDF590AFFDF111A865E00ECFFFFFFFFF85C00ECA7 +:20020000FFFFFFFF7CCC41994B84609974CC5199D8827099000000850408609DF85400ECA5 +:20022000FFFFFFFF8001409DFABE609D8101409DFBBE609D0508609900806099684D61996C +:20024000FFDF86008000609900016099FFFFFFFFF8B101EAFFFFFFFF0100008144CD6199AE +:2002600055AA00832280619B2180619B2080619BF80066FFFFFFFFFF2803409FFF0100853D +:20028000FFDF590A0808609DFFDF012B10010085FFDF112BA65709FD2803609FF83400EC11 +:2002A000FFFFFFFF81003099C00100998100309BFFDFBE04660100EC8001009BA001009B07 +:2002C000011CB0FFF8B357FCF8B31FFCFFFFFFFFFFDF809BC001409FFFDFBC2F660500ECD9 +:2002E000C201409BF8B11FFC14000083F8B1DFFCFFFFFF830908609BFFFFFFFFFFDFBC2738 +:20030000660500ECC301409BF8B15FFC14000083F8B1DFFCFFFFFF830908609BFFFFFFFF40 +:20032000C001609FE8017099EB014099FFDFB804060800EC100000850A08409BC101409995 +:2003400008000080FFDF5900069654FD0A08609BFFDFBC1CC1016099FFFFFFFFF80400EC8F +:20036000FFFFFFFFFF0F0085FFDF590AF80000EC8002619DFFFFFFFF0408409920000080C8 +:20038000FFDFC301FFDFD44CF86CE0FE8419D4FD0499D3FD040860998000009900003099B9 +:2003A0008000109904CB3FFC00001099F8CB3FFCFFDF8600F8FB3FFCFFFFFFFFFFFFFFFFD9 +:2003C000FFFFFFFFF8E701EAFFFFFFFF0408409900800085FFDF5928060500ECFFFFFFFF1F +:2003E0000100008144CD6199FFFFFFFFF80066FFFFFFFFFFF8FE01EAFFFFFFFF0908409B52 +:20040000FFDFB97D860900ECFFFFFFFFFFDFB805866E02EAFFFFFFFF0908409BFFDFB80553 +:20042000860200ECFFFFFFFFFFDF83790908609BFFFFFFFF0A08409BFFDFB97D860400ECF3 +:20044000FFFFFFFFFFDF83790A08609BFFDFF99BF0BE709BFFFFFFFF04084099200000800D +:20046000FFDFC301FFDFD44CF86CE0FE80000099000030998000109984CB3FFCFFDF8402A1 +:200480000000309B3D02019B01003099F8C33FFC0000309901ECB0FFF8E37EFCF8E33FFC26 +:2004A000FFFFFFFFE5024199FFDFB80C8635BAFD40000081FFDF3908FFFF1F99FFDF21CB0B +:2004C000F8CB3FFCFFDF84007A024199FFDFB80C8601BAFD7C024199FFDFB80C8611BAFD3E +:2004E0003B024199FFDFB80C8621BAFDFFDF04CA40001099F8F73FFC7902419941001099E7 +:20050000F8F73FFC8002419945001099F8F73FFCE182409942001099F8F73FFCE2824099AF +:20052000FFDFB80C8645BAFD2D03409943001099F8F73FFC32034099FFDFB80C8655BAFD36 +:200540003003409944001099F8F73FFC33034099FFDFB80C8665BAFD30BA50994600109963 +:20056000F8F73FFCFFDFA23CF8B08FFC47001099F8F73FFCF9BE4099FFDFB8040675BAFDEC +:20058000E482409948001099F8F73FFCE3824099FFDFB8040685BAFDFFDF14CAF8FB3FFCFD +:2005A000FFFFFFFFFFFFFFFF55AA00831E80619B1D80619B1C80619BF80066FFFFFFFFFF9D +:2005C000FFDF809B0000709901000081F8B1CFFC00200081F8B18FFC00000081F8B14FFCD9 +:2005E0003CBA00810400709900000081F8B1CFFC4C840081F8B18FFC00000081F8B14FFC88 +:20060000D0A700810800709900000081F8B1CFFC34BA0081F8B18FFC00000081F8B14FFCC4 +:20062000E0A700810C00709900000081F8B1CFFCB7030081F8B18FFC00000081F8B14FFCC4 +:20064000240300811000709900000081F8B1CFFC04BA0081F8B18FFC00000081F8B14FFCFC +:20066000D8B900811400709900000081F8B1CFFCB0B90081F8B18FFC00000081F8B14FFCC3 +:2006800050820081180070990207008127C0619913320081F8B14FFC112200810CC0719937 +:2006A00054760081F8B14FFC1032008108C071990000008540CE619DFFFFFFFFF80064FF7E +:2006C000FFFFFFFF008000850408609D0608609DF4BE609D6C4D619D40CE619DFFDF809A9B +:2006E00000000080D43F7098D4BF7098D43F7198D4BF7198D43F7298D807709820035099FC +:20070000E80770990000008109086099FFFFFF810A08609900000081C0016099C1016099D7 +:200720005000008154CD61992000008164CD61993000008174CD6199D882509974CC719988 +:200740004B8440997CCC6199F8B1CFFCFFDFA27CFFDFA27CFFDFA27C20027099000000819B +:2007600088CD61990100008158CD6199010000815CCD6199FF03008160CD619901000081B8 +:2007800078CD61993E0300817CCD61993E03008180CD6199F80064FFFFFFFFFF04084099D0 +:2007A000E0830080FFDF58080608409B001C0080FFDF5809FFDF5D18F4BE409B1060008084 +:2007C000FFDF5809FFDF5D186C4D419B00000080FFDF5809FFDF5D180408609906086099D4 +:2007E000F4BE60996C4D619940CE6199F80064FFFFFFFFFFFFFFFFFF3503409F3403609FF3 +:20080000FFDF809B35036099C101409901000080FFDF5900F860E0FEFFDFBC04C1016099CC +:200820004CCD419BFFDF92013003409DFFDF013A00000087FFDF092B843309FD847709FDD2 +:2008400088CD619B3503609FE8015099FFDF839EF8A08FFC01000082FFDF5801060600EC6A +:20086000FFFFFFFFE8015099F8A0CFFC14000084FFDF1020063000ECFFFFFFFFF8A08FFC60 +:2008800001000082FFDF5801060700ECFFFFFFFFFFDF899BFFDF5B09FFDF0318FFDF03A2E9 +:2008A000FFDF43A6010000830908609BFFFFFFFF4CCD419BFFDF9201FFDF3914FFDF10481E +:2008C000F8E8E0FE0C9405FD8CCD6199F8B44FFC0C9338FD35034099FFDF01183503609961 +:2008E000100000850A08409BC101409908000080FFDF5900069654FD0A08609BFFDFBC1C6C +:20090000C101609913000083FFDFA07DF8B4B7FCFFDFBC050C0BBAFDFFDFA07DF8B477FCA5 +:20092000FFDF00498C0386FDFFDFA07DF8B437FCFFDF08498C0386FDE801709BEB014099AA +:20094000FFDF9A00EB016099EC076099F80064FFFFFFFFFF40CE419D00800083FFDF5929A8 +:20096000860064FFFFFFFFFF3003409BC303609BE582409BCB03609BF7BE409BC403609B66 +:200980004603409BC503609B8002419BCC03609BE807409BC903609BEA07409BC603609B27 +:2009A000EB07409BC703609BCA03609DF80064FFFFFFFFFFFFFFFFFFC001409FC40140994A +:2009C000EA07409BFFDFBC17F8ECE0FE8C9644FDEA07609BC001609F0C0600EC04084099E6 +:2009E00000020080FFDFC300FFDFD344FFDFB97D8609D4FD04086099FFFFFFFFC001409FCA +:200A0000C5014099EB07409BFFDFBC0FF8ECE0FE8C9644FDEB07609BC001609F0C0600ECF1 +:200A20000408409900010080FFDFC300FFDFD344FFDFB97D8609D4FD04086099FFFFFFFF45 +:200A4000C001409FC6014099E807409BFFDFBC1FE69644FDE807609BC001609FC001409FCC +:200A6000C101409902000080FFDF5808F860E0FEE907409BFFDF0CCB8409BCFD0409BAFD5B +:200A8000FFDFBC07F8ECE0FE8C9644FDE907609BC001609F0C0500EC040840998000008003 +:200AA000FFDFC300FFDFD3448409D4FD04086099FFFFFFFFC001409FC10140990400008082 +:200AC000FFDF5808F860E0FEFFDFBC37660500EC0408409940000080FFDFC300FFDFD3443F +:200AE0008409D4FD04086099FFFFFFFFFFFFFFFFF80064FFFFFFFFFFFFFFFFFF9806008129 +:200B00000C916199FFDF819B0491719B0091719DFFFF0080A802008108910199E10030997E +:200B2000FFDFC35127B38001AFB5BE7EE6B5C7FC0C916199FFDFCC0D0091719BE1003098D6 +:200B40008100309C08800298FF07C0FFFFFFFFFFF88C04FCFFDF4B03FFDF905205FCB7FF3E +:200B60000480DA63FFDF5433E79E4B00048CDA60FFDF5400E7924B03FFDF817A06F6FFEDFB +:200B8000FFFFFFFFF80064FFFFFFFFFF000020980000209A000010980000109A0000109C92 +:200BA0007DDFFFF8FFDF3DC9FFDF9A07978044C8B79D9809B7817DC80F92980906FDFFEDB9 +:200BC000FFDF8206478C837996CF27F0FFDF58608ECF27F09C0F59F004000080FFDFB8202C +:200BE000C6CF07F0C48F0BF26EDFFFF8FFDFB97FF8E0E4FECC0400ECFFFFFFFFF8BD7FFC1D +:200C0000FFDFD5CBFFDF8213940782FD01000082F8BDD7FCF8BD97FCE100309BF8B37FFCA4 +:200C20000100309960E040910000109960E240930400109B60E440950800109D60E6409781 +:200C40000C00109FFFDF9200FFDF8A08A6CF27F0B48FCAF09CCFCAF0FFDF87A2C18D30982E +:200C60002858EF902858E592A85AFB94285C1596478E5DC8FFDF8809FFDF8808140398FD3B +:200C8000FFDF61C8FFDF8CC8FFDF801A9780B1C8FFDF22C8C19D309AFFDF69C8FFDF2AC844 +:200CA00020060081F8AF0FFC03000081FFDF40A300000081F8A70FFCFFDF98088790C340D3 +:200CC000FFDFD344FFDF3908879047A2F8A30FFC9C9008FD9C9030FD9C9000FD9C9028FD56 +:200CE000FDDFFFF89C9008FD9C9030FD9C9000FD9C9028FD7DDFFFF8FFDF38A9FFDF00C865 +:200D0000FFDF0100FFDF20C8FD9087F8FFDF00C8FFDF7900FFDF20C87DDFFFF8143900ECD3 +:200D2000FFFFFFFFE7808D9DDF84809D0F929A15FFDF837D077CE7FFE788FF1CDF8CFF1DFE +:200D4000E791909DEF95999DE788FF1CDF8CFF1DE791909DEF95999DF8B347FCF8A08FFCB3 +:200D6000F70188FDF8B187FCCC0600ECFFFFFFFF4FA08378F7F181FDFFDFB800868036FEF0 +:200D800047B11900868076FE846DFFFE6EDFFFF8F8A0CFFCFFDF8800F70180FDF8B1C7FCEC +:200DA000F8B34FFCFFDF8806FFDF9807249001F9D79C01C8D79D22C8FFDF9800FFDF29C8C7 +:200DC000FFDF9800FFDF21C8FFDF8018FFDF31C81C9000FD1C9048FD9C9010FD1C9060FDAD +:200DE000FFDF28C8FDDFFFF81C9000FD1C9048FD9C9010FD1C9060FDFFDF28C87DDFFFF855 +:200E00001CDFFFF8FFDF8402FFDF102E265C00ECFFFFFFFF59BCE7FF20060081F8AF0FFCA2 +:200E20008F8338A48F90747057B104CAF8A70FFCF8A31FFC3F9EB69DFFDF837EFFDF9A07FD +:200E4000FFDF836F21BCE7FFF880E7FCE784809D1288FF00226CFF0137ABFF02FFDFFF0332 +:200E6000FFDFFF04E780FF05E784FF06FFDFFF0707FCE7FFE788FF00DF8CFF01E791FF0297 +:200E8000E791FF03E791FF04E780FF05E784FF06EF91FF07E788FF00F78CFF01E791FF0292 +:200EA000E791FF03E791FF04FFDFFF05FFDFFF06EF91FF07FFFFFFFFFFDFFF01E791FF029F +:200EC000E791FF03FFFFFFFFE791FF06F891EFFCFFDF880EFFDF980FA49CD7FC249CC7FC1C +:200EE000249001F9D79D9808FFDF21C8FFDF8018FFDF31C8FFDF02C8FFDF9808FFDF22C82E +:200F00001C9000FD1C9048FD9C9010FD1C9060FDFFDF28C8FDDFFFF81C9000FD1C9048FDBA +:200F20009C9010FD1C9060FDFFDF28C87DDFFFF81CDFFFF8F8B347FCF8A08FFCF71188FDBE +:200F4000F8B187FCCC0600ECFFFFFFFF4FA08378F7F181FDFFDFB800868036FE47B119007A +:200F6000868076FE846DFFFE6EDFFFF8F8A0CFFCFFDF8800F70180FDF8B1C7FCF8B34FFC25 +:200F8000FFFFFFFF20060081F8AF0FFC8F8338A48F90747057B104CAF8A70FFCF8A31FFCD5 +:200FA0003F9EB69DFFDF837E0000109918BCE7FFF880E7FCE784809D1288FF0022ACFF0175 +:200FC00037ABFF02FFDFFF03FFDFFF04E780FF05E784FF06FFDFFF07E788FF00F78CFF01BD +:200FE000E791FF02E791FF03E791FF04FFDFFF05FFDFFF06EF91FF07FFFFFFFFFFDFFF015E +:20100000E791FF02E791FF03FFFFFFFFE791FF06F891EFFCA49CD7FC249CC7FC241D88F998 +:20102000D79D980F04001098FFDF0AC8FFDF22C8F8B347FCF8A08FFCF71188FDF8B187FCA7 +:20104000CC0600ECFFFFFFFF4FA08378F7F181FDFFDFB800868036FE47B11900868076FE2B +:20106000846DFFFE6EDFFFF8F8A0CFFCFFDF8800F70180FDF8B1C7FCF8B34FFC1C9000FDF5 +:201080001C9048FD9C9010FD1C9060FDBC9095FDC41588FDBC4100FDFFDF28C8FD8097F80D +:2010A0001C9000FD1C9048FD9C9010FD1C9060FDBC4178FDFFDF28C87DDFFFF81CDFFFF8CF +:2010C00020060081F8AF0FFC8F8338A48F90747057B104CAF8A70FFCF8A31FFCFFDF55C895 +:2010E00000001099FFDF9809E7808171FFDF75C9E784809D1288FF08228CFF0937ABFF0A89 +:20110000FFDFFF0B17ABFF0C27ABFF0D3280FF0EE784FF0F11BCE7FF1288FF08228CFF09FA +:201120003291FF0AE791FF0B1291FF0C2280FF0D37ABFF0EEF95FF0FF884E7FC1288FF0884 +:20114000228CFF093291FF0AE791FF0B1291FF0C2280FF0D37ABFF0EEF95FF0FF884E7FC4F +:201160001288FF08228CFF093291FF0AE791FF0B1291FF0C27ABFF0D37ABFF0EEF95FF0FBD +:20118000FFFFFFFFFFDFFF09E791FF0AE791FF0BFFFFFFFFE791FF0EF895F7FCF8B347FC7B +:2011A000F8A08FFCF71188FDF8B187FCF8B34FFCF80064FFFFFFFFFFFFDFFFF87DDFFFF8DE +:2011C000FFDF00CBFFDF28CBFDDFFFF8FFDF00CBFFDF28CBFFDF8600FFDF21CAFFDF31CB41 +:2011E0007DDFFFF80100309B0100309900003098F8DCC7FC60204090600040928000309DD8 +:20120000FFDFB1CBF8CBBFFCF8B3A7FCFFDFA1CAFFDFFF74FFDFFF76FFDF809AFFDF809BCA +:20122000F880C7FCFFDF837F04FCE7FF7FE340A0CF80E864A7B3809D3FE3A1CAC780D76846 +:20124000FFFFFFFFFFDFE864FFDF820FFFDF9DCBFFDFB1CBF8CFBFFCFFDF837FFFDF9DCBB1 +:20126000FFDF8A0AFFDFA1CBF8CF3FFCFFFFFFFFF80064FFFFFFFFFF0000309FFFDFBDCB28 +:20128000FFDFA27EFFDF94C9FFDFA27EFFDFA0CBFFDFA27EFDDFFFF8FFDFA0CB7DDFFFF861 +:2012A000FFDF94CAFFDFFF75F86E04EAFFFFFFFFF8CB04EAFFFFFFFFF8ADEFFC0000309F44 +:2012C000FFDFFDCBFFDFA27FFFDF9CCBFFDFA27FFFDFE0CBFFDFA27FFDDFFFF8FFDFE0CB41 +:2012E0007DDFFFF8F86E04EAFFFFFFFFF8CB04EAFFFFFFFFF8ADAFFCF8BCF7FCFFDF012B9D +:20130000F8AD3FFCF8BCF7FCFFDF093AF8AD6FFCFFDFFFF8FFDFFF54FFFFFFFFFFFFFFFF17 +:20132000FFFFFFFFF80064FFFFFFFFFF980200810C916199FFDFFE40FFDFFE52FFDF10026E +:20134000C69014FDFFDF44CAFFDFF02CFFDFF12EFFDF54CBFFDFA07DFFDF44CB0091719BC1 +:20136000FF0FC0FFFFFFFFFF0891519DFFFFFFFFFFFFFFFFF80064FFFFFFFFFFFFDF7DCBA8 +:20138000F86E04EAFFFFFFFFFFDFFF77FFDFFC39F80064FFFFFFFFFF0070309904C0519958 +:2013A000FFDF510800001099200000807DB147F8031CB0FFFFDFAE1CFFDF21CBF8BB07FC4A +:2013C000FFDFAA1CFFDF510800000080F8B1C7FCF8B187FCF80064FF08C07199FFFFFFFFF1 +:2013E000FFFFFFFFFFDF05CAFFDF5858060700ECFFFFFFFF00040081AE0360990000008111 +:20140000AD036099FFDF46A3F81200ECFFFFFFFFAE034099FFDF8378A60186FDAE03609933 +:20142000FFDF31A3FFDFDB25FFDFA24DFFDF0EA3AD034099FFDF820000040083FFDF111849 +:20144000C6960CFDAD036099FFDF31A7FFDFDB25FFDFA24DFFDF4EA3FFDFFFF8FFDF809B80 +:20146000FFDF15CAFFDF819FFFDF30A2FFDFDB04F89F97FCFFDF867BFFDFD83CEEB2AFFCFE +:20148000FFDF30A6FFDFDB05FFDFD83DEEB6AFFCFFDF8A9DFFDF939FFFDF30AAFFDFCC47DA +:2014A000FFDFD93EFFDFD86EFFDF919EFFDFCC46FFDFD8747FDFFFF8FFDF919DFFDF8A9F84 +:2014C000FFDF30AEFFDFCC46FFDFD935FFDF839FFFDFD87DFFDF8A9EFFDFCC45FFDF829B51 +:2014E000FFDFD92E0F000080FFDFD805FE3E91FD4603409FFFDFC37FFFDF837BFFDF837BF3 +:20150000860D00ECFFFFFFFFFFDFA205FFDF8A9FFFDFA20DFFDFD86EFFDFA205FFDFD86E6A +:20152000FFDFA20DFFDFD86EFFDFA20DFFDFD86EFFDF919FF8F0FFEDFFFFFFFFFFDF809A73 +:20154000FFDF85CAFFDF585A060500ECFFFFFFFFFFDF38CEFFDFD905BEA960FDF80300EC90 +:20156000FFFFFFFFFFDFB8CEFFDFD928BEA960FDF80064FFFFFFFFFFFFDF86013203609B7C +:201580003303609BF82406EAFFFFFFFF0608409900400080FFDF580800000080FFDF1008B7 +:2015A000865E06EAFFFFFFFF0608409900400080FFDF580800400080FFDF1008866406EAE6 +:2015C000FFFFFFFF40CD419908000083FFDF59180608409B00040085FFDF5D29FFDF652A0B +:2015E00000000080FFDF1008865359FD0608609B0100008144CD6199F87506EAFFFFFFFF57 +:201600000608409900600080FFDF580800400080FFDF100886B606EAFFFFFFFF0608409900 +:2016200000200080FFDF580800200080FFDF100886C306EAFFFFFFFF06084099002000807A +:20164000FFDF580800200080FFDF1008868407EAFFFFFFFFAF030099F8E604EAFFFFFFFFAC +:20166000FFFFFFFFF80066FFFFFFFFFFFFFFFFFF0508409BF0FF0087FFDF591B00200085C4 +:20168000FFDF113A060066FFFFFFFFFF03000087FFDF591BFFDFB80F061200ECFFFFFFFF39 +:2016A000000030990000309B460300995C03009B0150B0FFF8E37EFCF8E33FFCFFFFFFFF53 +:2016C000FFFFFFFF000030990000309BE0010099EC01009B012CB0FFF8E37EFCF8E33FFC31 +:2016E000FFFFFFFFFFFFFFFFFFDFB817061200ECFFFFFFFF000030990000309B46030099CF +:201700007203009B0150B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFF000030990000309BC2 +:20172000E0010099F801009B012CB0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB807BF +:20174000061200ECFFFFFFFF000030990000309B460300998803009B0150B0FFF8E37EFC98 +:20176000F8E33FFCFFFFFFFFFFFFFFFF000030990000309BE00100990402009B012CB0FFD0 +:20178000F8E37EFCF8E33FFCFFFFFFFFFFFFFFFF000030990000309B280300993703009BB9 +:2017A0000134B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFFFFFFF0C000087FFDF591B01 +:2017C000FFDF920BFFDFB807060900ECFFFFFFFF000030990000309B9E030099A103009BED +:2017E0000104B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB81F060900ECFFFFFFFF26 +:20180000000030990000309B9E030099A403009B0104B0FFF8E37EFCF8E33FFCFFFFFFFF9D +:20182000FFFFFFFFFFDFB817060900ECFFFFFFFF000030990000309B9E030099A703009BF5 +:201840000104B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB80F060900ECFFFFFFFFD5 +:20186000000030990000309B9E030099AA03009B0104B0FFF8E37EFCF8E33FFCFFFFFFFF37 +:20188000FFFFFFFFFFFFFFFFF80066FFFFFFFFFF54CD4199F8B14FFC64CD4199F8B18FFCC9 +:2018A00074CD4199F8B1CFFC00000081BC077099C0CD419DB407609D2D03409F7FDFFFF8C5 +:2018C000FFDF012BFFDFFFF82D03609FFFDF86093203609B0608409D00400083FFDF59294F +:2018E0003103409D063682FDFFDFB806F8E0E0FE5903409BFFDF8202FFDF1129F860E0FEE3 +:2019000000000083843682FD3103609D841BBAFD0C0B00ECB807509DFFDFBA05C4CD519DB9 +:20192000980600810C916199FFDF809B049171990091719DFF1FC0FFFFFFFFFF089151995E +:20194000FFDF82A3FFDFCAA3B807709DF80064FFFFFFFFFF4603409DFFDF94C9B807509D09 +:2019600000200083FFDF1112860064FF0000009CF80064FF0080009CF85506EAFFFFFFFF8E +:20198000F8BF02EAFFFFFFFFF80064FFFFFFFFFFF85506EAFFFFFFFFFFDF904A0100309C93 +:2019A000FFDF817A0880529EFFDF543305BCE4FF03FCB3FF0880529CC5FE54220880529EF5 +:2019C000C4FE5433FFFFFFFFFFFFFFFFF80064FFFFFFFFFF00910199D403009B000000983A +:2019E0000080009A4603409B00200081FFDF1118860200ECFFFFFFFF008000980000009ADF +:201A0000FFFFFFFFFFDF0CC9300340993403409FFFDF013830036099FFDF83794703409FAF +:201A2000FFDF0138FFDF5918FFDF86093303609B00080087FFDF1130F860BFFE6FDFFFF89A +:201A400084DFFFF8ACDFFFF8BCDFFFF84803409FFFDFFFF837DFFFF82FDFFFF8F8E302EA40 +:201A6000FFFFFFFFF8A307EAFFFFFFFF2F034099B70182FDAF0182FD2F036099300340993A +:201A8000FFDF04C92D0340997FDFFFF8FFDF0100FFDFFFF846034099FFDF8378FFDF590057 +:201AA000D8BF6098B4075099FFDF809ED0BF7098B8075099FFDF809ECCBF709801000080A8 +:201AC000D4BF6098BC075099FFDF809EDCBF7098F80064FFFFFFFFFFD4BF409801000081EC +:201AE000FFDF1100060064FFFFFFFFFFD8BF4098FFDF44CA0708609B04DFFFF8F84507EA25 +:201B0000FFFFFFFFF80064FFFFFFFFFFD4BF409801000081FFDF1100060064FFFFFFFFFF31 +:201B200084DFFFF8F84507EAFFFFFFFFD8BF4098FFDF44CA070840990708609BFFDF1118CD +:201B4000060064FFFFFFFFFF9E0340994603409B4CCD419D5A03409FFFDFC32DFFDFC336AA +:201B6000FFDF091AFFDF392A0040008000400082FFDF4121FFDF0010FFDF9008FFDF753872 +:201B8000FFDFDB20FFDFCC6805000081FFDFA07C05000081FFDFA07C20000081FFDF6C0867 +:201BA000FFDFA07C00010081FFDF6C08FFDF869F00000081FFDFA07C00800081FFDFA07CDE +:201BC00000000081FFDFA07C00100081FFDF879F10025099FFDF819E14025099FFDF829E00 +:201BE00006084099FFDF25CA0010008AFFDF1EA0F8F904EAFFFFFFFFFFDF899D1002709BFF +:201C0000FFDF919D1402709BFFDF21A10608609BFFDFA23C74CC519BFFDFD86574CC719B9F +:201C20009E0340994603409B4CCD419D5A03409FFFDFC32DFFDFC336FFDF091AFFDF392AEC +:201C40000040008000400082FFDF4121FFDF0010FFDF9008FFDF7538FFDFDB20FFDFCC68E8 +:201C600005000081FFDFA07C0A000081FFDFA07C00010081FFDF6C08FFDFA07C000400810C +:201C8000FFDF6C08FFDF869F00000081FFDFA07C00800081FFDFA07C00000081FFDFA07CFE +:201CA00000400081FFDF879F18025099FFDF819E1C025099FFDF829E06084099FFDF25CAA6 +:201CC0000008008AFFDF1EA4F8F904EAFFFFFFFFFFDF899D1802709BFFDF919D1C02709B99 +:201CE000FFDF21A10608609B2002509BFFDFD9252002709BFFDF829BFFDF860AFFDFA076C8 +:201D0000FFDFD875FFDFA27D7CCC619BF80064FFFFFFFFFF00800098002B00874603409D10 +:201D2000FFDF712B7DDFFFF8FFDF80CAFFDF013AFFDFA0CAD803009DFDDFFFF8FFDF90CBC9 +:201D4000FFDFA07E7DDFFFF8FFDF90CBFFDFA07E4903409DFFDFA07E4A03409DFFFFFFFFB4 +:201D6000FFFFFFFF3C05009DFDDFFFF8FFDFD0CBFFDFA07F7DDFFFF8FFDFD0CBFFDFA07F77 +:201D80004B03409FFFDFA07F4C03409FFFFFFFFFFFFFFFFF2402009DF89E04EAFFFFFFFFB0 +:201DA0004603409DFFDF809AFFDFC330FFDF8148FFDFF2004F03409DFFDF7120C007509D6B +:201DC0004F94A216FFDFD935FFDFD8450421A0FD043A81FDC007709BF88247FCFFDFA210E4 +:201DE000C4BF6098F8B837FC2903609DF8B877FC2A03609DF8B8B7FC2B03609DF8B8F7FCDE +:201E00002C03609DFFFFFFFFF80064FFFFFFFFFFD4BF409801000081FFDF1100060064FFFE +:201E2000FFFFFFFF00800098002B00874603409DFFDF712B7DDFFFF8FFDF80CAFFDF013AA8 +:201E4000FFDFA0CAA4060099D802009D4D03409D4E03409BF8DF04EAFFFFFFFF2803409B60 +:201E6000FFDF819AFF010082FFDF59118FF3BAFD0808409BF8A55FFCC8BF709AFFDF0CCA3E +:201E800044CE6199F80064FFFFFFFFFF81003098C0BF00988100309BC407009B023CB0FFE0 +:1C1EA000F8B357FCFFDF899EF894E7FCFFFFFFFFFFFFFFFFF80064FFFFFFFFFF65 +:02000004008D6D +:20000000F82300E8FFFFFFFFF84600E801020081F84600E802020081F84600E803020081E0 +:20002000F84600E804020081F84600E805020081F84600E806020081F84600E80702008106 +:20004000F84600E810020081F84600E811020081F84600E812020081F81C04E8FFFFFFFF76 +:20006000F84804E8FFFFFFFFF84600E815020081F84600E816020081F84600E8170200811B +:20008000FFFFFFFFF804F0FFFFFFFFFFFFFFFFFFF85000EAFFFFFFFFF83100EAFFFFFFFF44 +:2000A000F800A0FFFFFFFFFFFFFFFFFFFFFFFFFFF82800E8FFFFFFFFFFFFFFFFF80CF0FFC2 +:2000C000FFFFFFFF1000008360C0619B1200008361C0619B1400008362C0619B1600008375 +:2000E00063C0619B1800008364C0619B1A00008365C0619B1C00008366C0619B1E00008306 +:2001000067C0619BFFDF843000DFFFF6F80064FFFFFFFFFFFFFFFFFF000060991EDFFFF519 +:20012000F8B04FFC01006099FFFFFFFFF804F0FFFFFFFFFFF84A00E8FFFFFFFFFFFFFFFFCD +:20014000FFFFFFFFF80064FFFFFFFFFFFFFFFFFFFFDFBB9DF8B87FFCF8BC3FFCFFDF093ADF +:200160000000309B402241930000109B7DDFFFF8FFDFE9CB0000309D402441950000109D3A +:2001800001BCE6FFF8A777FCF8ABBFFCFFFFFFFFFFDFBB9DF8B8FFFCF8BCBFFCFFDF093AE0 +:2001A0000000309B402241930000109B7DDFFFF8FFDFE9CB01BCE6FFF8A777FCF8ABBFFC9C +:2001C000FFFFFFFFFFDF8607FFDFBB9DFFDF093FFFDFA27FFFDF013FFFDF8207FFDFA27FD9 +:2001E000FFDF093FFFDFA27FFFDF013FFFDF8207FFDFFFF8FFDF839B81FFFF87F8BDFFFCCE +:20020000FFDFFE3F80FFFF87F8BDFFFCFFDFFE2FFFDFFE270080FF87000010980000109DA5 +:200220007DDFFFF80002309860204090600040923008309D810E3099FFDF8803FFDFE1C8D2 +:20024000F89CEFFCFFDF9003FFDF837FFFDF9DCBFFDF8212FFDFB1CBFFDF829AA84C00844A +:20026000F8A967FCA7B7819A259CA1CAA500FE3684BDFFFD02FCE7FF47A5E909CF84A1CA3F +:20028000A5006A219790E909BFB3FF461485FFF9F8F1E0FE0C71E1FE8CA9FFFD8CB3FFFD3E +:2002A0008C94DCFD94B1FFFDFFDFFE162C9C8003E79C1063469900E8FFFFFFFFF80064FFB3 +:2002C000FFFFFFFF7DDFFFF8E176309AE07030990800109DA100309D00000083080010993E +:2002E000F8BB1FFCFF7F008309001099F8BB1FFC03000083FCFF1F99F8BB1FFC04001099FB +:20030000E1703099FFDF1DCBFFDF9200FFDF8A08FFDF29CAF881EFFC8C9880FDFFDF21A3A5 +:200320008C0382FDFFDF9201FFDF8A09FFDF69CAF89087FC0FB3A09FF88526FC8C9889FD67 +:200340000FB34A1AF8B3AFFCF8A516FC9C9889FDFFDF4A199FB3866147928A01FFDF69CAC9 +:20036000FFDF39A6FFDF8001FFDF9001FFDF8169087CE4FFF8B30FFCF8A526FC9C9889FD94 +:200380000FB34A1AF8B3AFFCF8A516FC9C9889FDFFDF4A19F8B39FFCFFFFFFFFA4FD00E86C +:2003A000FFFFFFFF44A06199F8A526FC9C9889FDFFDF4A1AF8B3AFFC0C000081244421FD3F +:2003C000243108FDFFDF44C9040380FDFFDF9001FFDF8809FFDF69C8F8B30FFCF8A516FC02 +:2003E0008C9889FDFFDF4A19F8B39FFCF80064FFFFFFFFFF0C000081244421FD243108FD08 +:20040000FFDF44C9FFDF9001FFDF8809979069C8F8B30FFCF8A526FC9C9889FDFFDF4A1A4A +:20042000F8B3AFFCF80064FFFFFFFFFF8100309F10A1019F8100309D0128B0FFF8B397FC0A +:20044000F8B3DFFC08001099310A30990800109BA102309B04A1019D0400109DE170309D2E +:200460000B00008100A1619909000080FFDF39A6FFDF080124F381FD24B707FCA4FB3EFCDC +:2004800024B77FFCFFDF8428013CE4FFF8B38FFCFFFFFFFF07000080023CE4FFF8BB87FC4C +:2004A000F8B707FCF8B38FFC037CE4FFF8BB87FCF8B34FFCF8B707FCF8B38FFCFFDF829FDF +:2004C000FFDF843824F181FD033CE4FFF8BB87FCF8B34FFCFFDF909FF8B38FFCFFFFFFFF62 +:2004E000F80064FFFFFFFFFF8100309B10A1019B8100309D0128B0FFF8B397FCF8B35FFCA2 +:20050000310830997DDFFFF8FFDF40CBFFDF8239FFDF68CBFDDFFFF8FFDF40CB00000080B7 +:20052000FFDF7809FFDF68CB7DDFFFF8810E309B04A1019D0400109DE170309D0B00008100 +:2005400000A16199FFDF38A6A40180FDFFDF81580414B0FFF8B707FC8FB380CFF8BB97FC1B +:20056000F8B38FFCF8BBA7FCF8B767FC0B3CE4FFF8B707FC8FB380CFF8BB97FC8FB34ACFCF +:20058000F8B36FFCF8BBA7FCF8B707FC8FB380CFF8BB97FC8FB34ACFF8B36FFCF8BBA7FC9F +:2005A000FFFFFFFFF80064FFFFFFFFFF7DDFFFF80800109931EA30991000109BE18A309B0F +:2005C0000400109D617E309DF8B787FCF8BB97FCF8BB27FC4FB649CF2FB240CFF8B78FFC29 +:2005E000F8B39FFCFFDF38A6A48401E8FFDF21A2C12A0084FFDF68211F828809FFDF69C92F +:20060000F8B747FCF8B707FC1000109BFFDF8170FFDF8178033CE4FFF8B357FCF8B707FC03 +:20062000F8B29FFCF8B74FFCA4B33FFCF8B387FCF8BB97FCF8BB27FC4FB649CF2FB240CF92 +:20064000F8B78FFCF8BB9FFCF80064FFFFFFFFFFFDDFFFF8FFDF08CBFFDF30CA7DDFFFF80C +:20066000FFDF08CBFFDF30CA1000109BE18A309B0400109D610E309D0182309FA4A301E891 +:20068000F8809FFCC12A0086FFDF6943F8BBC7FCC7BB849EC7BB859EC7BB869EFFDF879EE4 +:2006A00003FCE4FFFFDFB79CFFDFAE9CFFDFA59CF87807FC61803099FFDF38A6FFDF816840 +:2006C000F8BB07FC17BB6A48FFDF6A594FB648CF27BB031837BB6A6A4FBB6A7B6FBE5ACF1B +:2006E00007BB033A073CE4FF17BB6A486FBB6A594FB648CF27BB031837BB6A6A4FBB6A7B96 +:200700006FBE5ACF07BB033A8F906A484FB648CF6FBB0318F8B34FFCFDDFFFF8FFDF10CAD1 +:20072000FFDF20CB7DDFFFF8FFDF10CAFFDF20CB118E3099F8B707FCF8B397FCF8B25FFCBF +:20074000F8B70FFCF8B347FCF8B397FCF8B397FCF8B25FFCF8B34FFCF80064FFFFFFFFFF23 +:20076000FDDFFFF8FFDF08CBFFDF30CA7DDFFFF8FFDF08CBFFDF30CA0400109D610E309D54 +:20078000FFDF55C9C12A0084FFDF6821FFDF8809FFDF61C9A1003099F8B307FC100010993F +:2007A0000800109BA102309BF8B747FCFFDF0DC9FFDF8168013CE4FFF8B307FCF8B34FFCE7 +:2007C000FDDFFFF8FFDF10CAFFDF20CB7DDFFFF8FFDF10CAFFDF20CB118E309997B3809B24 +:2007E000F8B25FFCF8B70FFCF8B397FCF8B397FCF8B25FFCF8B34FFCFFFFFFFFF80064FF6C +:20080000FFFFFFFF8000309B10A1019B8000309DAC0B02E88F90809AC12A0082FFDF696108 +:2008200007828179FF7FECFFF8B35FFC2B000082FFDF0801017CE4FFF8B397FCF8B35FFC8E +:2008400008001099310A30997DDFFFF8FFDF00CBFFDF28CBFDDFFFF8FFDF00CBFFDF28CBC9 +:200860007DDFFFF8810E309B04A1019D0400109DE170309D0900008100A161998F85A09A46 +:20088000AC0180FDACF381FDFFDF2AA22CE581FDFFDF814AF8849FFC2C1780FDF8B707FCA6 +:2008A000FF3FECFFF8B38FFC017CE4FFF8B707FCF8B38FFCF8BB97FCF8BBA7FCF8BB97FCAF +:2008C000F8BBA7FCF8B707FC07BCE4FFF8B38FFCF8BB97FCF8BBA7FCA7BB51CFF8B35FFC10 +:2008E000F8BB97FC07B74ACFF8B36FFCF8B33FFCACB33FFCF8B707FCF8B38FFC06FCE4FF78 +:20090000F8BB97FCF8BBA7FCA7BB51CFF8B35FFCF8BB97FC8FB34ACFF8B36FFC97BB829B8D +:20092000FFDF51CFF8B35FFCF80064FFFFFFFFFF000030990100309D10A1019DFFDF860111 +:200940000428B0FFF8E33EFC3EE302A33EE342A3DFB982A3F8E3BEFCFFDF809B19000081F6 +:2009600000A171990000009304A101990100309908A1019D0100309D8000309F8100309B80 +:20098000F8FB7FFC0110B0FFF8A71FFCFFFFFFFF0208B0FFF8B357FC1FA789CFF8A71FFCE4 +:2009A000F8A7A7FCF8A7A7FCF8A7A7FC010030980100309A0100309C0000009000000092EE +:2009C000001802947D0588F9FFDFC8C8FFDF0032FFDFA8C80000039CF5FDFF8EFFDF001787 +:2009E000FFDF9007F8B3C7FCFFDF1948460A00EC744909CEF8A73FFC8141839A911E829A81 +:200A0000A11A839AC7B39BCF39451948811E809A9112839AF80A00ECA149819B3FA753CCC9 +:200A2000814113CE911E02CEA11A43CCC7B39BCFFFDF194839450BCE811E10CE91124BCC19 +:200A4000A14903CEF80F00EEFF000080F80D00EEFFDF1DC8F8B377FC0000109B2100309BFC +:200A6000FFDF5BCFF80700EE02000080C79E09CEC79653CCFFDF13CEC63483FDF89EC7FCB5 +:200A8000F80064FFFFFFFFFF153CE4FF460A00EC741E09CEF81639FC8141839A911E829A39 +:200AA000A11A839AC7B39BCF39451948811E809A9112839AF80060FFA149819B391653CC57 +:200AC000814113CE911E02CEA11A43CCC7B39BCFFFDF194839450BCE811E10CE91124BCC79 +:200AE000A14903CEF80064FFFFFFFFFFFFDFFFF8FFDF829B00000085F8B9EFFCFFDFFE3ED9 +:200B00000080FF85F8B9EFFCFFDFFE2EFFDFFE260080FF877DDFFFF8810A3098810E309925 +:200B200000000086FFDF920790550084F88517FC260CB0FF18001098F8B727FCFFDFFE363A +:200B400084BDFFFDFFDF819AFFDF809AFFDF80CAFFDFBC0EF8ECE1FE1C0800ECFFDFA0CA7C +:200B600002FCE7FFFFDF81CCEF806A21EF84E909FFDF80CAFFDFBA0EF80400ECFFDFA0CA09 +:200B800002FCE7FFFFDF41CCEF806A21EF84E9099790FF461485FFF9F8F1E0FE0C71E1FE07 +:200BA0008CA9FFFD8CB3FFFD8C94DCFD94B1FFFDFFDFFE162FB3800330000085FFDF757AB6 +:200BC0002A000080FFDF000AFFDFA1CAF8DCDFFCFFFFFFFFF80064FFFFFFFFFF8100309FE8 +:200BE00010A1019F8100309D0210B0FFF8B397FCFFDF9609F8B3DFFCF8B397FCFFDF819A1D +:200C000000800082F8A557FC00000082FFDF0219FFDF9609F8B3DFFC0210B0FFF8B397FC65 +:200C2000FFDF9609F8B3DFFC0800109931EA30990100109B807E309B04A1019D0400109DB3 +:200C4000E170309D0B00008100A16199F8B707FCFF17C0FFF8B38FFC07000080B4F181FDE8 +:200C6000023CE4FFF8B707FCF8B38FFCF8BB97FCFFDF39A6FFDF0801FFDF8159FFDF829BCE +:200C8000FFDF839A47B749190FB9922037B7090A47BB011A6FB3DD730FB99220BFB3090AF0 +:200CA00097BB011A34B36FFC34E7DDFD087CE4FF47B749190FB9922037B7090A47BB011A21 +:200CC0006FB3DD730FB99220BFB3090A97BB011A6FB3DD7308000080B4F181FD24F181FD86 +:200CE000083CE4FF47B749190FB9922037BB090A47BB011A6FB3DD730FB99220BFB3090A60 +:200D000097BB011A6FB3DD7347B749190FB99220FFDF090AFFDF011A6FB3DD73B4B747FC10 +:200D20000FB99220FFDF090AFFDF011AB4B36FFCB4E7DDFDFFDF38AFFFDFC324FFDF8360BD +:200D4000FFDFCC63FFDF1CCAFFDF900BFFDF003864000086FFDF0903267100FDFFFFFFFFCF +:200D6000F80064FFFFFFFFFFFFDFFFF88100309F10A1019F8100309D0210B0FFF8B397FC59 +:200D8000FFDF9609F8B3DFFCF8B397FCFFDF819A00800082F8A557FC00000082FFDF0219AC +:200DA000FFDF9609F8B3DFFC0210B0FFF8B397FCFFDF9609F8B3DFFC0400109931EA30999D +:200DC000FEFF1F9B807E309B04A1019D0400109DE170309D0B00008100A16199F8BB07FCA4 +:200DE000FF13C0FFF8B38FFCFFFFFFFF040CB0FFF8B707FCF8B38FFC97BB5108F8B38FFC68 +:200E0000F8BBA7FCFFFFFFFFFFDF39A6FFDF8801FFDF65C8FFDF8004FFDF8801FFDF800129 +:200E2000FFDF8179FFDF8159FFDF8171FFDF8179FFDF9001FFDF0814FFDF8004FFDF817CD4 +:200E4000FFDF8179FFDF75C80000008400000082FFDF839AF8B707FC67B350CEF8B38FFC7E +:200E600097BB51088FB308CEA7BBE016C800008EFFDF0876FFDF817E06BCE5FF07B7E8007C +:200E800067B350CE8FB3F20F7FBBDD7B97BB51088FB308CEA7BBE016FFFFFFFF061CB3FF5A +:200EA00007B7E80067B350CE8FB3F20F7FBBDD7B97BB51088FB308CEA7BBE016FFFFFFFF68 +:200EC00007B7E800FFDF40CF053CE5FF67B350CE8FB3F20F7FBBDD7B97BBE0168FB308CEED +:200EE000A7BBE800FFFFFFFF00000081F8ADCFFCF8AD8FFCFFDF38AFFFDFC324FFDF835050 +:200F0000FFDFCC63FFDF809BFFDFC09FFF7F0081FFDFD963BE3C83FDBE0500ECFFDF1CCA88 +:200F2000FFDF900BFFDF003832000086FFDF0903267100FDFFFFFFFFFFFFFFFFF80064FF99 +:200F4000FFFFFFFFC4DFFFF8CFA05308FFDF1001860024FEFFDF5311810030998100309BC2 +:200F6000E170309D0400109DF8B317FCF8B35FFC0908B0FFFFDFA27C17B31008F8E0A4FEC6 +:200F8000FFDFA279FFDF1001F860A5FE445875F2CCB397FCD4BB97FCF8B35FFCFFFFFFFF35 +:200FA000F80064FFFFFFFFFFFFDFFFF87DDFFFF80000109B0000109A800030990000309B49 +:200FC0000000309A60224091600240936022409060024092F89D7CFC56550080FFDF837030 +:200FE000FFDFFF24FFDF829BF8B9BFFCFFDF8403F8B317FCFFDF69CAFFDF7009FFDF69CBEC +:20100000F80550FC57A549A3F82551FC0B3CE6FFFFDFFF7617B3D669FFDF69CAFFDFF31AB1 +:20102000FFDF1424C64DFEFDFFDF7009FFDF69CB5005FC0257A549A35125FC118F4BFDFD91 +:20104000FFFFFFFFFFDFFF76FFDFD669FFFFFFFFFFDFF11AFFDF1424C64DFEFDFFDFFC023F +:20106000FFDFFC118F4BFDFDF80064FFFFFFFFFFF4BE409BF8BE609B10000081FFDF59183C +:20108000060066FFFFDF8600E2826099FFDF8600E38260990000008114CD6199FFDF809B0D +:2010A00030BA7099F9BE6099F8BE409900200080FFDF580800200080FFDF1008868605EA8F +:2010C000FFFFFFFFF8BE409900200080FFDF580800200080FFDF1008860806EAFFFFFFFF97 +:2010E000F8BE409900600080FFDF580800400080FFDF100886FC04EAFFFFFFFFF8BE409992 +:2011000000400080FFDF580800000080FFDF1008864005EAFFFFFFFFF80066FFFFFFFFFF51 +:201120000080409BF0FF0087FFDF591B00200085FFDF113A060066FFFFFFFFFF03000087CD +:20114000FFDF591BFFDFB80F061200ECFFFFFFFF000030990000309B0B8300991183009BAE +:201160000110B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFF000030990000309B048000999B +:201180006080009B015CB1FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB817061200ECB3 +:2011A000FFFFFFFF000030990000309B0B8300991783009B0110B0FFF8E37EFCF8E33FFC18 +:2011C000FFFFFFFFFFFFFFFF000030990000309B04800099BC80009B015CB1FFF8E37EFC2D +:2011E000F8E33FFCFFFFFFFFFFFFFFFFFFDFB807061200ECFFFFFFFF000030990000309BB0 +:201200000B8300991D83009B0110B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFF0000309980 +:201220000000309B048000991881009B015CB1FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFF22 +:20124000000030990000309BDC820099E782009B0124B0FFF8E37EFCF8E33FFCFFFFFFFFC4 +:20126000FFFFFFFF0C000087FFDF591BFFDF920BFFDFB807060900ECFFFFFFFF00003099B5 +:201280000000309BF2820099F782009B010CB0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFF43 +:2012A000FFDFB81F060900ECFFFFFFFF000030990000309BF2820099FC82009B010CB0FF0C +:2012C000F8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB817060900ECFFFFFFFF000030993E +:2012E0000000309BF28200990183009B010CB0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFD8 +:20130000FFDFB80F060900ECFFFFFFFF000030990000309BF28200990683009B010CB0FFB0 +:20132000F8E37EFCF8E33FFCFFFFFFFFFFFFFFFF00800087FFDFDB9F34BA709F38BA709FED +:20134000FFDF839BF6BE609FFFDF809BB0BE009901003099FF3FC0FFF8E33FFCFFFFFFFF05 +:20136000FFDFF89BF0BE7099F80066FFFFFFFFFF0000309B0000109BF582409BFFDF83596A +:201380007DDFFFF8FFDF69CB3880009BF8F77FFCFFDFCCC93C80009BF8F77FFCFFDF75CADA +:2013A0004C80009BF8F77FFCFFDFA07D4880009BF8F77FFCFFDFA07D4480009BF8F77FFCD0 +:2013C000FFDFA07D4080009BF8F77FFCFFDF8F9E00000198E0A700997481009B4C84009D8C +:2013E000F85400EAFFFFFFFFF80064FFFFFFFFFFD43F419801000081FFDF1100060064FF9E +:20140000FFFFFFFFDE824099FFDF8200DE826099FFDF8350A60064FFFFFFFFFF0E83409BBC +:20142000FFDF0918A60B00ECFFFFFFFFFFDF8358A60064FFFFFFFFFFF4BE409BFFBF008586 +:20144000FFDF5929F4BE609BFFDF819BDC82709BF80064FFFFFFFFFFFFDF0118F860E0FE98 +:20146000F8C2FFEFFFFFFFFFCC3F5198F8A087FCFFDF819BFFDF3409DC825099FFDFDA2C79 +:20148000DC827099F8B88FFCFFDF835A0E83409BFFDF091A060064FFFFFFFFFF0E83409BB1 +:2014A000FFDF829B00060085EFB2DB2EFFDFD974DE0C00ECFFFFFFFF0B83409D801500837C +:2014C000FFDF7129FFDF1139060600ECFFFFFFFFF4BE409B00200085FFDF5D29F4BE609B35 +:2014E000F80064FFFFFFFFFFF4BE409B10000085FFDF5D29F4BE609BF80064FFFFFFFFFF0B +:20150000D43F419801000081FFDF1100060064FFFFFFFFFFDC82509BF8B49FFCFFDFB805DE +:20152000060800ECE082409BFFDFB805060500ECCC3F5198F8A0C7FCFFDFBE08E61386FD73 +:20154000E082609BF80064FFCC3F5198F8A0C7FCFFDFBE00F86CE0FEF8DC04EAFFFFFFFFE8 +:20156000CC3F5198F8A0C7FCFFDFBE08660064FFFFFFFFFF0B83409D80150083FFDF7129B8 +:20158000FFDF091BF382409BFFDF5CC9FFDF6D11F282409BFFDF751BFFDF001BCC3F519AEE +:2015A000F8B097FCFFDF6D18FFDF010BFFDFC336FFDF832A01000083F8BD5FFCDC82509B64 +:2015C000FFDFDA3DF8BC9FFC10000082FFDF4121FFDF101B860200ECDC82709BF80064FFB4 +:2015E000FFFFFFFFFFDFA045D8825099FFDFD86574CC719BFFDF819BE082609BDC82709BC2 +:20160000F4BE409B00400085FFDF5D29F4BE609BF80064FFFFFFFFFFD43F419801000081A2 +:20162000FFDF1100060064FFFFFFFFFFB0BE00998170309910001099012CB0FFF8BB07FC4A +:20164000F8B30FFC000001980B83409D80150083FFDF7129FFDF8A01FFDF61CAF8DCD7FC27 +:20166000C0110083FFDF7129FFDF7DCB84DFFFF8F8BB02EAFFFFFFFFB0BE00990170309942 +:2016800000000080140000829790819B080CB0FFFFDFD935030CB0FFFFDF21C907BB0010EA +:2016A000FFDFBC30FFDFD865BE0060FF4792819B07A9D86600300086FFDF70230C0000848E +:2016C000FFDF0832C03F619CF80064FFFFFFFFFFFFFFFFFF0B834099FFDFC7A300D5008F90 +:2016E000FFDF710FFFDF8207FFDFBFA3C011008FFFDF710FFFDF7FA38015008FFFDF710FA5 +:20170000C03F4198FFDFBE00F86CE1FEFFDF25C9FFDFB860F860E2FEFFDFB830F868E3FE11 +:20172000879139A7240182FDFFDF0109FFDF4FA3FFDF1DCBFFDFBE04F86CE0FEF8C0E0FE17 +:20174000F80064FF9C8F98F00F83409DF0BE5099C43F51988F9FA2780F90D9659E0300ECD7 +:20176000FFDFCC354F90CC74FFDFD925FFDFD845F0BE709BFFDFA21DFFDF836AFFDFCC7554 +:20178000F8A05FFC01703099B8820099FFDFA618FFDF8800FFDFBC08FFDF21C9F8BB07FC27 +:2017A000E61151FDFFDFCB6064CE419903000083FFDF5918FFDFB804860400EC0100008366 +:2017C000FFDFB814860100EC0300008307000083FFDF7409FFDF9201E582609B9A09008289 +:2017E000C4BF419EFFDF7013FFDFE01DF9FFFF86FFDFF21BFFDF5CCAFFDF9201A0CE019966 +:2018000004001099B0003099FF3BC0FF1FB30039FFFFFFFFF80064FFFFFFFFFFFFFFFFFF4F +:20182000D43F419801000081FFDF1100060064FFFFFFFFFFC83F5198FF010083FFDF580934 +:20184000F6BE4099F6BE609BF8A047FCFFDF0008FFDF820010010080FFDF0808A61100FDF8 +:20186000FFDF1118860400ECFFFFFFFF00800081FFDFC09F34BA709938BA7099FFDFFFF8EA +:20188000F84C01EEFFFFFFFFF8B505EAFFFFFFFF0000019A44A00199E0A7009DF8B100EAB1 +:2018A000FFFFFFFF03000080D43F6198F84101EEFFFFFFFFE63F4198FFDFB800260B00ECC8 +:2018C00001000082FFDF28109B830099D8B9009BF85007EAFFFFFFFFD8B9009DE0A7009909 +:2018E0003CBA009BF8F702EAFFFFFFFFF80C00ECFFFFFFFFE73F4198FFDFB800A60800EC65 +:20190000FFDF38A6FFDF8178FFDF9000FFDF809B8100309B3CBA009BFF3FECFFF8B34FFCD1 +:20192000FE7F0081F7BE6099F482409974CC519BF8B45FFCFFDF6D09C0110081FFDF0109EB +:201940000B834099FFDFC424FFDF4109FFDF82010C834099FFDFBE04661382FDFFDF920958 +:20196000FFDF9200FFDF09093CBA009B8002309BFFDF69CBF8B77FFC0C834099FFDF8378AC +:20198000A60300ECF7BE409BFFDF8201FF3FEEFFF8B35FFC0000309B0000109BF582409BC8 +:2019A000FFDF83597DDFFFF8FFDF69CBF7BE409D5880009BF8F77FFCFFDF4CC95080009B3B +:2019C000F8F77FFCFFDF0CCB5480009BF8F77FFCFFDF4CCBFFDF0909FFDF0CC98000309B2C +:2019E0003CBA009B0000109B7DDFFFF8FFDF29CBF8CB7FFCFFDF8603023CE4FFF8E37FFC6A +:201A0000FFDF1129C60782FDFFFFFFFFFFDF8600FFDF101BC61186FDE4826099FFDF8608D4 +:201A2000E3826099E63F4198FFDFB800260800EC9B830099D8B9009BF85007EAFFFFFFFF82 +:201A4000D8B9009DE0A70099E0A7009BF80B01EAFFFFFFFFFFFFFFFFE0A700994C84009BA5 +:201A6000D0A7009DF86B01EAFFFFFFFFD83F419834BA509938BA509BFFDFA07DCFB4A07CCA +:201A8000FFDF04CA34BA709938BA709BD4BF419803000081FFDF1100060064FFFFFFFFFF62 +:201AA000F8C400EEFFFFFFFFE53F4198FFDFBE00661200ECFFFFFFFF34BA509938BA509BD3 +:201AC00000800082288200994082009B3882009DF8D103EAFFFFFFFF440800ECFFFFFFFF27 +:201AE0004C840099E0A7009BD0A7009D4082009FF89401EAFFFFFFFFF81100ECFFFFFFFF82 +:201B0000C0BF419EFFDFB863F8E0E2FEFFDFF5C9FFDF3BA724F783FD2C0782FDFFDFEDCB77 +:201B20004C840099E0A7009BD0A7009DF8D801EAFFFFFFFFE0A700995082009DF80102EADB +:201B4000FFFFFFFFF89B00EEFFFFFFFFE63F4198FFDFB800A60E00ECE73F4198FFDFB80043 +:201B6000260B00EC01000082FFDF28109B83009904BA009BF85007EAFFFFFFFF04BA009D0F +:201B8000E0A700993CBA009BF85A03EAFFFFFFFFF7BE6099FFFFFFFFE73F4198FFDFB8001A +:201BA000260700EC9B83009904BA009BF85007EAFFFFFFFF04BA009DE0A70099F83A01EA2F +:201BC000FFFFFFFFFFFFFFFFFABE4099FFDF25CAFBBE409F74810099E0A7009B0080019A4C +:201BE0000B83409B80150081FFDF7118FFDF8A00FFDF29CAF8DDD7FC0D834099F8EA03EAE6 +:201C0000FFFFFFFF04000081FFDFF264E1826099FFDF8608E2826099C43F5198FFDFFE081A +:201C2000FFDF44CA0B834099FFDFBE5CE611A0FDFFDF0CC9C43F7198F8D205EAFFFFFFFF51 +:201C4000F85C00EEFFFFFFFF23830099B0B9009BE43F4198F86007EAFFFFFFFFB0B90099C0 +:201C6000E0A7009B3CBA009F0080019A0B83409B00470082FFDF7111FFDF80018015008488 +:201C8000FFDF7112F7BE409BFFDF65CBC0BF419E56550085FFDF703A03000083FFDF592949 +:201CA00020CE619BF84C02EAFFFFFFFF01000085C0BF419EC4CE4199FFDFBE24E60500EC27 +:201CC000FFFFFFFFFFDFBE03661DBAFDC0CE619DF80064FFFFFFFFFF0C000083FFDF59097D +:201CE000FFDFB825860800ECFFFFFFFFFFDFBE03660064FFFFFFFFFFFFDFBE0BE61DBAFDEE +:201D0000C0CE619DF80064FFFFFFFFFFC8BF419EFFDFBE13661DBAFD03000083FFDF5913C1 +:201D2000FFDF1113060064FFFFFFFFFFC0CE619DF82000EEFFFFFFFFF80064FFFFFFFFFF57 +:201D4000800230998100309B16000082FFDF7401000010997DDFFFF8FFDF61C9F8B717FC3B +:201D6000FFDF829B0228B0FFF8B317FC27B34AA3F8B36FFCFFFFFFFFF80064FFFFFFFFFFA1 +:201D8000800230998000309B28000082FFDF7401000010997DDFFFF8FFDF61C9F8B717FCEA +:201DA000019CB0FFF8B317FCF8B35FFCFFFFFFFFF80064FFFFFFFFFF8780FF7418CD0199C7 +:201DC000E10030990100008114CD6199F8B317FCFFDF8E29033CB0FF07B3E82D0512C8DA33 +:201DE00017B3E8244510C8DA0000008114CD6199FFDF3600F8B047FCFFDF2900FFDF90281E +:201E000030BA5099FFDF2808FFDFFE0000000080FFDFD84430BA709901000081F80064FFBB +:041E2000F9BE60990E +:02000004008E6C +:20000000F82300E8FFFFFFFFF84600E801030081F84600E802030081F84600E803030081DD +:20002000F84600E804030081F84600E805030081F84600E806030081F84600E80703008102 +:20004000F84600E810030081F84600E811030081F84600E812030081F81906E8FFFFFFFF74 +:20006000F82406E8FFFFFFFFF84600E815030081F84600E816030081F84600E8170300813A +:20008000FFFFFFFFF804F0FFFFFFFFFFFFFFFFFFF85000EAFFFFFFFFF83100EAFFFFFFFF44 +:2000A000F800A0FFFFFFFFFFFFFFFFFFFFFFFFFFF82800E8FFFFFFFFFFFFFFFFF80CF0FFC2 +:2000C000FFFFFFFF1000008370C0619B1200008371C0619B1400008372C0619B1600008345 +:2000E00073C0619B1800008374C0619B1A00008375C0619B1C00008376C0619B1E000083C6 +:2001000077C0619BFFDF843000DFFFF6F80064FFFFFFFFFFFFFFFFFF000060991EDFFFF509 +:20012000F8B04FFC01006099FFFFFFFFF804F0FFFFFFFFFFF84A00E8FFFFFFFFFFFFFFFFCD +:20014000FFFFFFFFF80064FFFFFFFFFFFFFFFFFF7DDFFFF8E176309AE07030990800109D0E +:20016000A100309D0000008308001099F8BB1FFCFF7F008309001099F8BB1FFC0300008308 +:20018000FCFF1F99F8BB1FFC04001099E1703099FFDF1DCBFFDF9200FFDF8A08FFDF29CAA0 +:2001A000F881EFFC8C9880FDFFDF21A38C0382FDFFDF9201FFDF8A09FFDF69CAF89087FC8C +:2001C0000FB3A09FF88526FC8C9889FD0FB34A1AF8B3AFFCF8A516FC9C9889FDFFDF4A19AF +:2001E0009FB3866147928A01FFDF69CAFFDF39A6FFDF8001FFDF9001FFDF8169087CE4FF97 +:20020000F8B30FFCF8A526FC9C9889FD0FB34A1AF8B3AFFCF8A516FC9C9889FDFFDF4A1989 +:20022000F8B39FFCFFFFFFFFA4A000E8FFFFFFFF44A06199F8A526FC9C9889FDFFDF4A1ABB +:20024000F8B3AFFC0C000081244421FD243108FDFFDF44C9040380FDFFDF9001FFDF88098E +:20026000FFDF69C8F8B30FFCF8A516FC8C9889FDFFDF4A19F8B39FFCF80064FFFFFFFFFF82 +:200280000C000081244421FD243108FDFFDF44C9FFDF9001FFDF8809979069C8F8B30FFC1A +:2002A000F8A526FC9C9889FDFFDF4A1AF8B3AFFCF80064FFFFFFFFFF8100309F10A1019F35 +:2002C0008100309D0128B0FFF8B397FCF8B3DFFC08001099310A30990800109BA102309B5E +:2002E00004A1019D0400109DE170309D0B00008100A1619909000080FFDF39A6FFDF080198 +:2003000024F381FD24B707FCA4FB3EFC24B77FFCFFDF8428013CE4FFF8B38FFCFFFFFFFF5F +:2003200007000080023CE4FFF8BB87FCF8B707FCF8B38FFC037CE4FFF8BB87FCF8B34FFC69 +:20034000F8B707FCF8B38FFCFFDF829FFFDF843824F181FD033CE4FFF8BB87FCF8B34FFC3B +:20036000FFDF909FF8B38FFCFFFFFFFFF80064FFFFFFFFFF8100309B10A1019B8100309D00 +:200380000128B0FFF8B397FCF8B35FFC310830997DDFFFF8FFDF40CBFFDF8239FFDF68CB59 +:2003A000FDDFFFF8FFDF40CB00000080FFDF7809FFDF68CB7DDFFFF8810E309B04A1019DA1 +:2003C0000400109DE170309D0B00008100A16199FFDF38A6A40180FDFFDF81580414B0FFCB +:2003E000F8B707FC8FB380CFF8BB97FCF8B38FFCF8BBA7FCF8B767FC0B3CE4FFF8B707FCFA +:200400008FB380CFF8BB97FC8FB34ACFF8B36FFCF8BBA7FCF8B707FC8FB380CFF8BB97FCB5 +:200420008FB34ACFF8B36FFCF8BBA7FCFFFFFFFFF80064FFFFFFFFFF7DDFFFF8080010999E +:2004400031EA30991000109BE18A309B0400109D617E309DF8B787FCF8BB97FCF8BB27FC1C +:200460004FB649CF2FB240CFF8B78FFCF8B39FFCFFDF38A6A42701E8FFDF21A2C12A00846F +:20048000FFDF68211F828809FFDF69C9F8B747FCF8B707FC1000109BFFDF8170FFDF8178AE +:2004A000033CE4FFF8B357FCF8B707FCF8B29FFCF8B74FFCA4B33FFCF8B387FCF8BB97FC25 +:2004C000F8BB27FC4FB649CF2FB240CFF8B78FFCF8BB9FFCF80064FFFFFFFFFFFDDFFFF887 +:2004E000FFDF08CBFFDF30CA7DDFFFF8FFDF08CBFFDF30CA1000109BE18A309B0400109DF5 +:20050000610E309D0182309FA44601E8F8809FFCC12A0086FFDF6943F8BBC7FCC7BB849E52 +:20052000C7BB859EC7BB869EFFDF879E03FCE4FFFFDFB79CFFDFAE9CFFDFA59CF87807FCA0 +:2005400061803099FFDF38A6FFDF8168F8BB07FC17BB6A48FFDF6A594FB648CF27BB03187A +:2005600037BB6A6A4FBB6A7B6FBE5ACF07BB033A073CE4FF17BB6A486FBB6A594FB648CFBE +:2005800027BB031837BB6A6A4FBB6A7B6FBE5ACF07BB033A8F906A484FB648CF6FBB031822 +:2005A000F8B34FFCFDDFFFF8FFDF10CAFFDF20CB7DDFFFF8FFDF10CAFFDF20CB118E3099B5 +:2005C000F8B707FCF8B397FCF8B25FFCF8B70FFCF8B347FCF8B397FCF8B397FCF8B25FFCFD +:2005E000F8B34FFCF80064FFFFFFFFFFFDDFFFF8FFDF08CBFFDF30CA7DDFFFF8FFDF08CB4E +:20060000FFDF30CA0400109D610E309DFFDF55C9C12A0084FFDF6821FFDF8809FFDF61C9CC +:20062000A1003099F8B307FC100010990800109BA102309BF8B747FCFFDF0DC9FFDF81685B +:20064000013CE4FFF8B307FCF8B34FFCFDDFFFF8FFDF10CAFFDF20CB7DDFFFF8FFDF10CA77 +:20066000FFDF20CB118E309997B3809BF8B25FFCF8B70FFCF8B397FCF8B397FCF8B25FFCA4 +:20068000F8B34FFCFFFFFFFFF80064FFFFFFFFFF8000309B10A1019B8000309DACAE01E8E9 +:2006A0008F90809AC12A0082FFDF696107828179FF7FECFFF8B35FFC2B000082FFDF080166 +:2006C000017CE4FFF8B397FCF8B35FFC08001099310A30997DDFFFF8FFDF00CBFFDF28CBF4 +:2006E000FDDFFFF8FFDF00CBFFDF28CB7DDFFFF8810E309B04A1019D0400109DE170309DEE +:200700000900008100A161998F85A09AAC0180FDACF381FDFFDF2AA22CE581FDFFDF814A3D +:20072000F8849FFC2C1780FDF8B707FCFF3FECFFF8B38FFC017CE4FFF8B707FCF8B38FFC89 +:20074000F8BB97FCF8BBA7FCF8BB97FCF8BBA7FCF8B707FC07BCE4FFF8B38FFCF8BB97FC8D +:20076000F8BBA7FCA7BB51CFF8B35FFCF8BB97FC07B74ACFF8B36FFCF8B33FFCACB33FFCE8 +:20078000F8B707FCF8B38FFC06FCE4FFF8BB97FCF8BBA7FCA7BB51CFF8B35FFCF8BB97FC22 +:2007A0008FB34ACFF8B36FFC97BB829BFFDF51CFF8B35FFCF80064FFFFFFFFFF0000209846 +:2007C0000000209A000010980000109A0000109C7DDFFFF8FFDF3DC9FFDF9A07978044C888 +:2007E000B79D9809B7817DC80F92980906FDFFEDFFDF8206478C837996CF27F0FFDF58600F +:200800008ECF27F09C0F59F004000080FFDFB820C6CF07F0C48F0BF26EDFFFF8FFDFB97F00 +:20082000F8E0E4FECC0400ECFFFFFFFFF8BD7FFCFFDFD5CBFFDF8213940782FD0100008288 +:20084000F8BDD7FCF8BD97FCE100309BF8B37FFC0100309960E040910000109960E240935D +:200860000400109B60E440950800109D60E640970C00109FFFDF9200FFDF8A08A6CF27F0B7 +:20088000B48FCAF09CCFCAF0FFDF87A2C18D30982858EF902858E592A85AFB94285C159663 +:2008A000478E5DC8FFDF8809FFDF8808140398FDFFDF61C8FFDF8CC8FFDF801A9780B1C874 +:2008C000FFDF22C8C19D309AFFDF69C8FFDF2AC820060081F8AF0FFC03000081FFDF40A3AB +:2008E00000000081F8A70FFCFFDF98088790C340FFDFD344FFDF3908879047A2F8A30FFC7B +:200900009C9008FD9C9030FD9C9000FD9C9028FDFDDFFFF89C9008FD9C9030FD9C9000FD4D +:200920009C9028FD7DDFFFF8FFDF38A9FFDF00C8FFDF0100FFDF20C8FD9087F8FFDF00C857 +:20094000FFDF7900FFDF20C87DDFFFF8143900ECFFFFFFFFE7808D9DDF84809D0F929A1591 +:20096000FFDF837D077CE7FFE788FF1CDF8CFF1DE791909DEF95999DE788FF1CDF8CFF1DAF +:20098000E791909DEF95999DF8B347FCF8A08FFCF70188FDF8B187FCCC0600ECFFFFFFFF84 +:2009A0004FA08378F7F181FDFFDFB800868036FE47B11900868076FE846DFFFE6EDFFFF85A +:2009C000F8A0CFFCFFDF8800F70180FDF8B1C7FCF8B34FFCFFDF8806FFDF9807249001F9E0 +:2009E000D79C01C8D79D22C8FFDF9800FFDF29C8FFDF9800FFDF21C8FFDF8018FFDF31C88E +:200A00001C9000FD1C9048FD9C9010FD1C9060FDFFDF28C8FDDFFFF81C9000FD1C9048FDBF +:200A20009C9010FD1C9060FDFFDF28C87DDFFFF81CDFFFF8FFDF8402FFDF102E265C00EC73 +:200A4000FFFFFFFF59BCE7FF20060081F8AF0FFC8F8338A48F90747057B104CAF8A70FFCD5 +:200A6000F8A31FFC3F9EB69DFFDF837EFFDF9A07FFDF836F21BCE7FFF880E7FCE784809DBC +:200A80001288FF00226CFF0137ABFF02FFDFFF03FFDFFF04E780FF05E784FF06FFDFFF07CC +:200AA00007FCE7FFE788FF00DF8CFF01E791FF02E791FF03E791FF04E780FF05E784FF062B +:200AC000EF91FF07E788FF00F78CFF01E791FF02E791FF03E791FF04FFDFFF05FFDFFF066C +:200AE000EF91FF07FFFFFFFFFFDFFF01E791FF02E791FF03FFFFFFFFE791FF06F891EFFCB6 +:200B0000FFDF880EFFDF980FA49CD7FC249CC7FC249001F9D79D9808FFDF21C8FFDF801847 +:200B2000FFDF31C8FFDF02C8FFDF9808FFDF22C81C9000FD1C9048FD9C9010FD1C9060FD14 +:200B4000FFDF28C8FDDFFFF81C9000FD1C9048FD9C9010FD1C9060FDFFDF28C87DDFFFF8F7 +:200B60001CDFFFF8F8B347FCF8A08FFCF71188FDF8B187FCCC0600ECFFFFFFFF4FA0837815 +:200B8000F7F181FDFFDFB800868036FE47B11900868076FE846DFFFE6EDFFFF8F8A0CFFCFF +:200BA000FFDF8800F70180FDF8B1C7FCF8B34FFCFFFFFFFF20060081F8AF0FFC8F8338A4B5 +:200BC0008F90747057B104CAF8A70FFCF8A31FFC3F9EB69DFFDF837E0000109918BCE7FF6A +:200BE000F880E7FCE784809D1288FF0022ACFF0137ABFF02FFDFFF03FFDFFF04E780FF059C +:200C0000E784FF06FFDFFF07E788FF00F78CFF01E791FF02E791FF03E791FF04FFDFFF053F +:200C2000FFDFFF06EF91FF07FFFFFFFFFFDFFF01E791FF02E791FF03FFFFFFFFE791FF0605 +:200C4000F891EFFCA49CD7FC249CC7FC241D88F9D79D980F04001098FFDF0AC8FFDF22C889 +:200C6000F8B347FCF8A08FFCF71188FDF8B187FCCC0600ECFFFFFFFF4FA08378F7F181FDA0 +:200C8000FFDFB800868036FE47B11900868076FE846DFFFE6EDFFFF8F8A0CFFCFFDF8800FE +:200CA000F70180FDF8B1C7FCF8B34FFC1C9000FD1C9048FD9C9010FD1C9060FDBC9095FDA3 +:200CC000C41588FDBC4100FDFFDF28C8FD8097F81C9000FD1C9048FD9C9010FD1C9060FD06 +:200CE000BC4178FDFFDF28C87DDFFFF81CDFFFF820060081F8AF0FFC8F8338A48F90747025 +:200D000057B104CAF8A70FFCF8A31FFCFFDF55C800001099FFDF9809E7808171FFDF75C905 +:200D2000E784809D1288FF08228CFF0937ABFF0AFFDFFF0B17ABFF0C27ABFF0D3280FF0E97 +:200D4000E784FF0F11BCE7FF1288FF08228CFF093291FF0AE791FF0B1291FF0C2280FF0D66 +:200D600037ABFF0EEF95FF0FF884E7FC1288FF08228CFF093291FF0AE791FF0B1291FF0C40 +:200D80002280FF0D37ABFF0EEF95FF0FF884E7FC1288FF08228CFF093291FF0AE791FF0B20 +:200DA0001291FF0C27ABFF0D37ABFF0EEF95FF0FFFFFFFFFFFDFFF09E791FF0AE791FF0B41 +:200DC000FFFFFFFFE791FF0EF895F7FCF8B347FCF8A08FFCF71188FDF8B187FCF8B34FFC52 +:200DE000F80064FFFFFFFFFFFDDFFFF8FFDF00CBFFDF20CA7DDFFFF8FFDF00CBFFDF20CA94 +:200E0000FFFFFFFFFDDFFFF8FFDF08CBFFDF28CA7DDFFFF8FFDF08CBFFDF28CAFFFFFFFFB2 +:200E2000000030990000309B340201998C02019B0158B1FFF8E37EFCF8E33FFCFFFFFFFFB4 +:200E4000FFFFFFFFFDDFFFF8FFDF00CAFFDF20CB7DDFFFF8FFDF00CAFFDF20CBFFFFFFFF92 +:200E6000FDDFFFF8FFDF08CAFFDF28CB7DDFFFF8FFDF08CAFFDF28CBFFFFFFFFFFFFFFFF52 +:200E8000FDDFFFF8FFDF00CB85026199FFDF08CB87026199FFDF10CB890261997DDFFFF890 +:200EA000FFDF00CB86026199FFDF08CB88026199FFDF10CB8A026199FFDF15CA35026199A5 +:200EC000FFDF0DCA36026199FDDFFFF885024199FFDF20CB7DDFFFF886024199FFDF20CBB0 +:200EE0000000109935024199FFDFC325FFDF832936024199FFDFC326FFDF8372FFDF8A0ACA +:200F0000FFDF011AFFDFA1CBF8EB3EFCF8FB3EFC380261998300008180026199008000838D +:200F200082024199FF7F0085FFDFB804869654FD825A0085FFDFB80C869654FDE749008524 +:200F4000FFDFB814869654FD00400085FFDFB81C869654FD3E390085FFDFB824869654FD73 +:200F600041340085FFDFB82C869654FD61300085FFDFB834869654FD412D0085FFDFB83C36 +:200F8000869654FDAB2A0085FFDFB844869654FD7A280085FFDFB84C869654FD8402619B4B +:200FA000FFFFFFFFF80064FFFFFFFFFFFFFFFFFFF80304EAFFFFFFFFF80505EAFFFFFFFF15 +:200FC000FFDF86008202419B8102419DFFDF1129861186FD34026199FFFFFFFFF80064FF33 +:200FE000FFFFFFFF8202419981026199FFDF860034026199F80064FFFFFFFFFFFFFFFFFF33 +:2010000034024199F80064FFFFFFFFFFFFDFFFF8FDDFFFF889024199FFDF20CB7DDFFFF840 +:201020008A024199FFDF20CB81003099FDDFFFF887024199FFDF28CB7DDFFFF88802419979 +:20104000FFDF28CB8100309B37024199FFDF3DCB35024199FFDF44C938024199FFDF84C93F +:2010600084024199FFDFC09FFFDF849EFFDFDDC9FFDFFDC8FFDF841BFFDF7437FFDFDDC823 +:20108000FFDF7023FFDFA07BFFDFDDC8FFDF7423FFDFC308FFDFCC43FFDF900BFFDF880B6E +:2010A00081024199FFDF82008202419BFFDF1118C60186FD81026199FFDF9DCBFFDFB5CAA2 +:2010C000FFDF9006FFDF817E000010994020419110000081FFDFC09FFFDF809E01BCE5FF79 +:2010E00017A31F00FFDFC46CFFFFFFFFFFDF1F00F8B047FCFFDF1008269204FDF8B087FC4B +:20110000FFDF1008269204FDF8B0C7FCFFDF1008269204FDFFDF3DC881024199FFDFB8042C +:20112000F860E0FE83024199FFDF1078F8E8E0FE948F28F084941DFD83026199FFDF8604A2 +:20114000FFDF44CBFFDF0879FFDF8408FFDF3D10949225FD94941DFD83026199FFDF3DCAC0 +:20116000FDDFFFF887024199FFDF30CB7DDFFFF888024199FFDF30CB8100309D8102419925 +:20118000FFDFB804C60900ECFFFFFFFFE100309DFFDF1DCBFFDF83600000109DFFDF31CB42 +:2011A000F8CBBFFCFFDF809BF8B38FFCFFFFFFFFFFFFFFFFFFDFFF2400400080FFDFC09C8F +:2011C000FFDF877DFFDFED9FFFDFAA9FFFDF900BFFDF817B0BFCE4FF17B32B2DFFDF3E79A8 +:2011E000B7B36A49FFDF434BFFDF4D1A17B3512AFFDF3E79FFDF6A49FFDF4D1AFFDF512A18 +:20120000FFDF033A6FB3C530FFFFFFFFFFDF2B2DFFDFFC50FFDFFC7AFFDFFC60FFDFFE00D6 +:20122000FFDF859CFFDFFF2400400080FFDFC09CFFDF9DCBFFDFB5CAFFDF900EFFDF817EB8 +:20124000FFDF0836FFDF0836FFDF8176FFDF877EFFDFF69FFFDFB29F0BBCE5FF17B32B2E2E +:20126000FFDF3E79B7B36A49FFDF434BFFDF4D1A17B3512AFFDF3E79FFDF6A49FFDF4D1A5B +:20128000FFDF512AFFDF033A6FB3C530FFFFFFFFFFDF2B2EFFDFFC50FFDFFC7AFFDFFC60D8 +:2012A000FFDFFE00FFDF869CFFDFFF2400400080FFDFC09CFFDF857AFFDFD29CFFDF929D21 +:2012C0000BFCE4FF17B32B22FFDF3E79B7B36A49FFDF434BFFDF4D1A17B3512AFFDF3E79D0 +:2012E000FFDF6A49FFDF4D1AFFDF512AFFDF033A6FB3C530FFFFFFFFFFDF2B22FFDFFC503C +:20130000FFDFFC7AFFDFFC60FFDFFE00FFDF879CFFDFA89CFFDFFE20FFDFB09CFFDFFE2816 +:20132000FFDFB89CFFDFFE30FFDFFC20FFDFFC053A024199FFDFC4CB7FDFFFF8FFDFFE08DA +:20134000FFDFA278FFDF7130FFDF3DC8FFDFA278FFDF44C8FFDF7131FFDFA079FFDF8E9CD2 +:20136000FFDF7530FFDF35C8FFDFA278FFDF44C8FFDF6D31FFDFA079FFDF8D9CFFDF753030 +:20138000FFDF2DC8FFDF0067FFDF5DC8FFDFB09CFFDFA278FFDF7850F8A547FCFFDFA89C68 +:2013A000FFDFA278E60180FDF8A587FCFFDFA079FFDFA001FFDFFE31FFDFFF48FFDF939DFB +:2013C000FFDF2B5BFFDF2B3EFFDFB09FF8A04FFCFFDF1100C69404FDF8A08FFCFFDF1100F6 +:2013E000C69404FDF8A0CFFCFFDF1100C69404FDFFDF35CBFFDF8600971186FD3B02619941 +:20140000FFDF15CB3C026199FFFFFFFFF80064FFFFFFFFFF37024199FFDF3DCBFDDFFFF8B7 +:2014200087024199FFDF20CB7DDFFFF888024199FFDF20CB00003099FFDF1DCB00001099C8 +:20144000FFDF21CBF8CB3FFCFDDFFFF8FFDF00CBFFDF20CA7DDFFFF8FFDF00CBFFDF20CABC +:20146000FFFFFFFFFDDFFFF887024199FFDF28CB7DDFFFF888024199FFDF28CBFDDFFFF80E +:20148000FFDF08CBFFDF28CA7DDFFFF8FFDF08CBFFDF28CAFFFFFFFF3C02419B8002419985 +:2014A000FFDF7109FFDF8A01FFDF8608FFDF29097F02619BFFDF75CBFDDFFFF8FFDF00CAD9 +:2014C000FFDF20CB7DDFFFF8FFDF00CAFFDF20CBFFFFFFFF01003099FFFF0081FFDFC09FFD +:2014E000F8E33FFCFEFF0081FFDFC09F10000088FFDF8174FF3FEDFFF8E33FFCFFFFFFFF74 +:20150000FFDF800CFFFF0081FFDFC09FF8FB3FFCFDDFFFF8FFDF08CAFFDF28CB7DDFFFF8D0 +:20152000FFDF08CAFFDF28CBFFFFFFFF0000309BFDDFFFF8FFDF00CAFFDF20CB7DDFFFF8CC +:20154000FFDF00CAFFDF20CBFFFFFFFF0000309904001099F8CB3FFC7CDFFFF8F8FB7EFCEB +:20156000FFDF116886CF07F1ACCF07F0FFDF1DCBFFDF83780000109BFFDF29CBF8F77EFCD0 +:20158000FFDF11688ECF07F194CF08F0FFDF86000200109994EB3FFC948F08F00200109DB1 +:2015A00094CB3FFC948067FE948F28F00200109994CB3FFCFFDF86000200109994EB3FFCCF +:2015C000948067FE94CF28F0FFFFFFFFAC1D84FD2C0D84FDFFDF05CAFFDF8A08FDDFFFF827 +:2015E000000020997DDFFFF8FFDF22CBFFDFDDC9FFDF8173FFDF860802001099F8C37FFC71 +:20160000F8E37FFC06FCE4FFB4CF47F1FFDF1169AECF07F1AC0D80FD840F5BF184F33FFC40 +:201620007FE38200FFFFFFFF0000309DFDDFFFF8FFDF00CAFFDF30CB7DDFFFF8FFDF00CAAE +:20164000FFDF30CBFFFFFFFF0400109DF8CBBFFC0200109950003099F8B33FFC0000309913 +:20166000F8FB3EFCFFDF84CBFCFBBEFCFDDFFFF8FFDF00CAFFDF20CB7DDFFFF8FFDF00CA20 +:20168000FFDF20CBFFFFFFFF02001099F8CB3FFCF8FB3EFCFFDFB97CF860A7FEFDDFFFF8CC +:2016A000FFDF00CAFFDF20CB7DDFFFF8FFDF00CAFFDF20CBFFFFFFFF02001099F8CB3FFC50 +:2016C00004001099FFDF8606FFDF85CAFFDF837A02BCE6FFF8EB3EFCFFDFB804A60D82FD5F +:2016E000FFFFFFFF96000081FFDF1106F8E8E6FEFDDFFFF80000209B7DDFFFF8FFDF1DCB77 +:20170000FFDF2ACBFDDFFFF8FFDF00CAFFDF20CB7DDFFFF8FFDF00CAFFDF20CBFFFFFFFFF2 +:2017200001003099F8C33FFCFFDF8600FFDF110EF8E0E0FE84D1AEF3042500ECFFFFFFFFCB +:20174000FFDF95C9FFDF817A20BCE4FFF8FB3EFCFFDF839FF8B8BFFCF8B43FFCFFDF091A35 +:20176000A6F501FDF8BD6FFCFDDFFFF8FFDF08CAFFDF28CB7DDFFFF8FFDF08CAFFDF28CB88 +:20178000FFFFFFFFFFDFE9CBF8F37EFC0100109BFFDF857A03BCE6FFF8F37EFCFFDF1028AE +:2017A000C69284FDC692C8FDFFFFFFFFFFDF1DCBFFDF8378FFDF5903FFDF817BA692C4FD8B +:2017C000F8BD77FCF8BDE7FCFFDF989FF8E33FFCFFFFFFFFFFFFFFFFFDDFFFF8FFDF00CAAB +:2017E000FFDF20CB7DDFFFF8FFDF00CAFFDF20CBFFFFFFFF0000309904001099F8CB3FFCEC +:201800003D02019DFFDF85CAFFDF837AFFDF8A0AFFDF837A02BCE6FFF8E33EFCFFDF84CBB1 +:20182000F8E3BEFCFFFFFFFFFFDF8600F409BAFD7A026199FFDF15CB79026199FFDF15CA99 +:201840007B026199FFDF8600EC09BAFD7C026199FFFFFFFFFFFFFFFFFFFFFFFFF80064FF3A +:20186000FFFFFFFFFFDF8600E50261996C4D419900380080FFDF580800380080FFDF1008F0 +:20188000867A06EAFFFFFFFFF80066FFFFFFFFFF684D419BF0FF0087FFDF591B0020008505 +:2018A000FFDF113A060066FFFFFFFFFF03000087FFDF591BFFDFB80F060900ECFFFFFFFF20 +:2018C000000030990000309BEA020199ED02019B0104B0FFF8E37EFCF8E33FFCFFFFFFFF48 +:2018E000FFFFFFFFFFDFB817060900ECFFFFFFFF000030990000309BEA020199F002019BA0 +:201900000104B0FFF8E37EFCF8E33FFCFFFFFFFFFFFFFFFFFFDFB807060900ECFFFFFFFF1C +:20192000000030990000309BEA020199F302019B0104B0FFF8E37EFCF8E33FFCFFFFFFFFE1 +:20194000FFFFFFFF000030990000309B000001990800019B011CB0FFF8E37EFCF8E33FFC82 +:20196000FFFFFFFFFFFFFFFF000030990000309BE4020199E702019B0104B0FFF8E37EFCCD +:20198000F8E33FFCFFFFFFFFFFFFFFFFFFDF840DEA024199FFDF35CA4CCD419BFFDF9208BA +:2019A000FFDF1118861B88FDFFDF9200FFDF1118862B88FDFFDF9200FFDF1118863B88FD90 +:2019C000FFDF9200FFDF1118864B88FD200001990010019B0020019DF87A03EAFFFFFFFFBB +:2019E000F80066FFFFFFFFFFD43F429803000081FFDF1100061200ECFFFFFFFFE83F42982D +:201A0000FFDFB800C60E00ECFFFFFFFFC83F4298FF010083FFDF580910010080E402419980 +:201A2000E402619BFFDF8200FFDF0808A61100FDFFDF1118060200ECFFFFFFFF860800EC51 +:201A4000FFFFFFFF00800081FFDFC09F0000719904007199F8F903EAFFFFFFFFF80064FFFF +:201A6000FFFFFFFFFFDFFFF8EA024199FFDFC7A300D5008FFFDF710FFFDF8207FFDFBFA31E +:201A8000C011008FFFDF710FFFDF7FA38015008FFFDF710FC03F4298FFDFBE00F86CE1FE4E +:201AA000FFDF25C9FFDFB860F860E2FE879139A7240182FDFFDF0109FFDF4FA3FFDF1DCB12 +:201AC000FFDFBE04F86CE0FEF8C0E0FE9C8F98F00000029A44B001990018019DF85400EAC5 +:201AE000FFFFFFFF00180199D029019B544D019DF80E01EAFFFFFFFFD83F4298000051999C +:201B00000400519BFFDFA07DCFB4A07CFFDF04CA000071990400719B000051990400519B9B +:201B20002CDFFFF8FFDF04C9FFDFA27CFFDF1100F8E0A2FEFFDFA27CFFDF1100F8E0A2FE32 +:201B4000FFDFA27CFFDF1100F8E0A2FEFFDF1110F8E0A2FEFFDFA27DFFDF1110F8E0A2FE37 +:201B6000FFDFA27DFFDF1110F8E0A2FEFFDFA27DFFDF1110F8E0A2FE00800083FFDF11107B +:201B8000F8E0E2FEACF903EAFFFFFFFFAC0064FFFFFFFFFFD02901990018019B544D019D6E +:201BA0001000019FF83701EAFFFFFFFF001801993000019BEA02419900200083FFDF111871 +:201BC000860100EC00000298002002988100309881003099000010999108309B0000109BF3 +:201BE0007DDFFFF8EB024199FFDF21CBF8CB3FFCF8B307FCF8B757FC07B3809E57B76B10F2 +:201C000001F4B1FF0490809E57B76B10FFFFFFFFFFFFFFFF02FCB1FF0490809E57B36B1007 +:201C2000FFDF5119FFFFFFFFF890E7FCFFDF809EFFDF6B10F890E7FCFFFFFFFF00B10199EE +:201C4000644D019B000002980080039AEA02419B00200081FFDF1118860200ECFFFFFFFFA0 +:201C60000020029800A0039A0002008000000081EFDFFFF8F7DFFFF884DFFFF8FFDFFFF8A9 +:201C8000ACDFFFF83CDFFFF80080FF87F8EF01EAFFFFFFFF00200199EA02419900200083B9 +:201CA000FFDF1118860100EC0080039800A003988100309881003099F880E7FCE780809DE2 +:201CC000FFFFC3FF0C80809DFFFFFFFFFFFFFFFFF8EB03EAFFFFFFFFFFDF8600F8FF03EA8F +:101CE000FFFFFFFFE5026199F80064FFFFFFFFFFC0 +:00000001FF diff --git a/ath10k/QCA4019/hw1.0/board-2.bin b/ath10k/QCA4019/hw1.0/board-2.bin new file mode 100644 index 0000000..5ef7d46 Binary files /dev/null and b/ath10k/QCA4019/hw1.0/board-2.bin differ diff --git a/ath10k/QCA4019/hw1.0/firmware-5.bin b/ath10k/QCA4019/hw1.0/firmware-5.bin new file mode 100644 index 0000000..b32fc80 Binary files /dev/null and b/ath10k/QCA4019/hw1.0/firmware-5.bin differ diff --git a/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt b/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..2f736cb --- /dev/null +++ b/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,589 @@ +============================================================================= +This Notice.txt file contains certain notices of software components included with the software that +Qualcomm Atheros, Inc. (Qualcomm Atheros) is required to provide you. +Except where prohibited by the open source license, the content of this notices file is +only provided to satisfy Qualcomm Atheros's attribution and notice requirement; +your use of these software components together with the Qualcomm Atheros software +(Qualcomm Atheros software hereinafter referred to as Software) is subject to the +terms of your agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file are +the responsibility of the user. Except as may be granted by separate express written agreement, +this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated or any of its subsidiaries. +Copyright (c) 2016 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. +============================================================================= + +======================================================================================================================================== + +// +// 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. + +======================================================================================================================================== +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +======================================================================================================================================== + +======================================================================================================================================== +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +======================================================================================================================================== + +======================================================================================================================================== +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ +======================================================================================================================================== + +======================================================================================================================================== + +/* + * 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 + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take AES-based functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + +Qualcomm Atheros, Inc. has chosen to take common helper macros functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take SHA1 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take MD5 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +Copyright (c) 1998-2008 Tensilica Inc. +* +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +* +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +* +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// + +======================================================================================================================================== +/* + * 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. + * + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + +// +// 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. +// + +======================================================================================================================================== + +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +======================================================================================================================================== + +/* + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +======================================================================================================================================== + +/* + * $DateTime: 2011/01/07 17:50:19 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +====================================================================================================================================== diff --git a/ath10k/QCA6174/hw2.1/board-2.bin b/ath10k/QCA6174/hw2.1/board-2.bin new file mode 100644 index 0000000..eda3f0f Binary files /dev/null and b/ath10k/QCA6174/hw2.1/board-2.bin differ diff --git a/ath10k/QCA6174/hw2.1/board.bin b/ath10k/QCA6174/hw2.1/board.bin new file mode 100644 index 0000000..f4938ca Binary files /dev/null and b/ath10k/QCA6174/hw2.1/board.bin differ diff --git a/ath10k/QCA6174/hw2.1/firmware-5.bin b/ath10k/QCA6174/hw2.1/firmware-5.bin new file mode 100644 index 0000000..4b83853 Binary files /dev/null and b/ath10k/QCA6174/hw2.1/firmware-5.bin differ diff --git a/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt b/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..9e32162 --- /dev/null +++ b/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt @@ -0,0 +1,1126 @@ +This Notice.txt file contains certain notices of software components included +with the software that Qualcomm Atheros, Inc. (“Qualcomm Atheros”) is required +to provide you. Except where prohibited by the open source license, the +content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components +together with the Qualcomm Atheros software (Qualcomm Atheros software +hereinafter referred to as “Software”) is subject to the terms of your +agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file +are the responsibility of the user. Except as may be granted by separate +express written agreement, this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated +or any of its subsidiaries. + +Copyright (c) 2015 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective owners. +NOTICES: +============================================================================= + + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + + +/* + * 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 + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + + + +/* + * 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 + * + * 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. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + + +/* + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 / Network configuration structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + + + +/* + * Copyright (c) 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 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. +// +// + + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/08/06 21:06:51 $ + $Author: pdhavali $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ diff --git a/ath10k/QCA6174/hw3.0/board-2.bin b/ath10k/QCA6174/hw3.0/board-2.bin new file mode 100644 index 0000000..66d6490 Binary files /dev/null and b/ath10k/QCA6174/hw3.0/board-2.bin differ diff --git a/ath10k/QCA6174/hw3.0/board.bin b/ath10k/QCA6174/hw3.0/board.bin new file mode 100644 index 0000000..7a48985 Binary files /dev/null and b/ath10k/QCA6174/hw3.0/board.bin differ diff --git a/ath10k/QCA6174/hw3.0/firmware-4.bin b/ath10k/QCA6174/hw3.0/firmware-4.bin new file mode 100644 index 0000000..116513d Binary files /dev/null and b/ath10k/QCA6174/hw3.0/firmware-4.bin differ diff --git a/ath10k/QCA6174/hw3.0/firmware-6.bin b/ath10k/QCA6174/hw3.0/firmware-6.bin new file mode 100644 index 0000000..4ac146a Binary files /dev/null and b/ath10k/QCA6174/hw3.0/firmware-6.bin differ diff --git a/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin b/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin new file mode 100644 index 0000000..4d09c89 Binary files /dev/null and b/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin differ diff --git a/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt new file mode 100644 index 0000000..5199e3f --- /dev/null +++ b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt @@ -0,0 +1,1748 @@ +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 +license from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file +are the responsibility of the user. Except as may be granted by separate +express written agreement, this file provides no license to any Qualcomm +Atheros patents, trademarks, copyrights, or other intellectual property. + +Copyright (c) 2014 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective owners. + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + +NOTICES: + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/sha2.c + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha2.h + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/usb.h + +/* + * Copyright (c) 2011 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/crypto.h + +/* + * Copyright (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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/config.h + +/* + * Copyright (c) 2014 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/suppl_auth_api.h + +/* + * Copyright (c) 2011 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa.h + + +/* + * Copyright (c) 2011 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/wpa_i.h + + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.h + + +/* + * Copyright (c) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.h + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/sha256.c + +/* + * Copyright (c) 2011 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa.c + +/* + * Copyright (c) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_ft.c + +/* + * Copyright (c) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/md5_api.h + +/* + * Copyright (c) 2011 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/aes_wrap.h + +/* + * Copyright (c) 2011 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/sha1.h + +/* + * Copyright (c) 2011 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/common.h + +/* + * Copyright (c) 2011 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/romexport/AR6320/hw.3/include/seccommon.h + +/* + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. +*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/nan/wlan_nan_crc.c + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/include/queue.h + + +/* + * Copyright (c) 2012 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. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2012 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. +// + +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_ethersubr.h + +/* + * Copyright (c) 2014 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/patch/AR6320/v3/sha1_patch.c + +/* + * Copyright (c) 2014 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/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.c + +/* + * Copyright (c) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_common.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2002 Gary Thomas +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/os/common/cmnos_printf.c +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/os/common/cmnos_sscanf.c + +/* + * WPA Supplicant - CCX Fast Roaming with CCKM Enhancements + * Copyright (c) 2003-2008, Jouni Malinen + * Copyright (c) 2010-2011, embWiSe Technologies + * + * Licensed under a proprietary license. + * Notifications and licenses are retained for attribution purposes only. + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name(s) of the above-listed copyright holder(s) nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + */ +/*original files: ccx_cckm.c and part of wpa_common.c in proprietary patch + * of open source supplicant */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/supplicant/mywpa_cckm.c + +/* + * Copyright (c) 2012 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. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/if_llc.h + +/* + * Copyright (c) 2011 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 (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes.c + +/* + * Copyright (c) 2011 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/aes_wrap.c + +/* + * Copyright (c) 2011 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/sha1.c + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/src/wmi/wmi_tlv_platform.c + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_protocol_cmn.cnss/1.0.0/include/qvit/qvit_init_api.h + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_cmn.cnss/1.0.0/fw_interface/include/wmi_version_whitelist.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/misc/crypto/md5.c#3 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/crypto/md5.c + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $Header: //components/dev/wlanfw.cnss/1.0.1/dennis.rome_emu_es2_rel_fw/cnss_proc/wlan/fw/target/src/misc/binsig/rsa.c#2 $ + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/binsig/rsa.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/cil.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/cil.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/pcd.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/pcd.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * The CIL manages the memory map for the core so that the PCD and OTG drivers + * don't have to do this separately. The CIL also performs basic services + * that are not specific to either the Device or OTG modes of operation. + * These services include all functionality that requires specific + * knowledge of the CSR layout or the DMA descriptor (TRB) layout. Also + * included are services for invoking each of the commands provided by + * the DGCMD and DEPCMD registers (see the "Control and Status Registers" + * chapter of the USB3 controller databook for details). + * + * The Core Interface Layer has the following requirements: + * - Provides basic controller operations. + * - Minimal use of OS services. + * - The OS services used will be abstracted by using inline functions + * or macros. + * + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file contains the implementation of the PCD Interrupt handlers. + * + * The PCD handles the device interrupts. Many conditions can cause a + * device interrupt. When an interrupt occurs, the device interrupt + * service routine determines the cause of the interrupt and + * dispatches handling to the appropriate routine. These interrupt + * handling routines are described below. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/os_dev.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/os_dev.h + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/cil_intr.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * + * The Core Interface Layer provides basic services for accessing and + * managing the DWC_usb3 hardware. These services are used by both the + * Peripheral Controller Driver and the On The Go Driver. + * + * This file contains the common interrupt handling functions. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/cil_intr.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/soc/usbhwcore/drv/snps/pcd.c $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +/** @file + * This file implements the Peripheral Controller Driver. + * + * The Peripheral Controller Driver (PCD) is responsible for translating + * requests from the Function Driver into the appropriate actions on the + * DWC_usb3 controller. It isolates the Function Driver from the specifics + * of the controller by providing an API to the Function Driver. + * + * The Peripheral Controller Driver for Linux will implement the Gadget API, + * so that the existing Gadget drivers can be used. (Gadget Driver is the + * Linux terminology for a Function Driver.) + * + * The Linux Gadget API is defined in the header file + * . The USB EP operations API is defined + * in the structure usb_ep_ops and the USB Controller API is + * defined in the structure usb_gadget_ops. + * + * An important function of the PCD is managing interrupts generated by the + * DWC_usb3 controller. The implementation of the DWC_usb3 device mode + * interrupt service routines is in pcd_intr.c. + */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/soc/usbhwcore/drv/snps/pcd.c + +/* ========================================================================== + * $File: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/include/usb3_hw.h $ + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/include/usb3_hw.h + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// +p4://qctp411.qualcomm.com/components/rel/wlanfw_mac_core.cnss/1.0/src/misc/lzuncompr/lzuncompr1.c diff --git a/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt new file mode 100644 index 0000000..3551801 --- /dev/null +++ b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt @@ -0,0 +1,1352 @@ +============================================================================= + +This file contains certain notices of software components included with +the software that Qualcomm Technologies, Inc. ("QTI") is required to +provide you. Except where prohibited by the open source license, the +content of this file is provided solely to satisfy QTI's attribution +and notice requirement; your use of these software components +together with the QTI software ("Software") is subject to the terms +of your license from QTI. 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. + +Software provided with this notice is NOT A CONTRIBUTION to any open +source project. If alternative licensing is available for any of the +components with licenses or attributions provided below, a license +choice is made for receiving such code by QTI. + +Copyright (c) 2017 Qualcomm Technologies, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Other products and brand names may be +trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + +/* + * Copyright (c) 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +/* + * 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 + * + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + +/* + * 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. +*/ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + +/* + * 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + + +/* + * 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. +// + + + +/* + * Copyright (c) 2014 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 + * + * 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) 2014 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/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + +/* + * 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 (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * 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 + * + * 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) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ + +/* +* we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, +* and we revised the code. we take BSD license. Please keep the original BSD license here. +*/ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + + diff --git a/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt new file mode 100644 index 0000000..3551801 --- /dev/null +++ b/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt @@ -0,0 +1,1352 @@ +============================================================================= + +This file contains certain notices of software components included with +the software that Qualcomm Technologies, Inc. ("QTI") is required to +provide you. Except where prohibited by the open source license, the +content of this file is provided solely to satisfy QTI's attribution +and notice requirement; your use of these software components +together with the QTI software ("Software") is subject to the terms +of your license from QTI. 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. + +Software provided with this notice is NOT A CONTRIBUTION to any open +source project. If alternative licensing is available for any of the +components with licenses or attributions provided below, a license +choice is made for receiving such code by QTI. + +Copyright (c) 2017 Qualcomm Technologies, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Other products and brand names may be +trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + +/* + * Copyright (c) 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +/* + * 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 + * + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + +/* + * 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. +*/ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + +/* + * 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + + +/* + * 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. +// + + + +/* + * Copyright (c) 2014 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 + * + * 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) 2014 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/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + +/* + * 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 (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * 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 + * + * 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) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ + +/* +* we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, +* and we revised the code. we take BSD license. Please keep the original BSD license here. +*/ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + + diff --git a/ath10k/QCA9377/hw1.0/board-2.bin b/ath10k/QCA9377/hw1.0/board-2.bin new file mode 100644 index 0000000..a92e8cb Binary files /dev/null and b/ath10k/QCA9377/hw1.0/board-2.bin differ diff --git a/ath10k/QCA9377/hw1.0/board.bin b/ath10k/QCA9377/hw1.0/board.bin new file mode 100644 index 0000000..14896e2 Binary files /dev/null and b/ath10k/QCA9377/hw1.0/board.bin differ diff --git a/ath10k/QCA9377/hw1.0/firmware-5.bin b/ath10k/QCA9377/hw1.0/firmware-5.bin new file mode 100644 index 0000000..3402ae5 Binary files /dev/null and b/ath10k/QCA9377/hw1.0/firmware-5.bin differ diff --git a/ath10k/QCA9377/hw1.0/firmware-6.bin b/ath10k/QCA9377/hw1.0/firmware-6.bin new file mode 100644 index 0000000..cd839e2 Binary files /dev/null and b/ath10k/QCA9377/hw1.0/firmware-6.bin differ diff --git a/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin b/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin new file mode 100644 index 0000000..3cedadb Binary files /dev/null and b/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin differ diff --git a/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..e10d807 --- /dev/null +++ b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,1128 @@ +This Notice.txt file contains certain notices of software components included +with the software that Qualcomm Atheros, Inc. ("Qualcomm Atheros") is required +to provide you. Except where prohibited by the open source license, the +content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components +together with the Qualcomm Atheros software (Qualcomm Atheros software +hereinafter referred to as "Software") is subject to the terms of your +agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file +are the responsibility of the user. Except as may be granted by separate +express written agreement, this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated +or any of its subsidiaries. + +Copyright (c) 2017 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective owners. +NOTICES: +============================================================================= + + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + + +/* + * 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 + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + + + +/* + * 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 + * + * 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. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + + +/* + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 / Network configuration structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + + + +/* + * Copyright (c) 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 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. +// +// + + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/08/06 21:06:51 $ + $Author: pdhavali $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + diff --git a/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt new file mode 100644 index 0000000..3551801 --- /dev/null +++ b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt @@ -0,0 +1,1352 @@ +============================================================================= + +This file contains certain notices of software components included with +the software that Qualcomm Technologies, Inc. ("QTI") is required to +provide you. Except where prohibited by the open source license, the +content of this file is provided solely to satisfy QTI's attribution +and notice requirement; your use of these software components +together with the QTI software ("Software") is subject to the terms +of your license from QTI. 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. + +Software provided with this notice is NOT A CONTRIBUTION to any open +source project. If alternative licensing is available for any of the +components with licenses or attributions provided below, a license +choice is made for receiving such code by QTI. + +Copyright (c) 2017 Qualcomm Technologies, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Other products and brand names may be +trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + +/* + * Copyright (c) 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 2014 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 - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +/* + * 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 + * + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + +/* + * 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. +*/ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + +/* + * 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + + +/* + * 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. +// + + + +/* + * Copyright (c) 2014 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 + * + * 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) 2014 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/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 2014 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 definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2013, Jouni Malinen + + * + * 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) 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. +// +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + + +/* + * 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 (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * 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 + * + * 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 + * + * 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) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2013 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/10/21 08:09:59 $ + $Author: changhon $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ + +/* +* we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, +* and we revised the code. we take BSD license. Please keep the original BSD license here. +*/ + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + + diff --git a/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt new file mode 100644 index 0000000..e10d807 --- /dev/null +++ b/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt @@ -0,0 +1,1128 @@ +This Notice.txt file contains certain notices of software components included +with the software that Qualcomm Atheros, Inc. ("Qualcomm Atheros") is required +to provide you. Except where prohibited by the open source license, the +content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components +together with the Qualcomm Atheros software (Qualcomm Atheros software +hereinafter referred to as "Software") is subject to the terms of your +agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file +are the responsibility of the user. Except as may be granted by separate +express written agreement, this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated +or any of its subsidiaries. + +Copyright (c) 2017 Qualcomm Atheros, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks +are used with permission. Atheros is a trademark of Qualcomm Atheros, Inc., +registered in the United States and other countries. Other products and +brand names may be trademarks or registered trademarks of their respective owners. +NOTICES: +============================================================================= + + +* Copyright (c) 2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. + *Notifications and licenses are retained for attribution purposes only * + +Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. + +*For this file, which was received with alternative licensing options for +* distribution, Qualcomm Atheros, Inc. has selected the BSD license. + + + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ + + + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + + + + +/* + * 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 + * + * 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. + */ +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + + + + +/* + * 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 + * + * 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. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + + +/* + * 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 + * + * 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/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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 / Configuration file structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 / Network configuration structures + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + * + * This file defines the cryptographic functions that need to be implemented + * for wpa_supplicant and hostapd. When TLS is not used, internal + * implementation of MD5, SHA1, and AES is used and no external libraries are + * required. When TLS is enabled (e.g., by enabling EAP-TLS or EAP-PEAP), the + * crypto library used by the TLS implementation is expected to be used for + * non-TLS needs, too, in order to save space by not implementing these + * functions twice. + * + * Wrapper code for using each crypto library is in its own file (crypto*.c) + * and one of these files is build and linked in to provide the functions + * defined here. + */ + + + + +/* + * Copyright (c) 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 - Common definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 + * + * 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 - WPA definitions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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 - Internal WPA state machine definitions + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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 - WPA state machine and EAPOL-Key processing + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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) 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. +// +// + + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + + + + +/*=========================================================================== + @file secrsa_encryption.c + + This file provides RSA PKCS #1 v1.5 encryption/decryption implementation. + =========================================================================== + + EDIT HISTORY FOR FILE + $DateTime: 2013/08/06 21:06:51 $ + $Author: pdhavali $ + + when who what, where, why + -------- --- ---------------------------------------------------------- + 04/11/11 qxu initial version + + Copyright (c) 2011 by QUALCOMM Technologies, Incorporated. All Rights Reserved. + =============================================================================*/ + + + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// +// Name: lzuncompr.c +// Author: Vitaly Luban +// Based on code from Marcus Geelnard +// Description: LZ77 decoder implementation. +// Reentrant: Yes +// +// ------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + +/* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* ========================================================================== + * $Revision: #3 $ + * $Date: 2013/08/06 $ + * $Change: 2161544 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + + + + + + /* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + + diff --git a/ath10k/QCA9887/hw1.0/board.bin b/ath10k/QCA9887/hw1.0/board.bin new file mode 100644 index 0000000..9ef7e7b Binary files /dev/null and b/ath10k/QCA9887/hw1.0/board.bin differ diff --git a/ath10k/QCA9887/hw1.0/firmware-5.bin b/ath10k/QCA9887/hw1.0/firmware-5.bin new file mode 100644 index 0000000..2644060 Binary files /dev/null and b/ath10k/QCA9887/hw1.0/firmware-5.bin differ diff --git a/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt b/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..4ff240e --- /dev/null +++ b/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,328 @@ +============================================================================= +This Notice.txt file contains certain notices of software components +included with the software that Qualcomm Atheros, Inc. (Qualcomm Atheros) +is required to provide you. Except where prohibited by the open source license, +the content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components together +with the Qualcomm Atheros software (Qualcomm Atheros software hereinafter referred +to as Software) is subject to the terms of your agreement from Qualcomm Atheros. +Compliance with all copyright laws and software license agreements included in the +notice section of this file are the responsibility of the user. Except as may be +granted by separate express written agreement, this file provides no license to +any patents, trademarks, copyrights, or other intellectual property of Qualcomm +Incorporated or any of its subsidiaries. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States +and other countries. All Qualcomm Incorporated trademarks are used with permission. +Other products and brand names may be trademarks or registered trademarks of their +respective owners. +============================================================================= + +NOTICES: + +============================================================================= + +============================================================================================================================== + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_llc.h#1 + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_ethersubr.h#1 + + +======================================================================================================================================== + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/misc/crypto/md5.c#1 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + +src/misc/crypto/md5.c#1 + + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +support/lz77/lz.h#1 +support/lz77/lz.c#1 + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +src/misc/lzuncompr/lzuncompr1.c#1 +tests/serflash/flashprog/uncompr.c#1 + + +======================================================================================================================================== + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + +src/wlan/include/queue.h#1 +../include/queue.h#1 + +============================================================================================================================================ + +// Copyright (c) 1999-2006 by Tensilica Inc. + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ath10k/QCA9888/hw2.0/board-2.bin b/ath10k/QCA9888/hw2.0/board-2.bin new file mode 100644 index 0000000..d20f929 Binary files /dev/null and b/ath10k/QCA9888/hw2.0/board-2.bin differ diff --git a/ath10k/QCA9888/hw2.0/firmware-5.bin b/ath10k/QCA9888/hw2.0/firmware-5.bin new file mode 100644 index 0000000..a5ad471 Binary files /dev/null and b/ath10k/QCA9888/hw2.0/firmware-5.bin differ diff --git a/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt b/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..2f736cb --- /dev/null +++ b/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,589 @@ +============================================================================= +This Notice.txt file contains certain notices of software components included with the software that +Qualcomm Atheros, Inc. (Qualcomm Atheros) is required to provide you. +Except where prohibited by the open source license, the content of this notices file is +only provided to satisfy Qualcomm Atheros's attribution and notice requirement; +your use of these software components together with the Qualcomm Atheros software +(Qualcomm Atheros software hereinafter referred to as Software) is subject to the +terms of your agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file are +the responsibility of the user. Except as may be granted by separate express written agreement, +this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated or any of its subsidiaries. +Copyright (c) 2016 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. +============================================================================= + +======================================================================================================================================== + +// +// 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. + +======================================================================================================================================== +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +======================================================================================================================================== + +======================================================================================================================================== +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +======================================================================================================================================== + +======================================================================================================================================== +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ +======================================================================================================================================== + +======================================================================================================================================== + +/* + * 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 + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take AES-based functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + +Qualcomm Atheros, Inc. has chosen to take common helper macros functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take SHA1 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take MD5 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +Copyright (c) 1998-2008 Tensilica Inc. +* +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +* +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +* +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// + +======================================================================================================================================== +/* + * 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. + * + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + +// +// 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. +// + +======================================================================================================================================== + +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +======================================================================================================================================== + +/* + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +======================================================================================================================================== + +/* + * $DateTime: 2011/01/07 17:50:19 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +====================================================================================================================================== diff --git a/ath10k/QCA988X/hw2.0/board.bin b/ath10k/QCA988X/hw2.0/board.bin new file mode 100644 index 0000000..8f8bd6b Binary files /dev/null and b/ath10k/QCA988X/hw2.0/board.bin differ diff --git a/ath10k/QCA988X/hw2.0/firmware-4.bin b/ath10k/QCA988X/hw2.0/firmware-4.bin new file mode 100644 index 0000000..478e807 Binary files /dev/null and b/ath10k/QCA988X/hw2.0/firmware-4.bin differ diff --git a/ath10k/QCA988X/hw2.0/firmware-5.bin b/ath10k/QCA988X/hw2.0/firmware-5.bin new file mode 100644 index 0000000..ee62d34 Binary files /dev/null and b/ath10k/QCA988X/hw2.0/firmware-5.bin differ diff --git a/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt b/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt new file mode 100644 index 0000000..571dcf6 --- /dev/null +++ b/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt @@ -0,0 +1,301 @@ +============================================================================= +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 as may be granted by the separate license agreement applicable +to this software (see LICENSE.QualcommAtheros_ath10k), this file provides no license to any +Qualcomm Atheros patents, trademarks, copyrights, or other intellectual property. + +Copyright (c) 2014 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +============================================================================================================================== + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +For all files with the above-mentioned dual-license, Qualcomm Atheros, Inc. chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_llc.h#1 + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +For all files with the above-mentioned dual-license, Qualcomm Atheros, Inc. chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_ethersubr.h#1 + + +======================================================================================================================================== + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/misc/crypto/md5.c#1 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + +src/misc/crypto/md5.c#1 + + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +support/lz77/lz.h#1 +support/lz77/lz.c#1 + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +src/misc/lzuncompr/lzuncompr1.c#1 +tests/serflash/flashprog/uncompr.c#1 + + +======================================================================================================================================== + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + +src/wlan/include/queue.h#1 +../include/queue.h#1 diff --git a/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt b/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..4ff240e --- /dev/null +++ b/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,328 @@ +============================================================================= +This Notice.txt file contains certain notices of software components +included with the software that Qualcomm Atheros, Inc. (Qualcomm Atheros) +is required to provide you. Except where prohibited by the open source license, +the content of this notices file is only provided to satisfy Qualcomm Atheros's +attribution and notice requirement; your use of these software components together +with the Qualcomm Atheros software (Qualcomm Atheros software hereinafter referred +to as Software) is subject to the terms of your agreement from Qualcomm Atheros. +Compliance with all copyright laws and software license agreements included in the +notice section of this file are the responsibility of the user. Except as may be +granted by separate express written agreement, this file provides no license to +any patents, trademarks, copyrights, or other intellectual property of Qualcomm +Incorporated or any of its subsidiaries. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States +and other countries. All Qualcomm Incorporated trademarks are used with permission. +Other products and brand names may be trademarks or registered trademarks of their +respective owners. +============================================================================= + +NOTICES: + +============================================================================= + +============================================================================================================================== + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_llc.h#1 + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +src/wlan/proto/include/if_ethersubr.h#1 + + +======================================================================================================================================== + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/misc/crypto/md5.c#1 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + +src/misc/crypto/md5.c#1 + + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +support/lz77/lz.h#1 +support/lz77/lz.c#1 + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +src/misc/lzuncompr/lzuncompr1.c#1 +tests/serflash/flashprog/uncompr.c#1 + + +======================================================================================================================================== + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + +src/wlan/include/queue.h#1 +../include/queue.h#1 + +============================================================================================================================================ + +// Copyright (c) 1999-2006 by Tensilica Inc. + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ath10k/QCA9984/hw1.0/board-2.bin b/ath10k/QCA9984/hw1.0/board-2.bin new file mode 100644 index 0000000..1ee99ef Binary files /dev/null and b/ath10k/QCA9984/hw1.0/board-2.bin differ diff --git a/ath10k/QCA9984/hw1.0/firmware-5.bin b/ath10k/QCA9984/hw1.0/firmware-5.bin new file mode 100644 index 0000000..019e3a8 Binary files /dev/null and b/ath10k/QCA9984/hw1.0/firmware-5.bin differ diff --git a/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt b/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..2f736cb --- /dev/null +++ b/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,589 @@ +============================================================================= +This Notice.txt file contains certain notices of software components included with the software that +Qualcomm Atheros, Inc. (Qualcomm Atheros) is required to provide you. +Except where prohibited by the open source license, the content of this notices file is +only provided to satisfy Qualcomm Atheros's attribution and notice requirement; +your use of these software components together with the Qualcomm Atheros software +(Qualcomm Atheros software hereinafter referred to as Software) is subject to the +terms of your agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file are +the responsibility of the user. Except as may be granted by separate express written agreement, +this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated or any of its subsidiaries. +Copyright (c) 2016 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. +============================================================================= + +======================================================================================================================================== + +// +// 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. + +======================================================================================================================================== +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +======================================================================================================================================== + +======================================================================================================================================== +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +======================================================================================================================================== + +======================================================================================================================================== +/* +* Copyright (c)2014 Qualcomm Atheros, Inc. +* All Rights Reserved. +* Qualcomm Atheros Confidential and Proprietary. +* $ATH_LICENSE_TARGET_C$ +*/ +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ +======================================================================================================================================== + +======================================================================================================================================== + +/* + * 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 + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take AES-based functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + * + */ + +Qualcomm Atheros, Inc. has chosen to take common helper macros functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take SHA1 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +======================================================================================================================================== + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +Qualcomm Atheros, Inc. has chosen to take MD5 hash implementation and interface functions subject to the BSD license and terms + +======================================================================================================================================== + +Copyright (c) 1998-2008 Tensilica Inc. +* +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: +* +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +* +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// + +======================================================================================================================================== +/* + * 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. + * + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +======================================================================================================================================== + +// +// 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. +// + +======================================================================================================================================== + +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +======================================================================================================================================== + +/* + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +======================================================================================================================================== + +/* + * $DateTime: 2011/01/07 17:50:19 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +====================================================================================================================================== diff --git a/ath10k/QCA99X0/hw2.0/board-2.bin b/ath10k/QCA99X0/hw2.0/board-2.bin new file mode 100644 index 0000000..4e34d27 Binary files /dev/null and b/ath10k/QCA99X0/hw2.0/board-2.bin differ diff --git a/ath10k/QCA99X0/hw2.0/firmware-5.bin b/ath10k/QCA99X0/hw2.0/firmware-5.bin new file mode 100644 index 0000000..5d70cf2 Binary files /dev/null and b/ath10k/QCA99X0/hw2.0/firmware-5.bin differ diff --git a/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt b/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt new file mode 100644 index 0000000..ae21b58 --- /dev/null +++ b/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt @@ -0,0 +1,612 @@ +============================================================================= +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. +Where any software provided herewith is available under either the GPL or BSD licenses, Qualcomm Atheros chooses to receive such software under the BSD license only. +Copyright (c) 2014 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +============================================================================================================================== + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +// +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +wlan/protocol/src/include/if_llc.h#1 + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +wlan/protocol/include/if_ethersubr.h#1 + + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +wlan/protocol/support/lz77/lz.h#1 +wlan/protocol/support/lz77/lz.c#1 + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +wlan/mac_core/tests/serflash/flashprog/uncompr.c#1 + + +======================================================================================================================================== + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + +wlan/include/queue.h#1 + +======================================================================================================================================== +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/include/sha1.h +wlan/mac_core/romexport/AR900B/hw.1/include/sha1.h +wlan/mac_core/romexport/AR900B/hw.2/include/sha1.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $ + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/sha2.h +wlan/mac_core/romexport/AR900B/hw.2/include/sha2.h + +======================================================================================================================================== + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/include/aes_wrap.h +wlan/mac_core/romexport/AR900B/hw.1/include/aes_wrap.h +wlan/mac_core/romexport/AR900B/hw.2/include/aes_wrap.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/md5.h +wlan/mac_core/romexport/AR900B/hw.2/include/md5.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + + +======================================================================================================================================== + +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/seccommon.h +wlan/mac_core/romexport/AR900B/hw.2/include/seccommon.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ + +wlan/mac_core/include/usb.h +wlan/mac_core/romexport/AR900B/hw.1/include/usb.h +wlan/mac_core/romexport/AR900B/hw.2/include/usb.h + +======================================================================================================================================== + +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +wlan/mac_core/include/cil.h +wlan/mac_core/romexport/AR900B/hw.1/include/cil.h +wlan/mac_core/romexport/AR900B/hw.2/include/cil.h +wlan/mac_core/include/dev.h +wlan/mac_core/romexport/AR900B/hw.1/include/dev.h +wlan/mac_core/romexport/AR900B/hw.2/include/dev.h +wlan/mac_core/include/os_dev.h +wlan/mac_core/romexport/AR900B/hw.1/include/os_dev.h +wlan/mac_core/romexport/AR900B/hw.2/include/os_dev.h +wlan/mac_core/include/usb3_hw.h +wlan/mac_core/romexport/AR900B/hw.1/include/usb3_hw.h +wlan/mac_core/romexport/AR900B/hw.2/include/usb3_hw.h +wlan/mac_core/include/pcd.h +wlan/mac_core/romexport/AR900B/hw.1/include/pcd.h +wlan/mac_core/romexport/AR900B/hw.2/include/pcd.h + +======================================================================================================================================== + +/* + * $Header: //source/qcom/qct/core/api/kernel/main/latest/libstd/stringl/stringl.h#13 $ + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +wlan/protocol/support/bin2srec/include/stringl/stringl.h + +========================================================================================================================================== + +/* + * $Header: //source/qcom/qct/core/kernel/libstd/main/latest/src/strlcpy.c#1 $ + * $DateTime: 2011/01/07 17:50:19 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +wlan/protocol/support/bin2srec/strlcpy.c + +====================================================================================================================================== + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +wlan/mac_core/patch/AR900B/v2/cmnos_printf_patch.c + +======================================================================================================================================== + diff --git a/ath10k/WCN3990/hw1.0/board-2.bin b/ath10k/WCN3990/hw1.0/board-2.bin new file mode 100644 index 0000000..7b83401 Binary files /dev/null and b/ath10k/WCN3990/hw1.0/board-2.bin differ diff --git a/ath10k/WCN3990/hw1.0/firmware-5.bin b/ath10k/WCN3990/hw1.0/firmware-5.bin new file mode 100644 index 0000000..69b4cae Binary files /dev/null and b/ath10k/WCN3990/hw1.0/firmware-5.bin differ diff --git a/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp b/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp new file mode 100644 index 0000000..b85005c --- /dev/null +++ b/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp @@ -0,0 +1,571 @@ +============================================================================= +============================================================================= +This Notice.txt file contains certain notices of software components included with the software that +Qualcomm Atheros, Inc. (“Qualcomm Atheros”) is required to provide you. +Except where prohibited by the open source license, the content of this notices file is +only provided to satisfy Qualcomm Atheros's attribution and notice requirement; +your use of these software components together with the Qualcomm Atheros software +(Qualcomm Atheros software hereinafter referred to as “Software”) is subject to the +terms of your agreement from Qualcomm Atheros. Compliance with all copyright laws and +software license agreements included in the notice section of this file are +the responsibility of the user. Except as may be granted by separate express written agreement, +this file provides no license to any patents, +trademarks, copyrights, or other intellectual property of Qualcomm Incorporated or any of its subsidiaries. +Copyright (c) 2015 Qualcomm Atheros, Inc. All rights reserved. +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. +All Qualcomm Incorporated trademarks are used with permission. +Atheros is a trademark of Qualcomm Atheros, Inc., registered in the United States and other countries. +Other products and brand names may be trademarks or registered trademarks of their respective owners. + +============================================================================= + +NOTICES: + +============================================================================= + +============================================================================================================================== + + +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //depot/sw/qca_main/components/wlan/qca-wifi-fw/1.0/drivers/target/src/wlan/proto/include/if_llc.h#2 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +wlan/protocol/src/include/if_llc.h#1 + +======================================================================================================================================== +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + */ +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +wlan/protocol/include/if_ethersubr.h#1 + + +======================================================================================================================================== + +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + + +wlan/protocol/support/lz77/lz.h#1 +wlan/protocol/support/lz77/lz.c#1 + + +======================================================================================================================================== + + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_NULL$ + */ + +// Copyright (c) 2003-2006 Marcus Geelnard +// Copyright (c) 2006-2007 Atheros Communications Inc. +// $ATH_LICENSE_NULL$ +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +wlan/mac_core/tests/serflash/flashprog/uncompr.c#1 + + +======================================================================================================================================== + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// + +wlan/include/queue.h#1 + +======================================================================================================================================== +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/include/sha1.h +wlan/mac_core/romexport/AR900B/hw.1/include/sha1.h +wlan/mac_core/romexport/AR900B/hw.2/include/sha1.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $ + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/sha2.h +wlan/mac_core/romexport/AR900B/hw.2/include/sha2.h + +======================================================================================================================================== + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/include/aes_wrap.h +wlan/mac_core/romexport/AR900B/hw.1/include/aes_wrap.h +wlan/mac_core/romexport/AR900B/hw.2/include/aes_wrap.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/md5.h +wlan/mac_core/romexport/AR900B/hw.2/include/md5.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + + +======================================================================================================================================== + +/* + * Common helper macros, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + */ + +wlan/mac_core/romexport/AR900B/hw.1/include/seccommon.h +wlan/mac_core/romexport/AR900B/hw.2/include/seccommon.h + +For all files with the above-mentioned dual-license, QCA chooses to receive subject to the BSD license. + +======================================================================================================================================== + + +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Lennart Augustsson (lennart@augustsson.net) at + * Carlstedt Research & Technology. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* Modified by Synopsys, Inc, 12/12/2007 */ + +wlan/mac_core/include/usb.h +wlan/mac_core/romexport/AR900B/hw.1/include/usb.h +wlan/mac_core/romexport/AR900B/hw.2/include/usb.h + +======================================================================================================================================== + +/* ========================================================================== + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +wlan/mac_core/include/cil.h +wlan/mac_core/romexport/AR900B/hw.1/include/cil.h +wlan/mac_core/romexport/AR900B/hw.2/include/cil.h +wlan/mac_core/include/dev.h +wlan/mac_core/romexport/AR900B/hw.1/include/dev.h +wlan/mac_core/romexport/AR900B/hw.2/include/dev.h +wlan/mac_core/include/os_dev.h +wlan/mac_core/romexport/AR900B/hw.1/include/os_dev.h +wlan/mac_core/romexport/AR900B/hw.2/include/os_dev.h +wlan/mac_core/include/usb3_hw.h +wlan/mac_core/romexport/AR900B/hw.1/include/usb3_hw.h +wlan/mac_core/romexport/AR900B/hw.2/include/usb3_hw.h +wlan/mac_core/include/pcd.h +wlan/mac_core/romexport/AR900B/hw.1/include/pcd.h +wlan/mac_core/romexport/AR900B/hw.2/include/pcd.h + +======================================================================================================================================== + +/* + * $Header: //source/qcom/qct/core/api/kernel/main/latest/libstd/stringl/stringl.h#13 $ + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +wlan/protocol/support/bin2srec/include/stringl/stringl.h + +======================================================================================================================================== + +/* + * $Header: //source/qcom/qct/core/kernel/libstd/main/latest/src/strlcpy.c#1 $ + * $DateTime: 2011/01/07 17:50:19 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +wlan/protocol/support/bin2srec/strlcpy.c + +====================================================================================================================================== diff --git a/ath10k/WCN3990/hw1.0/wlanmdsp.mbn b/ath10k/WCN3990/hw1.0/wlanmdsp.mbn new file mode 100644 index 0000000..e044d8c Binary files /dev/null and b/ath10k/WCN3990/hw1.0/wlanmdsp.mbn differ diff --git a/ath11k/IPQ5018/hw1.0/Notice.txt b/ath11k/IPQ5018/hw1.0/Notice.txt new file mode 100644 index 0000000..b15324d --- /dev/null +++ b/ath11k/IPQ5018/hw1.0/Notice.txt @@ -0,0 +1,4094 @@ +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. + +================================================================================ + +File: mywpa_common.h + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.c + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.h + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: mywpa_common.c + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ +================================================================================ + +File: sha1.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha1.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: crypto.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: suppl_auth_api.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: config.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: ieee80211_defines.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2008-2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms. + * + */ + +================================================================================ + +File: wpa_i.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: wpa.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: common.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ + +================================================================================ + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ + +File: ieee_crc32.c + +/* + * 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. + */ + +================================================================================ + +File: sha2.h + +/* + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +================================================================================ + +File: if_llc.h + +/* + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * + * 2012 - 2016 Qualcomm Atheros, Inc. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +/* + * 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. + */ + +================================================================================ + +File: stringl.h + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ + +File: stail_queue.h + +// 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. + +================================================================================ + +File: queue.h + +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ + +================================================================================ + +File: phyUtilsStrlcpy.c + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: platform_cmnos_printf.c + +/* + * Copyright (c) 2018 - 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, + * and we revise the code. we take BSD license. Please keep the original BSD license here. + */ +/* + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +================================================================================ + +File: strlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strnlen.c + +/* $OpenBSD: strnlen.c,v 1.3 2010/06/02 12:58:12 millert Exp $ */ + +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* OPENBSD ORIGINAL: lib/libc/string/strnlen.c */ + +================================================================================ + +File: wcslcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wcslcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: if_ethersubr.h + +/* + * 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. +// + +================================================================================ + +File: aes-siv.c + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + */ + +================================================================================ + +File: aes_siv.h + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: apf.h + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.c + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or +management of such entity, whether by contract or otherwise, or (ii) +ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but not +limited to compiled object code, generated documentation, and +conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the +purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the +interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the Work, +but excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and +such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except +as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to +which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet +the following conditions: + + 1. You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices + stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications + and may provide additional or different license terms and + conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this +License, without any additional terms or conditions. Notwithstanding +the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor +regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed +to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied, including, without +limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely +responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Work (including but +not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on +Your own behalf and on Your sole responsibility, not on behalf of any +other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or +claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +================================================================================ + +File: sha256.c + +/* + * Copyright (c) 2016 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA384 implementation ===== */ + +/* This is based on SHA384 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA512 implementation ===== */ + +/* This is based on SHA512 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha256.h + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +// 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. +// + +================================================================================ + +File: aes_gcm.h + +/* + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5_api.h + +/* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + + +================================================================================ + +File: wlan_p2p_listen_offload_int.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_listen_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: m1_m4_frame.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: my_nan_sec.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * 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. + */ + +================================================================================ + +File: wlan_p2p_disc_offload.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_disc_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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 file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_ppdu_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: pcie_reg_scratch.h + +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wal_dfs.h + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wal_dfs.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File:aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +================================================================================ + +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_radar_report.h +/* + * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: cds_ieee80211_common.h + +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.h + +/* + * Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: radar_filters.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wma_dfs_interface.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_bindetects.c + +* Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_fcc_bin5.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_init.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_nol.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_staggered.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: phyrf_dfs.c + +/* + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wma_dfs_interface.c + +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qvit_init_api.h + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wlan_mlme_wmi.c + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================ diff --git a/ath11k/IPQ5018/hw1.0/board-2.bin b/ath11k/IPQ5018/hw1.0/board-2.bin new file mode 100644 index 0000000..753aeec Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/board-2.bin differ diff --git a/ath11k/IPQ5018/hw1.0/m3_fw.b00 b/ath11k/IPQ5018/hw1.0/m3_fw.b00 new file mode 100644 index 0000000..ab4855d Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/m3_fw.b00 differ diff --git a/ath11k/IPQ5018/hw1.0/m3_fw.b01 b/ath11k/IPQ5018/hw1.0/m3_fw.b01 new file mode 100644 index 0000000..80a3f92 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/m3_fw.b01 differ diff --git a/ath11k/IPQ5018/hw1.0/m3_fw.b02 b/ath11k/IPQ5018/hw1.0/m3_fw.b02 new file mode 100644 index 0000000..c0ed8f7 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/m3_fw.b02 differ diff --git a/ath11k/IPQ5018/hw1.0/m3_fw.flist b/ath11k/IPQ5018/hw1.0/m3_fw.flist new file mode 100644 index 0000000..c01c7b0 --- /dev/null +++ b/ath11k/IPQ5018/hw1.0/m3_fw.flist @@ -0,0 +1,3 @@ +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/m3_fw.b00 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/m3_fw.b01 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/m3_fw.b02 diff --git a/ath11k/IPQ5018/hw1.0/m3_fw.mdt b/ath11k/IPQ5018/hw1.0/m3_fw.mdt new file mode 100644 index 0000000..25d9588 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/m3_fw.mdt differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b00 b/ath11k/IPQ5018/hw1.0/q6_fw.b00 new file mode 100644 index 0000000..e85f9a2 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b00 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b01 b/ath11k/IPQ5018/hw1.0/q6_fw.b01 new file mode 100644 index 0000000..5fa78d2 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b01 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b02 b/ath11k/IPQ5018/hw1.0/q6_fw.b02 new file mode 100644 index 0000000..822cf67 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b02 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b03 b/ath11k/IPQ5018/hw1.0/q6_fw.b03 new file mode 100644 index 0000000..8974d5c Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b03 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b04 b/ath11k/IPQ5018/hw1.0/q6_fw.b04 new file mode 100644 index 0000000..b7e430c Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b04 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b05 b/ath11k/IPQ5018/hw1.0/q6_fw.b05 new file mode 100644 index 0000000..86730eb Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b05 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b07 b/ath11k/IPQ5018/hw1.0/q6_fw.b07 new file mode 100644 index 0000000..8a910fa Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b07 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b08 b/ath11k/IPQ5018/hw1.0/q6_fw.b08 new file mode 100644 index 0000000..dc44aa4 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b08 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b09 b/ath11k/IPQ5018/hw1.0/q6_fw.b09 new file mode 100644 index 0000000..45ae60c Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b09 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b10 b/ath11k/IPQ5018/hw1.0/q6_fw.b10 new file mode 100644 index 0000000..3e535ad Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b10 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b11 b/ath11k/IPQ5018/hw1.0/q6_fw.b11 new file mode 100644 index 0000000..27a9500 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b11 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b13 b/ath11k/IPQ5018/hw1.0/q6_fw.b13 new file mode 100644 index 0000000..0476c95 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b13 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.b14 b/ath11k/IPQ5018/hw1.0/q6_fw.b14 new file mode 100644 index 0000000..b6763ca Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.b14 differ diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.flist b/ath11k/IPQ5018/hw1.0/q6_fw.flist new file mode 100644 index 0000000..31f6db2 --- /dev/null +++ b/ath11k/IPQ5018/hw1.0/q6_fw.flist @@ -0,0 +1,13 @@ +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b00 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b01 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b02 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b03 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b04 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b05 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b07 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b08 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b09 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b10 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b11 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b13 +build/ms/bin/5018.wlanfw.eval/PIL_IMAGES/q6_fw.b14 diff --git a/ath11k/IPQ5018/hw1.0/q6_fw.mdt b/ath11k/IPQ5018/hw1.0/q6_fw.mdt new file mode 100644 index 0000000..7532184 Binary files /dev/null and b/ath11k/IPQ5018/hw1.0/q6_fw.mdt differ diff --git a/ath11k/IPQ6018/hw1.0/Notice.txt b/ath11k/IPQ6018/hw1.0/Notice.txt new file mode 100644 index 0000000..b15324d --- /dev/null +++ b/ath11k/IPQ6018/hw1.0/Notice.txt @@ -0,0 +1,4094 @@ +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. + +================================================================================ + +File: mywpa_common.h + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.c + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.h + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: mywpa_common.c + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ +================================================================================ + +File: sha1.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha1.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: crypto.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: suppl_auth_api.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: config.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: ieee80211_defines.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2008-2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms. + * + */ + +================================================================================ + +File: wpa_i.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: wpa.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: common.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ + +================================================================================ + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ + +File: ieee_crc32.c + +/* + * 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. + */ + +================================================================================ + +File: sha2.h + +/* + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +================================================================================ + +File: if_llc.h + +/* + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * + * 2012 - 2016 Qualcomm Atheros, Inc. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +/* + * 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. + */ + +================================================================================ + +File: stringl.h + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ + +File: stail_queue.h + +// 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. + +================================================================================ + +File: queue.h + +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ + +================================================================================ + +File: phyUtilsStrlcpy.c + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: platform_cmnos_printf.c + +/* + * Copyright (c) 2018 - 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, + * and we revise the code. we take BSD license. Please keep the original BSD license here. + */ +/* + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +================================================================================ + +File: strlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strnlen.c + +/* $OpenBSD: strnlen.c,v 1.3 2010/06/02 12:58:12 millert Exp $ */ + +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* OPENBSD ORIGINAL: lib/libc/string/strnlen.c */ + +================================================================================ + +File: wcslcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wcslcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: if_ethersubr.h + +/* + * 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. +// + +================================================================================ + +File: aes-siv.c + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + */ + +================================================================================ + +File: aes_siv.h + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: apf.h + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.c + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or +management of such entity, whether by contract or otherwise, or (ii) +ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but not +limited to compiled object code, generated documentation, and +conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the +purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the +interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the Work, +but excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and +such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except +as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to +which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet +the following conditions: + + 1. You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices + stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications + and may provide additional or different license terms and + conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this +License, without any additional terms or conditions. Notwithstanding +the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor +regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed +to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied, including, without +limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely +responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Work (including but +not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on +Your own behalf and on Your sole responsibility, not on behalf of any +other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or +claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +================================================================================ + +File: sha256.c + +/* + * Copyright (c) 2016 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA384 implementation ===== */ + +/* This is based on SHA384 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA512 implementation ===== */ + +/* This is based on SHA512 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha256.h + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +// 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. +// + +================================================================================ + +File: aes_gcm.h + +/* + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5_api.h + +/* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + + +================================================================================ + +File: wlan_p2p_listen_offload_int.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_listen_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: m1_m4_frame.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: my_nan_sec.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * 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. + */ + +================================================================================ + +File: wlan_p2p_disc_offload.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_disc_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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 file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_ppdu_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: pcie_reg_scratch.h + +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wal_dfs.h + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wal_dfs.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File:aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +================================================================================ + +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_radar_report.h +/* + * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: cds_ieee80211_common.h + +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.h + +/* + * Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: radar_filters.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wma_dfs_interface.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_bindetects.c + +* Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_fcc_bin5.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_init.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_nol.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_staggered.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: phyrf_dfs.c + +/* + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wma_dfs_interface.c + +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qvit_init_api.h + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wlan_mlme_wmi.c + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================ diff --git a/ath11k/IPQ6018/hw1.0/board-2.bin b/ath11k/IPQ6018/hw1.0/board-2.bin new file mode 100644 index 0000000..f6d8fdf 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 0000000..b000539 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 0000000..ebf9084 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 0000000..6b46507 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 0000000..887b0b8 --- /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 0000000..9efd74e 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 0000000..4892923 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 0000000..e7107ad 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 0000000..dc86702 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 0000000..08a0244 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 0000000..f1b855d 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 0000000..992dc53 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 0000000..86a7c3c 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 0000000..8fc7972 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 0000000..1746604 --- /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 0000000..d34b7d6 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 0000000..b15324d --- /dev/null +++ b/ath11k/IPQ8074/hw2.0/Notice.txt @@ -0,0 +1,4094 @@ +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. + +================================================================================ + +File: mywpa_common.h + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.c + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.h + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: mywpa_common.c + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ +================================================================================ + +File: sha1.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha1.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: crypto.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: suppl_auth_api.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: config.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: ieee80211_defines.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2008-2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms. + * + */ + +================================================================================ + +File: wpa_i.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: wpa.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: common.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ + +================================================================================ + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ + +File: ieee_crc32.c + +/* + * 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. + */ + +================================================================================ + +File: sha2.h + +/* + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +================================================================================ + +File: if_llc.h + +/* + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * + * 2012 - 2016 Qualcomm Atheros, Inc. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +/* + * 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. + */ + +================================================================================ + +File: stringl.h + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ + +File: stail_queue.h + +// 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. + +================================================================================ + +File: queue.h + +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ + +================================================================================ + +File: phyUtilsStrlcpy.c + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: platform_cmnos_printf.c + +/* + * Copyright (c) 2018 - 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, + * and we revise the code. we take BSD license. Please keep the original BSD license here. + */ +/* + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +================================================================================ + +File: strlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strnlen.c + +/* $OpenBSD: strnlen.c,v 1.3 2010/06/02 12:58:12 millert Exp $ */ + +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* OPENBSD ORIGINAL: lib/libc/string/strnlen.c */ + +================================================================================ + +File: wcslcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wcslcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: if_ethersubr.h + +/* + * 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. +// + +================================================================================ + +File: aes-siv.c + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + */ + +================================================================================ + +File: aes_siv.h + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: apf.h + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.c + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or +management of such entity, whether by contract or otherwise, or (ii) +ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but not +limited to compiled object code, generated documentation, and +conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the +purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the +interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the Work, +but excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and +such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except +as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to +which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet +the following conditions: + + 1. You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices + stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications + and may provide additional or different license terms and + conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this +License, without any additional terms or conditions. Notwithstanding +the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor +regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed +to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied, including, without +limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely +responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Work (including but +not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on +Your own behalf and on Your sole responsibility, not on behalf of any +other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or +claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +================================================================================ + +File: sha256.c + +/* + * Copyright (c) 2016 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA384 implementation ===== */ + +/* This is based on SHA384 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA512 implementation ===== */ + +/* This is based on SHA512 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha256.h + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +// 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. +// + +================================================================================ + +File: aes_gcm.h + +/* + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5_api.h + +/* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + + +================================================================================ + +File: wlan_p2p_listen_offload_int.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_listen_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: m1_m4_frame.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: my_nan_sec.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * 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. + */ + +================================================================================ + +File: wlan_p2p_disc_offload.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_disc_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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 file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_ppdu_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: pcie_reg_scratch.h + +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wal_dfs.h + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wal_dfs.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File:aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +================================================================================ + +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_radar_report.h +/* + * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: cds_ieee80211_common.h + +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.h + +/* + * Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: radar_filters.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wma_dfs_interface.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_bindetects.c + +* Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_fcc_bin5.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_init.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_nol.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_staggered.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: phyrf_dfs.c + +/* + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wma_dfs_interface.c + +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qvit_init_api.h + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wlan_mlme_wmi.c + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================ diff --git a/ath11k/IPQ8074/hw2.0/board-2.bin b/ath11k/IPQ8074/hw2.0/board-2.bin new file mode 100644 index 0000000..c7ab8c7 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 0000000..27a76ac 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 0000000..090cd97 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 0000000..4d72a10 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 0000000..f03566e --- /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 0000000..c3f0faf 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 0000000..55eb4b9 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 0000000..4834970 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 0000000..563f8af 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 0000000..cbb85d8 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 0000000..0f8df68 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 0000000..a681d8b 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 0000000..166dc87 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 0000000..4ce326a 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 0000000..1fbcc2f --- /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 0000000..421bb45 Binary files /dev/null and b/ath11k/IPQ8074/hw2.0/q6_fw.mdt differ diff --git a/ath11k/QCA6390/hw2.0/Notice.txt b/ath11k/QCA6390/hw2.0/Notice.txt new file mode 100644 index 0000000..fd4fa45 --- /dev/null +++ b/ath11k/QCA6390/hw2.0/Notice.txt @@ -0,0 +1,4160 @@ +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. + +================================================================================ +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ +================================================================================ +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ +File: tailq.h +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * Copyright (c) 2004, National ICT Australia + * + * 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. + */ +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Alex Webster + */ + +================================================================================ +File: htt_common.h +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: htt_deps.h +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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. + */ +*/ +================================================================================ +File: htt.h +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: htt_isoc.h +/* + * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + +================================================================================ +File: htt_ppdu_stats.h +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: htt_stats.h +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +================================================================================ +File: pcie_reg_scratch.h +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: wdi_ipa.h +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wlan_defs.h +/* + * Copyright (c) 2013-2016, 2018-2022 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* +================================================================================ +File: wlan_nan_msg_common.h +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wlan_nan_msg_common_v2.h +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ +File: wlan_nan_msg.h +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: wmi.h +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wmi_services.h +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wmi_tlv_defs.h +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wmi_tlv_helper.h +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wmi_unified.h +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: wmi_unified_vendor.h +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: wmi_version.h +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wmix.h +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: athdefs.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: bin_sig.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: bmi_msg.h +/* + * Copyright (c) 2012, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: cepci.h +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dbglog.h +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dbglog_id.h +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* +================================================================================ +File: enet.h +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: epping_test.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: htc.h +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: htc_services.h +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: ip_prot.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: ipv4.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: ipv6.h +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: ol_fw_tx_dbg.h +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: pktlog_if.h +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: queue.h +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: stail_queue.h +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// + +================================================================================ +File: targaddrs.h +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: targcfg.h +/* + * Copyright (c) 2010-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wal_rx_desc.h +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: wlan_module_ids.h +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: aes_gcm.h +* + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: aes_wrap.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: md5_api.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ +File: sha1.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: sha2.h +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $ + */ + +================================================================================ +File: wal_dfs.h +/* + * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. +*/ + +================================================================================ +File: if_ethersubr.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +// - +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_ethersubr.h#3 $ +// +================================================================================ +File: wal_phy_dev.h +/* +* Copyright (c) 2013- 2017 The Linux Foundation. All rights reserved. +* +* 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. +*/ + +================================================================================ +File: wal_virtual_dev.h +/* +* Copyright (c) 2013- 2017 The Linux Foundation. All rights reserved. +* +* 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 +*/ +================================================================================ +File: wal_dfs.c +/* + * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ +File: ieee_crc32.c +/* + * 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. + */ +================================================================================ +File: aes.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +================================================================================ +File: aes_gcm.c +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: aes_wrap.c +/* + * 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 + * + * 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. + */ +================================================================================ +File: common.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: crypto.h +/* + * 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 + * + * 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. + */ + +================================================================================ +File: md5.c +// +// $Id: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/src/misc/crypto/md5.c#1 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + +================================================================================ +File: sha1.c +/* + * 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 + * + * 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. + */ + +================================================================================ +File: cil.h +/* ========================================================================== + * $File: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/include/cil.h $ + * $Revision: #1 $ + * $Date: 2013/07/12 $ + * $Change: 2108597 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +================================================================================ +File: dwc_dev.h +/* ========================================================================== + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +================================================================================ +File: dwc_os_dev.h +/* ========================================================================== + * $File: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/include/os_dev.h $ + * $Revision: #1 $ + * $Date: 2013/07/12 $ + * $Change: 2108597 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ + +================================================================================ +File: pcd.h +/* ========================================================================== + * $File: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/include/pcd.h $ + * $Revision: #1 $ + * $Date: 2013/07/12 $ + * $Change: 2108597 $ + * + * Synopsys SS USB3 Linux Software Driver and documentation (hereinafter, + * "Software") is an Unsupported proprietary work of Synopsys, Inc. unless + * otherwise expressly agreed to in writing between Synopsys and you. + * + * The Software IS NOT an item of Licensed Software or Licensed Product under + * any End User Software License Agreement or Agreement for Licensed Product + * with Synopsys or any supplement thereto. You are permitted to use and + * redistribute this Software in source and binary forms, with or without + * modification, provided that redistributions of source code must retain this + * notice. You may not view, use, disclose, copy or distribute this file or + * any information contained herein except pursuant to this license grant from + * Synopsys. If you do not agree with this notice, including the disclaimer + * below, then you are not authorized to use the Software. + * + * THIS SOFTWARE IS BEING DISTRIBUTED BY SYNOPSYS SOLELY ON AN "AS IS" BASIS + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE HEREBY DISCLAIMED. IN NO EVENT SHALL SYNOPSYS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * ========================================================================== */ +================================================================================ +File: whal_api.h +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: whal_desc.h +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +/* +================================================================================ +File: queue.h +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/src/sim_wifi_ip02/include/queue.h#2 $ +// +================================================================================ +File: platform_cmnos_printf.c +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp +/* +* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: hca_HwComponentBbLithium_dfs_radar_report.h +* +* Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. +* +* 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. +*/ +================================================================================ +File: phyOsApiWindowsSem.h +/* + Copyright (c) 2011, Dongsheng Song + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +*/ + +/* + Simple Windows replacement for POSIX semaphores + Modified by Daniel Tillett from libpthread + Copyright (c) 2015, Daniel Tillett +*/ +================================================================================ +File: phyOsApiWindowsSem.c +/* + Copyright (c) 2011, Dongsheng Song + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +*/ + +/* + Simple Windows replacement for POSIX semaphores + Modified by Daniel Tillett from libpthread + Copyright (c) 2015, Daniel Tillett +*/ +================================================================================ +File: phyUtilsStrlcpy.c +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/*- + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +================================================================================ +File: cds_ieee80211_common.h +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: cds_ieee80211_common_i.h +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: cds_ieee80211_defines.h +/* + * Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: _ieee80211.h +/* + * Copyright (c) 2008 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/home/qca_main/p4/wlanfw_mac_core.cnss.2.0.utf2halphytools/cnss_proc/wlan/halphy_tools/host/os/include/_ieee80211.h copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +================================================================================ +File: ath_dfs_structs.h +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs.h +/* +* Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* +================================================================================ +File: dfs_interface.h +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_ioctl.h +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_ioctl_private.h +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: qdf_net_types.h +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: radar_filters.h + +* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: types.h +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: cds_reg_service.h +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: qdf_status.h +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* +================================================================================ +File: wma_dfs_interface.h + +* 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: cds_reg_service.c +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: dfs_bindetects.c +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * + +================================================================================ +File: dfs.c + +* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_debug.c +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_fcc_bin5.c +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: dfs_init.c +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* +================================================================================ +File: dfs_misc.c +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_nol.c +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: dfs_staggered.c +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: phyrf_dfs.c +* + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: wma_dfs_interface.c +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + + +================================================================================ +File: common.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ +================================================================================ +File: config.h +/* + * 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 + * + * 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. + */ + +================================================================================ +File: if_llc.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ +================================================================================ +File: suppl_auth_api.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: wpa.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: wpa_i.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: wlan_mlme_wmi.c +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ +File: sha2.c +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================ +File: wlan_p2p_listen_offload.c +/* +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* 2016-2017 Qualcomm Atheros, Inc. +* All Rights Reserved. +*/ +/* +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_listen_offload_int.c +/* +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* 2016-2017 Qualcomm Atheros, Inc. +* All Rights Reserved. +*/ +/* +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_listen_offload_int.h +/* +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* 2016-2017 Qualcomm Atheros, Inc. +* All Rights Reserved. +*/ +/* +* Wi-Fi Protected Setup - message definitions +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ + +================================================================================ +File: apf.h +/* + * 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. + */ +================================================================================ +File: apf_interpreter.c +/* + * 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. + */ + +================================================================================ +File: apf_interpreter.h +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +================================================================================ +File: wlan_p2p_disc_offload.c +/* +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* 2016-2017 Qualcomm Atheros, Inc. +* All Rights Reserved. +*/ +/* +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_disc_offload_internal.h +/* +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* Wi-Fi Protected Setup - message definitions +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: aes-ctr.c +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: aes-siv.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: aes_siv.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: crypto.h +/* + * 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 + * + * 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. + */ +================================================================================ +File: fils.c + + /* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: fils.h +/* + * 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: m1_m4_frame.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. +*/ +================================================================================ +File: my_nan_sec.c +/* + * 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 + * + * 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. + */ +================================================================================ +File: mywpa.c +/* + * 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 + * + * 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. + */ +================================================================================ +File: mywpa_common.c +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: mywpa_common.h +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: mywpa_ft.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ +================================================================================ +File: mywpa_ft.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + + +================================================================================ +File: sha256.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +================================================================================ +File: sha256.h +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ +================================================================================ +File: sha256-kdf.c +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384.c +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384.h +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: sha384_i.h +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384-internal.c +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: sha384-prf.c +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: sha512_i.h +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha512-internal.c +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: stringl.h + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ +File: strlcpy.c +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ +File: lz.c +// +// Name: lz.c +// Author: Marcus Geelnard +// Description: LZ77 coder/decoder implementation. +// Reentrant: Yes +// $ATH_LICENSE_NULL$ +// +// The LZ77 compression scheme is a substitutional compression scheme +// proposed by Abraham Lempel and Jakob Ziv in 1977. It is very simple in +// its design, and uses no fancy bit level compression. +// +// This is my first attempt at an implementation of a LZ77 code/decoder. +// +// The principle of the LZ77 compression algorithm is to store repeated +// occurrences of strings as references to previous occurrences of the same +// string. The point is that the reference consumes less space than the +// string itself, provided that the string is long enough (in this +// implementation, the string has to be at least 4 bytes long, since the +// minimum coded reference is 3 bytes long). Also note that the term +// "string" refers to any kind of byte sequence (it does not have to be +// an ASCII string, for instance). +// +// The coder uses a brute force approach to finding string matches in the +// history buffer (or "sliding window", if you wish), which is very, very +// slow. I recon the complexity is somewhere between O(n^2) and O(n^3), +// depending on the input data. +// +// There is also a faster implementation that uses a large working buffer +// in which a "jump table" is stored, which is used to quickly find +// possible string matches (see the source code for LZ_CompressFast() for +// more information). The faster method is an order of magnitude faster, +// but still quite slow compared to other compression methods. +// +// The upside is that decompression is very fast, and the compression ratio +// is often very good. +// +// The reference to a string is coded as a (length,offset) pair, where the +// length indicates the length of the string, and the offset gives the +// offset from the current data position. To distinguish between string +// references and literal strings (uncompressed bytes), a string reference +// is preceded by a marker byte, which is chosen as the least common byte +// symbol in the input data stream (this marker byte is stored in the +// output stream as the first byte). +// +// Occurrences of the marker byte in the stream are encoded as the marker +// byte followed by a zero byte, which means that occurrences of the marker +// byte have to be coded with two bytes. +// +// The lengths and offsets are coded in a variable length fashion, allowing +// values of any magnitude (up to 4294967295 in this implementation). +// +// With this compression scheme, the worst case compression result is +// (257/256)*insize + 1. +// +//------------------------------------------------------------------------ +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +================================================================================ +File: lz.h +// +// Name: lz.h +// Author: Marcus Geelnard +// Description: LZ77 coder/decoder interface. +// Reentrant: Yes +// ------------------------------------------------------------------------ +// $ATH_LICENSE_NULL$ +// Copyright (c) 2003-2006 Marcus Geelnard +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +// Marcus Geelnard +// marcus.geelnard at home.se +// + +================================================================================ +File: arm_common_tables.h +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2014 ARM Limited. All rights reserved. +* +* $Date: 19. October 2015 +* $Revision: V.1.4.5 a +* +* Project: CMSIS DSP Library +* Title: arm_common_tables.h +* +* Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +================================================================================ +File: arm_const_structs.h +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2014 ARM Limited. All rights reserved. +* +* $Date: 19. March 2015 +* $Revision: V.1.4.5 +* +* Project: CMSIS DSP Library +* Title: arm_const_structs.h +* +* Description: This file has constant structs that are initialized for +* user convenience. For example, some can be given as +* arguments to the arm_cfft_f32() function. +* +* Target Processor: Cortex-M4/Cortex-M3 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* -------------------------------------------------------------------- */ + +================================================================================ +File: arm_math.h +/* ---------------------------------------------------------------------- +* Copyright (C) 2010-2015 ARM Limited. All rights reserved. +* +* $Date: 20. October 2015 +* $Revision: V1.4.5 b +* +* Project: CMSIS DSP Library +* Title: arm_math.h +* +* Description: Public header file for CMSIS DSP Library +* +* Target Processor: Cortex-M7/Cortex-M4/Cortex-M3/Cortex-M0 +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* - Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* - Neither the name of ARM LIMITED nor the names of its contributors +* may be used to endorse or promote products derived from this +* software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. + * -------------------------------------------------------------------- */ + +================================================================================ +File: cmsis_armcc.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + + +================================================================================ +File: cmsis_armcc_V6.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: cmsis_gcc.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cm0.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cm0plus.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cm3.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cm4.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cm7.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cmFunc.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cmInstr.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_cmSimd.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_sc000.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + +================================================================================ +File: core_sc300.h +/* Copyright (c) 2009 - 2015 ARM LIMITED + + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of ARM nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + * + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ---------------------------------------------------------------------------*/ + diff --git a/ath11k/QCA6390/hw2.0/amss.bin b/ath11k/QCA6390/hw2.0/amss.bin new file mode 100644 index 0000000..95bab09 Binary files /dev/null and b/ath11k/QCA6390/hw2.0/amss.bin differ diff --git a/ath11k/QCA6390/hw2.0/board-2.bin b/ath11k/QCA6390/hw2.0/board-2.bin new file mode 100644 index 0000000..d9ce78d Binary files /dev/null and b/ath11k/QCA6390/hw2.0/board-2.bin differ diff --git a/ath11k/QCA6390/hw2.0/m3.bin b/ath11k/QCA6390/hw2.0/m3.bin new file mode 100644 index 0000000..39f0dfe Binary files /dev/null and b/ath11k/QCA6390/hw2.0/m3.bin differ diff --git a/ath11k/QCN9074/hw1.0/Notice.txt b/ath11k/QCN9074/hw1.0/Notice.txt new file mode 100644 index 0000000..b15324d --- /dev/null +++ b/ath11k/QCN9074/hw1.0/Notice.txt @@ -0,0 +1,4094 @@ +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. + +================================================================================ + +File: mywpa_common.h + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.c + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: fils.h + +/* 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 + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: mywpa_common.c + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes_wrap.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: aes_wrap.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES-based functions + * + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ +================================================================================ + +File: sha1.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha1.c + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: crypto.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only. + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant / wrapper functions for crypto libraries + * Copyright (c) 2004-2005, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: suppl_auth_api.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: config.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: ieee80211_defines.h + +/* + * Copyright (c) 2011 Qualcomm Technologies, Inc. + * 2008-2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Qualcomm Atheros, Inc. has chosen to take madwifi subject to the BSD license and terms. + * + */ + +================================================================================ + +File: wpa_i.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: wpa.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: common.h + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ + +================================================================================ + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ + +File: ieee_crc32.c + +/* + * 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. + */ + +================================================================================ + +File: sha2.h + +/* + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +================================================================================ + +File: if_llc.h + +/* + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * + * 2012 - 2016 Qualcomm Atheros, Inc. + */ + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// + +/* + * 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. + */ + +================================================================================ + +File: stringl.h + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ + +File: stail_queue.h + +// 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. + +================================================================================ + +File: queue.h + +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ + +================================================================================ + +File: phyUtilsStrlcpy.c + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: platform_cmnos_printf.c + +/* + * Copyright (c) 2018 - 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * we got this file from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/10.1-RELEASE/src.txz, + * and we revise the code. we take BSD license. Please keep the original BSD license here. + */ +/* + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +================================================================================ + +File: strlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: strnlen.c + +/* $OpenBSD: strnlen.c,v 1.3 2010/06/02 12:58:12 millert Exp $ */ + +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* OPENBSD ORIGINAL: lib/libc/string/strnlen.c */ + +================================================================================ + +File: wcslcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wcslcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wstrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: if_ethersubr.h + +/* + * 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. +// + +================================================================================ + +File: aes-siv.c + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + */ + +================================================================================ + +File: aes_siv.h + +/* + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: apf.h + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.c + +/* + * 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. + */ + +================================================================================ + +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or +management of such entity, whether by contract or otherwise, or (ii) +ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but not +limited to compiled object code, generated documentation, and +conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the +purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the +interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the Work, +but excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and +such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except +as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to +which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet +the following conditions: + + 1. You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices + stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications + and may provide additional or different license terms and + conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this +License, without any additional terms or conditions. Notwithstanding +the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor +regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed +to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied, including, without +limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely +responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Work (including but +not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on +Your own behalf and on Your sole responsibility, not on behalf of any +other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or +claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +================================================================================ + +File: sha256.c + +/* + * Copyright (c) 2016 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + * Notifications and licenses are retained for attribution purposes only + */ +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +/* ===== start - public domain SHA256 implementation ===== */ + +/* This is based on SHA256 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA384 implementation ===== */ + +/* This is based on SHA384 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +/* ===== start - public domain SHA512 implementation ===== */ + +/* This is based on SHA512 implementation in LibTomCrypt that was released into + * public domain by Tom St Denis. + */ + +================================================================================ + +File: sha256.h + +/* + * Copyright (c) 2014 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. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ + +================================================================================ + +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5.c + +/* + * Copyright (c) 2011 Qualcomm Atheros, Inc. + * All Rights Reserved. + * Qualcomm Atheros Confidential and Proprietary. + * $ATH_LICENSE_TARGET_C$ + */ + +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +// 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. +// + +================================================================================ + +File: aes_gcm.h + +/* + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: md5_api.h + +/* + * 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. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + + +================================================================================ + +File: wlan_p2p_listen_offload_int.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_listen_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: m1_m4_frame.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: my_nan_sec.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa.c + +/* + * 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 + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +================================================================================ + +File: mywpa_ft.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * 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. + */ + +================================================================================ + +File: wlan_p2p_disc_offload.c +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: wlan_p2p_disc_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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 file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htt_ppdu_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: pcie_reg_scratch.h + +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wal_dfs.h + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: wal_dfs.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File:aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +================================================================================ + +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_radar_report.h +/* + * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================ + +File: cds_ieee80211_common.h + +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.h + +/* + * Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: radar_filters.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: wma_dfs_interface.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_bindetects.c + +* Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_fcc_bin5.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_init.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_nol.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: dfs_staggered.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: phyrf_dfs.c + +/* + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wma_dfs_interface.c + +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ + +File: qvit_init_api.h + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ + +File: wlan_mlme_wmi.c + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================ diff --git a/ath11k/QCN9074/hw1.0/amss.bin b/ath11k/QCN9074/hw1.0/amss.bin new file mode 100644 index 0000000..48782aa Binary files /dev/null and b/ath11k/QCN9074/hw1.0/amss.bin differ diff --git a/ath11k/QCN9074/hw1.0/board-2.bin b/ath11k/QCN9074/hw1.0/board-2.bin new file mode 100644 index 0000000..11be042 Binary files /dev/null and b/ath11k/QCN9074/hw1.0/board-2.bin differ diff --git a/ath11k/QCN9074/hw1.0/m3.bin b/ath11k/QCN9074/hw1.0/m3.bin new file mode 100644 index 0000000..9f6fd33 Binary files /dev/null and b/ath11k/QCN9074/hw1.0/m3.bin differ diff --git a/ath11k/WCN6750/hw1.0/Notice.txt b/ath11k/WCN6750/hw1.0/Notice.txt new file mode 100644 index 0000000..f029767 --- /dev/null +++ b/ath11k/WCN6750/hw1.0/Notice.txt @@ -0,0 +1,7402 @@ +This file contains certain notices of software components included +with the software that Qualcomm Technologies, Inc. ("QTI") is required +to provide you. Except where prohibited by the open source license, +the content of this file is provided solely to satisfy QTI's +attribution and notice requirement; your use of these software +components together with the QTI software ("Software") is subject to +the terms of your license from QTI. 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. + +Software provided with this notice is NOT A CONTRIBUTION to any open +source project. If alternative licensing is available for any of the +components with licenses or attributions provided below, a license +choice is made for receiving such code by QTI. + +Copyright (c) 2022-2023 Qualcomm Technologies, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated +trademarks are used with permission. Other products and brand names +may be trademarks or registered trademarks of their respective owners. + + + +================================================================================ + +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by Qualcomm Atheros, Inc. + * Copyright (C) 2010-2015 ARM Limited. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * Neither the name of ARM LIMITED nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * + * 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. + */ + +================================================================================== + +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +==================================================================================== + +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================== + +File: stail_queue.h + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// + +=================================================================================== + +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +=================================================================================== + +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================= + +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================ + +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +====================================================================== + +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +====================================================================== + +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +====================================================================== + +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +======================================================================= + +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +======================================================================== + +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ + +======================================================================== + +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================ + +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================== + +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +=============================================================================== + +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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. + */ + +================================================================================= + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +============================================================================== + +File: strlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +========================================================================== + +File: program_xml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: interrupt_xml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: wcslcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +========================================================================== + +File: machine_xml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: wstrlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +========================================================================== + +File: stringl.h + +/* + * $Header: //components/rel/core.riscv/1.0/api/kernel/libstd/stringl/stringl.h#2 $ + * $DateTime: 2019/11/15 03:07:20 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +===================================================================================== + +File: ezxml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: strlcat.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +========================================================================== + +File: merge.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +=================================================================================== + +File: dlfcn.h + +/* $NetBSD: dlfcn.h,v 1.17.2.1 2005/03/21 21:25:37 jwise Exp $ */ + +/*- + * Copyright (c) 1998 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Paul Kranenburg. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +===================================================================================== + +File: md5.h + +/*=========================================================================== + MD5.H - header file for MD5C.C + + Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All + rights reserved. + + License to copy and use this software is granted provided that it + is identified as the "RSA Data Security, Inc. MD5 Message-Digest + Algorithm" in all material mentioning or referencing this software + or this function. + + License is also granted to make and use derivative works provided + that such works are identified as "derived from the RSA Data + Security, Inc. MD5 Message-Digest Algorithm" in all material + mentioning or referencing the derived work. + + RSA Data Security, Inc. makes no representations concerning either + the merchantability of this software or the suitability of this + software for any particular purpose. It is provided "as is" + without express or implied warranty of any kind. + + These notices must be retained in any copies of any part of this + documentation and/or software. +===========================================================================*/ + +===================================================================================== + +File: zconf.h + +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2016 Jean-loup Gailly. + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id: //components/rel/core.wpss/1.0/api/services/zconf.h#1 $ */ + +===================================================================================== + +File: zlib.h + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.7, May 2nd, 2012 + + Copyright (C) 1995-2016 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 + (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). +*/ + +===================================================================================== + +File: exec_elf.h + +/* $NetBSD: exec_elf.h,v 1.81 2005/02/26 22:25:34 perry Exp $ */ + +/*- + * Copyright (c) 1994 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +==================================================================================== + +File: headers.c + +/* $NetBSD: headers.c,v 1.20 2005/01/09 12:43:23 simonb Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +/* + * Dynamic linker for ELF. + * + * John Polstra . + */ + +===================================================================================== + +File: wcslcpy.c + +/* + * $Header: //components/rel/core.wpss/1.0/kernel/libstd/src/wcslcpy.c#1 $ + * $DateTime: 2020/07/06 22:28:14 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +===================================================================================== + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +===================================================================================== + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +===================================================================================== + +File: search.c + +/* $NetBSD: search.c,v 1.19 2004/10/22 05:39:57 skrll Exp $ */ + +/* + * Copyright 1996 Matt Thomas + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +==================================================================================== + +File: load.c + +/* $NetBSD: load.c,v 1.29 2004/10/22 05:39:56 skrll Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +================================================================================ + +File: symbol.c + +/* $NetBSD: symbol.c,v 1.38.2.1 2005/12/06 23:31:32 tron Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +=================================================================================== + +File: wstrlcpy.c + +/* + * $Header: //components/rel/core.wpss/1.0/kernel/libstd/src/wstrlcpy.c#1 $ + * $DateTime: 2020/07/06 22:28:14 $ + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================= + +File: map_object.c + +/* $NetBSD: map_object.c,v 1.31 2004/10/22 05:39:56 skrll Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +=================================================================================== + +File: paths.c + +/* $NetBSD: paths.c,v 1.32 2004/10/22 05:39:56 skrll Exp $ */ + + /* + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 BY THE AUTHOR ``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. + */ + +===================================================================================== + +File: rtld_start.S + +/* $NetBSD: rtld_start.S,v 1.8 2004/08/21 11:12:03 rearnsha Exp $ */ + +/*- + * Copyright (c) 1998, 2002 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas and by Charles M. Hannum. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +===================================================================================== + +File: reloc.c + +/* $NetBSD: reloc.c,v 1.87 2005/01/09 14:58:15 martin Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +===================================================================================== + +File: strnlen.c + +/* + * $Header: //components/rel/core.wpss/1.0/kernel/libstd/src/strnlen.c#1 $ + * $DateTime: 2020/07/06 22:28:14 $ + */ + +/* $OpenBSD: strnlen.c,v 1.3 2010/06/02 12:58:12 millert Exp $ */ + +/* + * Copyright (c) 2010 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* OPENBSD ORIGINAL: lib/libc/string/strnlen.c */ + +===================================================================================== + +File: rtld.c + +/* $NetBSD: rtld.c,v 1.107.2.1 2006/02/01 20:38:06 tron Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * Copyright 2002 Charles M. Hannum + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +===================================================================================== + +File: debug.c + +/* $NetBSD: debug.c,v 1.6 2004/10/22 05:39:56 skrll Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +===================================================================================== + +File: debug.h + +/* $NetBSD: debug.h,v 1.5 2002/09/12 22:56:28 mycroft Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +==================================================================================== + +File: rtld.h + +/* $NetBSD: rtld.h,v 1.71 2004/07/05 11:50:07 cube Exp $ */ + +/* + * Copyright 1996 John D. Polstra. + * Copyright 1996 Matt Thomas + * 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 John Polstra. + * 4. 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 BY THE AUTHOR ``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. + */ + +===================================================================================== + +File: print.c + +/* + * 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. + */ + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Description: Implementation of printf + */ + +===================================================================================== + +File: sys_mmap.c + +/*============================================================================= + + * Copyright (c) 1982, 1986, 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. + */ + +===================================================================================== + +File: qurt_printf.c + +/* + * 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. + */ + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +===================================================================================== + +File: tailq.h + +Copyright (c) 2013 by Qualcomm Technologies, Inc. All Rights Reserved + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * Copyright (c) 2004, National ICT Australia + * + * 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. + */ + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Author: Alex Webster + */ + +==================================================================================== + +File: alloc.c + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +===================================================================================== + +File: strlcatK.c + +/* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +===================================================================================== + +File: strlcpyK.c + +/*============================================================================= + + strlcpyK.c +/* + * + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +===================================================================================== + +File: ecc_xml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: physpool_xml.py + +############################################################################## +# Australian Public Licence B (OZPLB) +# +# Version 1-0 +# +# 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. + +===================================================================================== + +File: wlan_md_elf.h + +/* $NetBSD: exec_elf.h,v 1.81 2005/02/26 22:25:34 perry Exp $ */ + +/*- + * Copyright (c) 1994 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +=========================================================================================== + +File: secnlsfast.c + +/* $Id: //components/rel/core.wpss/1.0/securemsm/crypto/shared/src/secnlsfast.c#1 $ */ +/* nlsfast: NLS stream cipher and Mundja MAC -- fast implementation */ + +/* + 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 AND AGAINST + INFRINGEMENT 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. + */ + +============================================================================================== + +File: curve25519.c + +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* This code is mostly taken from the ref10 version of Ed25519 in SUPERCOP + * 20141124 (http://bench.cr.yp.to/supercop.html). + * + * The field functions are shared by Ed25519 and X25519 where possible. */ + +===================================================================================== + +File: aes_core.h + + Source: + https://source.codeaurora.org/quic/lc/native_client/pnacl-llvm-testsuite/ + MultiSource/Benchmarks/MiBench/security-rijndael/aes.h + + ----------------------------------------------------------------------- + Copyright (c) 2001 Dr Brian Gladman , Worcester, UK + + TERMS + + 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 'as is' with no guarantees of correctness or + fitness for purpose. + ----------------------------------------------------------------------- + +===================================================================================== + +File: mode_hdr.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties +in respect of its operation, including, but not limited to, correctness +and fitness for purpose. + --------------------------------------------------------------------------- +Issue Date: 07/10/2010 +*/ + +===================================================================================== + +File: gcm_sw.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 11/01/2011 + + I am grateful for the work done by Mark Rodenkirch and Jason Papadopoulos + in helping to remove a bug in the operation of this code on big endian + systems when fast buffer operations are enabled. + --------------------------------------------------------------------------- +*/ + +===================================================================================== + +File: des_sw_cmn.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +================================================================================================ + +File: aes_sw_cmn.c + +/* + ----------------------------------------------------------------------- + Copyright (c) 2001 Dr Brian Gladman , Worcester, UK + + TERMS + 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 'as is' with no guarantees of correctness or + fitness for purpose. + +===================================================================================== + +File: aes_tab.h + +/* + Copyright (c) 2001 Dr Brian Gladman , Worcester, UK + + TERMS + + 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 'as is' with no guarantees of correctness or + fitness for purpose. +*/ + +===================================================================================== + +File: gf128mul.c + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness +and fitness for purpose. + --------------------------------------------------------------------------- +*/ + +===================================================================================== + +File: sha1_sw.c + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +===================================================================================== + +File: des_ecb_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +==================================================================================== + +File: gf128mul.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. +--------------------------------------------------------------------------- +*/ + +============================================================================================= + +File: aes_ctr_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: sha2512_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + + File: hmac_ce.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: uclib_openssl.h + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: pkey.h + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +============================================================================================= + +File: gf_mul_lo.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. + --------------------------------------------------------------------------- +Issue Date: 11/01/2011 +*/ + +===================================================================================== + +File: hmac_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: cipher.h + +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +=============================================================================================== + +File: hash2512.h + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: uclib_util.h + + /* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: aes_ecb_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: sha2512_sw_cmn.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +========================================================================================= + +File: inffast.c + +/* inffast.c -- fast decoding + * Copyright (C) 1995-2008, 2010-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +===================================================================================== + +File: md32_common.h + +/* + * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +===================================================================================== + +File: aes_cbc_cts_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +====================================================================================== + +File: hash_sw_cmn.c + +/*==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +================================================================================ + +File: pbkdf2.c + +/* + * Copyright (C) The Internet Society (2000). All Rights Reserved. + * + * This document and translations of it may be copied and furnished to + * others, and derivative works that comment on or otherwise explain it + * or assist in its implementation may be prepared, copied, published + * and distributed, in whole or in part, without restriction of any + * kind, provided that the above copyright notice and this paragraph are + * included on all such copies and derivative works. However, this + * document itself may not be modified in any way, such as by removing + * the copyright notice or references to the Internet Society or other + * Internet organizations, except as needed for the purpose of + * developing Internet standards in which case the procedures for + * copyrights defined in the Internet Standards process must be + * followed, or as required to translate it into languages other than + * English. + * + * The limited permissions granted above are perpetual and will not be + * revoked by the Internet Society or its successors or assigns. + * + * This document and the information contained herein is provided on an + * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * Portions Copyright (c) 2011-2017 Andy Goryachev + * under Apache-2.0 license. + */ + +=============================================================================== + +File: aes_gcm_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +========================================================================================== + +File: aes_xts_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: inflate.c + +/* inflate.c -- zlib decompression + * Copyright (C) 1995-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +===================================================================================== + +File: inflate.h + +/* inflate.h -- internal inflate state definition + * Copyright (C) 1995-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +===================================================================================== + +File: aes_ccm_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: sha2256_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +================================================================================== + +File: md5_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +================================================================================ + + File: inftrees.h + + /* inftrees.h -- header to use inftrees.c + * Copyright (C) 1995-2005, 2010-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +================================================================================== + +File: inftrees.c + +/* inftrees.c -- generate Huffman trees for efficient decoding + * Copyright (C) 1995-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +================================================================================= + +File: hash.h + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +============================================================================================ + +File:ccm_sw.c + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. + + LICENSE TERMS + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + 1. source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + 2. binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation; + + 3. the name of the copyright holder is not used to endorse products + built using this software without specific written permission. + + DISCLAIMER + + This software is provided 'as is' with no explicit or implied warranties + in respect of its properties, including, but not limited to, correctness + and/or fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 21/07/2009 +*/ + +==================================================================================== + +File: md5_sw_cmn.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +=================================================================================== + +File: brg_endian.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 20/12/2007 +*/ + +================================================================================== + +File: trees.c + +/* trees.c -- output deflated data using Huffman coding + * Copyright (C) 1995-2016 Jean-loup Gailly + * detect_data_type() function provided freely by Cosmin Truta, 2006 + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +======================================================================== + +File: ccm_sw.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. + + LICENSE TERMS + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + 1. source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + 2. binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation; + + 3. the name of the copyright holder is not used to endorse products + built using this software without specific written permission. + + DISCLAIMER + + This software is provided 'as is' with no explicit or implied warranties + in respect of its properties, including, but not limited to, correctness + and/or fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 20/12/2007 +*/ + +================================================================================ + +File: des_cbc_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +========================================================================================== + +File: zutil.h + +/* zutil.h -- internal interface and configuration of the compression library + * Copyright (C) 1995-2016 Jean-loup Gailly. + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +========================================================================================== + +File: brg_types.h + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 20/12/2007 +*/ + +=============================================================================== + +File: sha_sw_cmn.c + +/*==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +================================================================================================ + +File: uncompr.c + +/* uncompr.c -- decompress a memory buffer + * Copyright (C) 1995-2003, 2010-2016 Jean-loup Gailly. + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +============================================================================= + + File: sha2384_sw.c + +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +===================================================================================== + +File: gcm_sw.c + +/* + --------------------------------------------------------------------------- + Copyright (c) 1998-2010, Brian Gladman, Worcester, UK. All rights reserved. + + The redistribution and use of this software (with or without changes) + is allowed without the payment of fees or royalties provided that: + + source code distributions include the above copyright notice, this + list of conditions and the following disclaimer; + + binary distributions include the above copyright notice, this list + of conditions and the following disclaimer in their documentation. + + This software is provided 'as is' with no explicit or implied warranties + in respect of its operation, including, but not limited to, correctness + and fitness for purpose. + --------------------------------------------------------------------------- + Issue Date: 30/03/2011 +*/ + +================================================================================= + +File: adler32.c + +/* adler32.c -- compute the Adler-32 checksum of a data stream + * Copyright (C) 1995-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +============================================================================= + +File: zutil.c + +/* zutil.c -- target dependent utility functions for the compression library + * Copyright (C) 1995-2005, 2010, 2011, 2012-2016 Jean-loup Gailly. + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +================================================================================ + +File: compress.c + +/* compress.c -- compress a memory buffer + * Copyright (C) 1995-2016 Jean-loup Gailly. + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +============================================================================ + +File: crc32.c + +/* crc32.c -- compute the CRC-32 of a data stream + * Copyright (C) 1995-2006, 2010, 2011, 2012-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + * + * Thanks to Rodney Brown for his contribution of faster + * CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing + * tables for updating the shift register in one step with three exclusive-ors + * instead of four steps with four exclusive-ors. This results in about a + * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3. + */ + +========================================================================= + +File: deflate.c + +/* deflate.c -- compress data using the deflation algorithm + * Copyright (C) 1995-2016 Jean-loup Gailly and Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +============================================================================ + +File: infback.c + +/* infback.c -- inflate using a call-back interface + * Copyright (C) 1995-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +====================================================================== + +File: deflate.h + +/* deflate.h -- internal compression state + * Copyright (C) 1995-2016 Jean-loup Gailly + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +========================================================================== + +File: gzguts.h + +/* gzguts.h -- zlib internal header definitions for gz* operations + * Copyright (C) 2004, 2005, 2010, 2011, 2012-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +=========================================================================== + +File: inffast.h + +/* inffast.h -- header to use inffast.c + * Copyright (C) 1995-2003, 2010-2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +========================================================================= + +File: md5c.c + +/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====* + MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm + + Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All + rights reserved. + + License to copy and use this software is granted provided that it + is identified as the "RSA Data Security, Inc. MD5 Message-Digest + Algorithm" in all material mentioning or referencing this software + or this function. + + License is also granted to make and use derivative works provided + that such works are identified as "derived from the RSA Data + Security, Inc. MD5 Message-Digest Algorithm" in all material + mentioning or referencing the derived work. + + RSA Data Security, Inc. makes no representations concerning either + the merchantability of this software or the suitability of this + software for any particular purpose. It is provided "as is" + without express or implied warranty of any kind. + + These notices must be retained in any copies of any part of this + documentation and/or software. +*/ + +============================================================================ + +File: platform_cmnos_printf.c + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ + +===================================================================================== + +File: md5_api.h + +/* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ + +===================================================================================== + +File: if_ethersubr.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +// - +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: +//components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_ethersubr.h +#3 $ +// + +===================================================================================== + +File: aes_gcm.h + +/* Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +===================================================================================== + +File: aes_wrap.h + +/* 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 + * + * 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. + */ + +=================================================================================== + +File: sha1.h + +/* 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 + * + * 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. + */ + +===================================================================================== + +File: sha2.h + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $ + */ + +===================================================================================== + +File: ieee_crc32.c + +/* + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + + * CRC32 code derived from work by Gary S. Brown. + */ + +================================================================================= + +File: crypto.h + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: md5.c + +// +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// + +===================================================================================== + +File: sha1.c + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +===================================================================================== + +File: aes_gcm.c + +/* + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================== + +File: aes_wrap.c + +/* + * 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 + * + * 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. + */ + +================================================================================= + +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + +/* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================== + +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +=============================================================================== + +File: phyOsApiWindowsSem.c + +/* + Copyright (c) 2011, Dongsheng Song + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. + */ + + /* + Simple Windows replacement for POSIX semaphores + Modified by Daniel Tillett from libpthread + Copyright (c) 2015, Daniel Tillett + */ + +===================================================================================== + +File: phyOsApiWindowsSem.h + +/* + Copyright (c) 2011, Dongsheng Song + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +*/ + +/* + Simple Windows replacement for POSIX semaphores + Modified by Daniel Tillett from libpthread + Copyright (c) 2015, Daniel Tillett +*/ + +===================================================================================== + +File: phyUtilsStrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/*- + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================== + +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: dfs_nol.c + +/* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +=============================================================================== + +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================ + +File: dfs_staggered.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: wma_dfs_interface.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +======================================================================== + +File: phyrf_dfs.c + +/* + * + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================= + +File: dfs.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +==================================================================================== + +File: wma_dfs_interface.c + +/* + * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: _ieee80211.h + +/* + * Copyright (c) 2008 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/home/qca_main/p4/wlanfw_mac_core.cnss.2.0.utf2halphytools/cnss_proc/wlan/halphy_tools/host/ + os/include/_ieee80211.h copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +===================================================================================== + +File: dfs.h + +/* + * Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_bindetects.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: cds_ieee80211_common.h + +/* + * Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_fcc_bin5.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: cds_ieee80211_defines.h + +/* + * Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_init.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: common.h + + /* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + + /* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ + +===================================================================================== + +File: config.h + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: wpa_i.h + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: if_llc.h + + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: +//components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: +//components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ + +===================================================================================== + +File: wlan_mlme_wmi.c + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: apf.h + +/* + * 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. + */ + +===================================================================================== + +File: wlan_p2p_listen_offload.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + /* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ + /* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +===================================================================================== + +File: apf_interpreter.c + +/* + * 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. + */ + +===================================================================================== + +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +================================================================================ + +File: wlan_p2p_listen_offload_int.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ +/* + * 2016-2017 Qualcomm Atheros, Inc. + * All Rights Reserved. + */ +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ + +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================== + +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +================================================================================== + +File: my_nan_sec.c + +/* + * 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 + * + * 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. + */ + +==================================================================================== + +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +=================================================================================== + +File: mywpa.c + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: sha256.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ + +===================================================================================== + +File: aes-siv.c + +/* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +=============================================================================== + +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================= + +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ README for more details. + */ + +====================================================================== + +File: aes_siv.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +======================================================================== + +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +========================================================================= + +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +===================================================================== + +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +=================================================================== + +File: wlan_p2p_disc_offload_internal.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + +/* + * Wi-Fi Protected Setup - message definitions + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +============================================================================ + +File: mywpa_common.c + +/* + * WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +===================================================================================== + +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +===================================================================================== + +File: fils.c + +/* + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +============================================================================== + +File: mywpa_common.h + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================== + +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +============================================================================== + +File: fils.h + +/* + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +========================================================================== + +File: mywpa_ft.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +============================================================================= + +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================= + +File: mywpa_ft.h + +/* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ + +================================================================================ + +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +=========================================================================== + +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================ + +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +================================================================================== + +File: wmi.h + +/* + * Copyright (c) 2004-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +==================================================================================== + +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================ + +File: wal_dfs.h + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ + +===================================================================================== + +File: wlan_p2p_disc_offload.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================== + +File: wlan_p2p_listen_offload_int.c + + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + +/* + * Wi-Fi Protected Setup - attribute parsing + * Copyright (c) 2008, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================== + +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +============================================================================== + +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: wal_dfs.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ + +===================================================================================== + +File: hca_HwComponentBbLithium_dfs_radar_report.h + +/* + * Copyright (c) 2018 The Linux Foundation. All rights reserved. + * + * 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. + */ + +==================================================================================== + +File: radar_filters.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: suppl_auth_api.h + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: m1_m4_frame.c + +/* + * 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 + * + * 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. + */ + +===================================================================================== + +File: sm4_core.h + +/** + * Implemented according to https://tools.ietf.org/id/draft-ribose-cfrg-sm4-09.html + * Copyright (c) 2018 IETF Trust and the persons identified as the document authors. + * All rights reserved. + */ + +===================================================================================== + +File: wpa.h + +/* + * 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 + * + * 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. + */ + +============================================================================== + +File: htt_ppdu_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ + +============================================================================ + +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: sha256.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +================================================================================ + +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ + +===================================================================================== + +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +===================================================================================== + +File: sys_write0.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_readc_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_time.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_writec.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_tmpnam.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_readc.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_remove_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_rename_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: xfcntl.h + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_remove.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_write0_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_write_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_rename.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_heapinfo.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_seek_angel.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + +File: sys_system.c + +/* + * Copyright (c) 2006 by P.J. Plauger. ALL RIGHTS RESERVED. + */ + +===================================================================================== + + diff --git a/ath11k/WCN6750/hw1.0/board-2.bin b/ath11k/WCN6750/hw1.0/board-2.bin new file mode 100644 index 0000000..4e777c6 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/board-2.bin differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b00 b/ath11k/WCN6750/hw1.0/wpss.b00 new file mode 100644 index 0000000..1c16f66 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b00 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b01 b/ath11k/WCN6750/hw1.0/wpss.b01 new file mode 100644 index 0000000..25f49d9 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b01 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b02 b/ath11k/WCN6750/hw1.0/wpss.b02 new file mode 100644 index 0000000..78c04dd Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b02 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b03 b/ath11k/WCN6750/hw1.0/wpss.b03 new file mode 100644 index 0000000..a0b08b7 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b03 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b04 b/ath11k/WCN6750/hw1.0/wpss.b04 new file mode 100644 index 0000000..1dcc293 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b04 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b05 b/ath11k/WCN6750/hw1.0/wpss.b05 new file mode 100644 index 0000000..566cb59 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b05 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b06 b/ath11k/WCN6750/hw1.0/wpss.b06 new file mode 100644 index 0000000..e15cf87 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b06 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b07 b/ath11k/WCN6750/hw1.0/wpss.b07 new file mode 100644 index 0000000..481e7a0 Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.b07 differ diff --git a/ath11k/WCN6750/hw1.0/wpss.b08 b/ath11k/WCN6750/hw1.0/wpss.b08 new file mode 100644 index 0000000..e69de29 diff --git a/ath11k/WCN6750/hw1.0/wpss.mdt b/ath11k/WCN6750/hw1.0/wpss.mdt new file mode 100644 index 0000000..edd84aa Binary files /dev/null and b/ath11k/WCN6750/hw1.0/wpss.mdt differ diff --git a/ath11k/WCN6855/hw2.0/Notice.txt b/ath11k/WCN6855/hw2.0/Notice.txt new file mode 100644 index 0000000..edf86d4 --- /dev/null +++ b/ath11k/WCN6855/hw2.0/Notice.txt @@ -0,0 +1,3658 @@ +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. + +================================================================================ +File: stringl.h + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ + +================================================================================ + +File: atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Author: Malcolm Purvis + * Author: Carlos Dyonisio + */ +================================================================================ + +File: qurt_atomic_ops.h + +/* + * Australian Public Licence B (OZPLB) + * + * Version 1-0 + * + * 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. + */ + +/* + * Author: Malcolm Purvis + * + * This file is only included by the main atomic_ops.h, so all of that + * file's definitions are available. + */ + +================================================================================ + +File: htt_common.h + +/* + * Copyright (c) 2012-2016, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: htt_deps.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * 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 file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: htt.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: htt_ppdu_stats.h +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: htt_stats.h + +/* + * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * 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. + */ +================================================================================ +File: pcie_reg_scratch.h + +/* + * Copyright (c) 2021 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: wdi_ipa.h + +/* + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wlan_defs.h + +/* + * Copyright (c) 2013-2016, 2018-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wlan_nan_msg_common.h + +/* + * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wlan_nan_msg_common_v2.h + +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: wlan_nan_msg.h + +/* + * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_services.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_tlv_defs.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_tlv_helper.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_unified.h + +/* + * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_unified_vendor.h + +/* + * Copyright (c) 2020 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: wmi_version.h + +/* + * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmix.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: athdefs.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: cepci.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dbglog.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dbglog_id.h + +/* + * Copyright (c) 2010-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: enet.h + +/* + * Copyright (c) 2012-2014, 2017, 2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: epping_test.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: htc.h + +/* + * Copyright (c) 2012, 2014-2016, 2018 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: htc_services.h + +/* + * Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: ip_prot.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: ipv4.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: ipv6.h + +/* + * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: ol_fw_tx_dbg.h + +/* + * Copyright (c) 2012 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: pktlog_if.h + +/* + * Copyright (c) 2012,2015,2017,2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: queue.h + +/* + * Copyright (c) 2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: stail_queue.h + +// +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// @(#)queue.h 8.5 (Berkeley) 8/20/94 +// $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $ +// $Id: //components/rel/wlanfw_cmn.cnss/1.0/cnss_proc/wlan/fwcommon/include/queue.h#1 $ +// +================================================================================ +File: targaddrs.h + +/* + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wlan_module_ids.h + +/* + * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: aes_gcm.h + +*/ +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: aes_wrap.h + +*/ +/* + * 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 + * + * 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. + */ +================================================================================ +File: md5_api.h +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * MD5 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * 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. + */ +================================================================================ +File: sha1.h +* 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 + * + * 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. + */ +================================================================================ +File: sha2.h + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: //depot/sw/branches/qca_rome_main/perf_pwr_offload/drivers/target/include/sha2.h#1 $ + */ +================================================================================ +File: wal_dfs.h + + +/* + *Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: if_ethersubr.h + +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +// - +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_ethersubr.h#3 $ +// + +================================================================================ +File: wal_dfs.c +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * 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. + */ +================================================================================ +File: ieee_crc32.c + +/* + * 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. + */ +================================================================================ +File: aes.c + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES (Rijndael) cipher + * + * Modifications to public domain implementation: + * - support only 128-bit keys + * - cleanup + * - use C pre-processor to make it easier to change S table access + * - added option (AES_SMALL_TABLES) for reducing code size by about 8 kB at + * cost of reduced throughput (quite small difference on Pentium 4, + * 10-25% when using -O1 or -O2 optimization) + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +/* + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +================================================================================ +File: aes_gcm.c + +/* + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Copyright (c) 2012, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: aes_wrap.c + +* 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 + * + * 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. + */ +================================================================================ +File: common.h + +* 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 + * + * 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. + */ +================================================================================ +File: md5.c + + +// +// $Id: //depot/sw/branches/qca_main_wifi2.0/perf_pwr_offload/drivers/target/src/misc/crypto/md5.c#1 $ +// +// This code implements the MD5 message-digest algorithm. +// The algorithm is due to Ron Rivest. This code was +// written by Colin Plumb in 1993, no copyright is claimed. +// This code is in the public domain; do with it what you wish. +// +// Equivalent code is available from RSA Data Security, Inc. +// This code has been tested against that, and is equivalent, +// except that you don't need to include two pages of legalese +// with every copy. +// +// To compute the message digest of a chunk of bytes, declare an +// MD5Context structure, pass it to MD5Init, call MD5Update as +// needed on buffers full of bytes, and then call MD5Final, which +// will fill a supplied 16-byte array with the digest. +// +================================================================================ +File: sha1.c +* 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 + * + * 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. + */ +================================================================================ +File: wmi_tlv_helper.c + +/* + * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: platform_cmnos_printf.c + +/*- + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Copyright (c) 2011 The FreeBSD Foundation + * All rights reserved. + * Portions of this software were developed by David Chisnall + * under sponsorship from the FreeBSD Foundation. + * + * 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. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_phyerr_tlv.cpp + +/* + + * + * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_phyerr.cpp + +* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_process_radarevent.cpp + + + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: hca_HwComponentBbLithium_dfs_radar_report.h +* Copyright (c) 2018 The Linux Foundation. All rights reserved. +* +* 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. +*/ + +================================================================================ +File: phyUtilsStrlcpy.c + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/*- + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +================================================================================ +File: cds_ieee80211_common.h +* Copyright (c) 2011,2014-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: cds_ieee80211_common_i.h + +/* + * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: ath_dfs_structs.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: dfs.h + +* Copyright (c) 2005-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: dfs_interface.h + +/* + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_ioctl.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_ioctl_private.h + +/* + * Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: qdf_net_types.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: radar_filters.h +* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: types.h + +/* + * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: cds_reg_service.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: qdf_status.h + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: wma_dfs_interface.h +* Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: cds_reg_service.c + +/* + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_bindetects.c + +* Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs.c + +* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_debug.c + +/* + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_fcc_bin5.c + +* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_init.c + + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_misc.c + +/* + * Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: dfs_nol.c +* Copyright (c) 2002-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: dfs_staggered.c + + + * Copyright (c) 2002-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: phyrf_dfs.c + +* Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: wma_dfs_interface.c + +* Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: common.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Technologies, Inc. has selected the BSD license. + */ + +/* + * wpa_supplicant/hostapd / common helper functions, etc. + * Copyright (c) 2002-2005, Jouni Malinen + * + * 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. + */ +================================================================================ +File: config.h + +* 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 + * + * 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. + */ +================================================================================ +File: if_llc.h + +/* + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +//- +// Copyright (c) 2002-2004 Sam Leffler, Errno Consulting +// All rights reserved. +// $ATH_LICENSE_NULL$ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer, +// without modification. +// 2. Redistributions in binary form must reproduce at minimum a disclaimer +// similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +// redistribution must be conditioned upon including a substantially +// similar Disclaimer requirement for further binary redistribution. +// 3. Neither the names of the above-listed copyright holders nor the names +// of any contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// Alternatively, this software may be distributed under the terms of the +// GNU General Public License ("GPL") version 2 as published by the Free +// Software Foundation. +// +// NO WARRANTY +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// THE POSSIBILITY OF SUCH DAMAGES. +// +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// $NetBSD: if_llc.h,v 1.12 1999/11/19 20:41:19 thorpej Exp $ +// $Id: //components/rel/wlanfw.cnss/1.0.1/cnss_proc/wlan/fw/target/src/wlan/proto/include/if_llc.h#3 $ +// + +/* + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/net/if_llc.h,v 1.9 2002/09/23 06:25:08 alfred Exp $ + */ +================================================================================ +File: qvit_init_api.h + +/* + * Copyright (c) 2012, Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +================================================================================ +File: suppl_auth_api.h + +* 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 + * + * 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. + */ +================================================================================ +File: wpa.h +* 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 + * + * 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. + */ +================================================================================ +File: wpa_i.h +* 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 + * + * 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. + */ +================================================================================ +File: wlan_mlme_wmi.c +* Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ +================================================================================ +File: sha2.c + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +================================================================================ +File: wlan_p2p_listen_offload.c + +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_listen_offload_int.c + +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +/* +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_listen_offload_int.h + +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* Wi-Fi Protected Setup - message definitions +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: apf.h + +/* + * 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. + */ +================================================================================ +File: apf_interpreter.c + +/* + * 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. + */ +================================================================================ +File: apf_interpreter.h + +/* + * Copyright 2015, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control +with that entity. For the purposes of this definition, "control" means +(i) the power, direct or indirect, to cause the direction or +management of such entity, whether by contract or otherwise, or (ii) +ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but not +limited to compiled object code, generated documentation, and +conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the +purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the +interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the +original version of the Work and any modifications or additions to +that Work or Derivative Works thereof, that is intentionally submitted +to Licensor for inclusion in the Work by the copyright owner or by an +individual or Legal Entity authorized to submit on behalf of the +copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent to +the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf +of, the Licensor for the purpose of discussing and improving the Work, +but excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, publicly +display, publicly perform, sublicense, and distribute the Work and +such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except +as stated in this section) patent license to make, have made, use, +offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to +which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this +License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work +or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You meet +the following conditions: + + 1. You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + 2. You must cause any modified files to carry prominent notices + stating that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications + and may provide additional or different license terms and + conditions for use, reproduction, or distribution of Your + modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work by +You to the Licensor shall be under the terms and conditions of this +License, without any additional terms or conditions. Notwithstanding +the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor +regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed +to in writing, Licensor provides the Work (and each Contributor +provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied, including, without +limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, +MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely +responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, unless +required by applicable law (such as deliberate and grossly negligent +acts) or agreed to in writing, shall any Contributor be liable to You +for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this +License or out of the use or inability to use the Work (including but +not limited to damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, and +charge a fee for, acceptance of support, warranty, indemnity, or other +liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only on +Your own behalf and on Your sole responsibility, not on behalf of any +other Contributor, and only if You agree to indemnify, defend, and +hold each Contributor harmless for any liability incurred by, or +claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +================================================================================ +File: wlan_p2p_disc_offload.c +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* Wi-Fi Protected Setup - attribute parsing +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ +================================================================================ +File: wlan_p2p_disc_offload_internal.h + +* For this file, which was received with alternative licensing options for +* distribution, Qualcomm Technologies, Inc. has selected the BSD license. +*/ +/* +* Wi-Fi Protected Setup - message definitions +* Copyright (c) 2008, Jouni Malinen +* +* This software may be distributed under the terms of the BSD license. +* See README for more details. +*/ + +================================================================================ +File: aes-ctr.c + +/* + * AES-128/192/256 CTR + * + * Copyright (c) 2003-2007, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: aes-siv.c +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: aes_siv.h +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* + * AES SIV (RFC 5297) + * Copyright (c) 2013 Cozybit, Inc. + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: crypto.h + +* 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 + * + * 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. + */ +================================================================================ +File: fils.c + + + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: fils.h + +* Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: m1_m4_frame.c + + * For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ +/* RC4 stream cipher + * Copyright (c) 2002-2005, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. +*/ + +================================================================================ +File: my_nan_sec.c + +* 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 + * + * 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. + */ +================================================================================ +File: mywpa.c + +* 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 + * + * 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. + */ +================================================================================ +File: mywpa_common.c + +* WPA/RSN - Shared functions for supplicant and authenticator + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: mywpa_common.h + + +/* + * WPA definitions shared between hostapd and wpa_supplicant + * Copyright (c) 2002-2018, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: mywpa_ft.c +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ +================================================================================ +File: mywpa_ft.h + +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * WPA Supplicant - IEEE 802.11r - Fast BSS Transition + * Copyright (c) 2006-2007, Jouni Malinen + + * + * 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. + */ +================================================================================ +File: sha256.c + +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA-256 hash implementation and interface functions + * Copyright (c) 2003-2007, Jouni Malinen + * + * 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. + */ +================================================================================ +File: sha256.h + +* For this file, which was received with alternative licensing options for + * distribution, Qualcomm Atheros, Inc. has selected the BSD license. + */ + +/* + * SHA256 hash implementation and interface functions + * Copyright (c) 2003-2006, Jouni Malinen + * + * 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. + */ +================================================================================ +File: sha256-kdf.c + +/* + * HMAC-SHA256 KDF (RFC 5295) and HKDF-Expand(SHA256) (RFC 5869) + * Copyright (c) 2014-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: sha384.h + +/* + * SHA384 hash implementation and interface functions + * Copyright (c) 2015-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ + +================================================================================ +File: sha384_i.h + +/* + * SHA-384 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384-internal.c + +/* + * SHA-384 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha384-prf.c + +/* + * SHA384-based KDF (IEEE 802.11ac) + * Copyright (c) 2003-2017, Jouni Malinen + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha512_i.h + +/* + * SHA-512 internal definitions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: sha512-internal.c + +/* + * SHA-512 hash implementation and interface functions + * Copyright (c) 2015, Pali Rohár + * + * This software may be distributed under the terms of the BSD license. + * See README for more details. + */ +================================================================================ +File: wmi_vendor.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_vendor_ss.h + +/* + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: athstartpack.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: dbglog.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: wlan_defs.h + +/* + * Copyright (c) 2004-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: wlan_module_ids.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: wmi.h + +/* + * Copyright (c) 2004-2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + +================================================================================ +File: wmi_port.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ +================================================================================ +File: wmi_unified_priv.h + +/* + * Copyright (c) 2014 The Linux Foundation. All rights reserved. + * + * Previously licensed under the ISC license by 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. + */ + +/* + * This file was originally distributed by Qualcomm Atheros, Inc. + * under proprietary terms before Copyright ownership was assigned + * to the Linux Foundation. + */ + diff --git a/ath11k/WCN6855/hw2.0/amss.bin b/ath11k/WCN6855/hw2.0/amss.bin new file mode 100644 index 0000000..70565bc Binary files /dev/null and b/ath11k/WCN6855/hw2.0/amss.bin differ diff --git a/ath11k/WCN6855/hw2.0/board-2.bin b/ath11k/WCN6855/hw2.0/board-2.bin new file mode 100644 index 0000000..ef3c01a Binary files /dev/null and b/ath11k/WCN6855/hw2.0/board-2.bin differ diff --git a/ath11k/WCN6855/hw2.0/m3.bin b/ath11k/WCN6855/hw2.0/m3.bin new file mode 100644 index 0000000..e7d1b60 Binary files /dev/null and b/ath11k/WCN6855/hw2.0/m3.bin differ diff --git a/ath11k/WCN6855/hw2.0/regdb.bin b/ath11k/WCN6855/hw2.0/regdb.bin new file mode 100644 index 0000000..d4ab6ef Binary files /dev/null and b/ath11k/WCN6855/hw2.0/regdb.bin differ diff --git a/ath3k-1.fw b/ath3k-1.fw new file mode 100644 index 0000000..63aa9b9 Binary files /dev/null and b/ath3k-1.fw differ diff --git a/ath6k/AR6003.1/hw2.1.1/athwlan.bin b/ath6k/AR6003.1/hw2.1.1/athwlan.bin new file mode 100644 index 0000000..0781364 Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/athwlan.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin b/ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/bdata.SD31.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin b/ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin new file mode 100644 index 0000000..19df518 Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/bdata.SD32.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin b/ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/bdata.WB31.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/data.patch.bin b/ath6k/AR6003.1/hw2.1.1/data.patch.bin new file mode 100644 index 0000000..4113b4f Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/data.patch.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/endpointping.bin b/ath6k/AR6003.1/hw2.1.1/endpointping.bin new file mode 100644 index 0000000..6237f5a Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/endpointping.bin differ diff --git a/ath6k/AR6003.1/hw2.1.1/otp.bin b/ath6k/AR6003.1/hw2.1.1/otp.bin new file mode 100644 index 0000000..02f2664 Binary files /dev/null and b/ath6k/AR6003.1/hw2.1.1/otp.bin differ diff --git a/ath6k/AR6003/hw1.0/athwlan.bin.z77 b/ath6k/AR6003/hw1.0/athwlan.bin.z77 new file mode 100644 index 0000000..242107b Binary files /dev/null and b/ath6k/AR6003/hw1.0/athwlan.bin.z77 differ diff --git a/ath6k/AR6003/hw1.0/bdata.SD31.bin b/ath6k/AR6003/hw1.0/bdata.SD31.bin new file mode 100644 index 0000000..fb36c35 Binary files /dev/null and b/ath6k/AR6003/hw1.0/bdata.SD31.bin differ diff --git a/ath6k/AR6003/hw1.0/bdata.SD32.bin b/ath6k/AR6003/hw1.0/bdata.SD32.bin new file mode 100644 index 0000000..deb28cf Binary files /dev/null and b/ath6k/AR6003/hw1.0/bdata.SD32.bin differ diff --git a/ath6k/AR6003/hw1.0/bdata.WB31.bin b/ath6k/AR6003/hw1.0/bdata.WB31.bin new file mode 100644 index 0000000..fb36c35 Binary files /dev/null and b/ath6k/AR6003/hw1.0/bdata.WB31.bin differ diff --git a/ath6k/AR6003/hw1.0/data.patch.bin b/ath6k/AR6003/hw1.0/data.patch.bin new file mode 100644 index 0000000..9a2d1ef Binary files /dev/null and b/ath6k/AR6003/hw1.0/data.patch.bin differ diff --git a/ath6k/AR6003/hw1.0/otp.bin.z77 b/ath6k/AR6003/hw1.0/otp.bin.z77 new file mode 100644 index 0000000..c8de820 Binary files /dev/null and b/ath6k/AR6003/hw1.0/otp.bin.z77 differ diff --git a/ath6k/AR6003/hw2.0/athwlan.bin.z77 b/ath6k/AR6003/hw2.0/athwlan.bin.z77 new file mode 100644 index 0000000..869f3ce Binary files /dev/null and b/ath6k/AR6003/hw2.0/athwlan.bin.z77 differ diff --git a/ath6k/AR6003/hw2.0/bdata.SD31.bin b/ath6k/AR6003/hw2.0/bdata.SD31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003/hw2.0/bdata.SD31.bin differ diff --git a/ath6k/AR6003/hw2.0/bdata.SD32.bin b/ath6k/AR6003/hw2.0/bdata.SD32.bin new file mode 100644 index 0000000..e64d54e Binary files /dev/null and b/ath6k/AR6003/hw2.0/bdata.SD32.bin differ diff --git a/ath6k/AR6003/hw2.0/bdata.WB31.bin b/ath6k/AR6003/hw2.0/bdata.WB31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003/hw2.0/bdata.WB31.bin differ diff --git a/ath6k/AR6003/hw2.0/data.patch.bin b/ath6k/AR6003/hw2.0/data.patch.bin new file mode 100644 index 0000000..4d0a847 Binary files /dev/null and b/ath6k/AR6003/hw2.0/data.patch.bin differ diff --git a/ath6k/AR6003/hw2.0/otp.bin.z77 b/ath6k/AR6003/hw2.0/otp.bin.z77 new file mode 100644 index 0000000..4d97ffa Binary files /dev/null and b/ath6k/AR6003/hw2.0/otp.bin.z77 differ diff --git a/ath6k/AR6003/hw2.1.1/athwlan.bin b/ath6k/AR6003/hw2.1.1/athwlan.bin new file mode 100644 index 0000000..5631222 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/athwlan.bin differ diff --git a/ath6k/AR6003/hw2.1.1/bdata.SD31.bin b/ath6k/AR6003/hw2.1.1/bdata.SD31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/bdata.SD31.bin differ diff --git a/ath6k/AR6003/hw2.1.1/bdata.SD32.bin b/ath6k/AR6003/hw2.1.1/bdata.SD32.bin new file mode 100644 index 0000000..e64d54e Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/bdata.SD32.bin differ diff --git a/ath6k/AR6003/hw2.1.1/bdata.WB31.bin b/ath6k/AR6003/hw2.1.1/bdata.WB31.bin new file mode 100644 index 0000000..f9eae92 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/bdata.WB31.bin differ diff --git a/ath6k/AR6003/hw2.1.1/data.patch.bin b/ath6k/AR6003/hw2.1.1/data.patch.bin new file mode 100644 index 0000000..4113b4f Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/data.patch.bin differ diff --git a/ath6k/AR6003/hw2.1.1/endpointping.bin b/ath6k/AR6003/hw2.1.1/endpointping.bin new file mode 100644 index 0000000..79c4227 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/endpointping.bin differ diff --git a/ath6k/AR6003/hw2.1.1/fw-2.bin b/ath6k/AR6003/hw2.1.1/fw-2.bin new file mode 100644 index 0000000..d577290 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/fw-2.bin differ diff --git a/ath6k/AR6003/hw2.1.1/fw-3.bin b/ath6k/AR6003/hw2.1.1/fw-3.bin new file mode 100644 index 0000000..a25fcd4 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/fw-3.bin differ diff --git a/ath6k/AR6003/hw2.1.1/otp.bin b/ath6k/AR6003/hw2.1.1/otp.bin new file mode 100644 index 0000000..19d2990 Binary files /dev/null and b/ath6k/AR6003/hw2.1.1/otp.bin differ diff --git a/ath6k/AR6004/hw1.2/bdata.bin b/ath6k/AR6004/hw1.2/bdata.bin new file mode 100644 index 0000000..743f66f Binary files /dev/null and b/ath6k/AR6004/hw1.2/bdata.bin differ diff --git a/ath6k/AR6004/hw1.2/fw-2.bin b/ath6k/AR6004/hw1.2/fw-2.bin new file mode 100644 index 0000000..a211353 Binary files /dev/null and b/ath6k/AR6004/hw1.2/fw-2.bin differ diff --git a/ath6k/AR6004/hw1.3/bdata.bin b/ath6k/AR6004/hw1.3/bdata.bin new file mode 100644 index 0000000..f12ea0a Binary files /dev/null and b/ath6k/AR6004/hw1.3/bdata.bin differ diff --git a/ath6k/AR6004/hw1.3/fw-3.bin b/ath6k/AR6004/hw1.3/fw-3.bin new file mode 100644 index 0000000..fe9d635 Binary files /dev/null and b/ath6k/AR6004/hw1.3/fw-3.bin differ diff --git a/atusb/ChangeLog b/atusb/ChangeLog new file mode 100644 index 0000000..7e1d96d --- /dev/null +++ b/atusb/ChangeLog @@ -0,0 +1,24 @@ +ChangeLog: + * 0.0 initial release + * 0.1 addition of ATUSB_TEST + * 0.2 First public release. Compatible with atusb driver in the upcoming 4.2 kernel + * 0.3 * ATUSB_EUI64_READ/WRITE for permanent EUI64 handling + * Support to run the firmware on Atmel Raven USB dongles (Alexander Aring) + * Remove FCS frame check from firmware and leave it to the driver + * Use extended operation mode for TX for automatic ACK handling + +To flash the firmware you need dfu-util on the host. Issue + + dfu-util -d 20b7:1540 -D atusb-0.3.dfu + +right after plugging the device into the USB port while the red led is still +on. + +For the Atmel Raven USB dongle a full JTAG setup is needed to flash the +firmware as no DFU bootloader is available there. + +The firmware is flashed into permanent storage and does not need to be provided +after power off. A new firmware version can be flashed the same way. + +Firmware source code is GPLv2+ and can be found here: +http://projects.qi-hardware.com/index.php/p/ben-wpan/source/tree/master/atusb/fw diff --git a/av7110/Boot.S b/av7110/Boot.S new file mode 100644 index 0000000..d562fdc --- /dev/null +++ b/av7110/Boot.S @@ -0,0 +1,109 @@ +/* + Boot.S: boot loader for Siemens DVB-S card + + Copyright (C) 2001 Convergence integrated media GmbH + Written by Ralph Metzler + + Copyright (C) 2006 Matthieu CASTET + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + +*/ + +/* + check AV711x_3_1.pdf for some hardware infos + build it with : + $ cc -mbig-endian -c Boot.S + $ ld -Ttext 0x2c000000 -EB -o Boot Boot.o + $ objcopy -Obinary Boot +*/ + + .text + .align + .globl _start +_start: + b reset // reset vector + movs pc, r14 // undefined + subs pc, r14, #4 // SWI + subs pc, r14, #4 // prefetch abort + subs pc, r14, #8 // data abort + subs pc, r14, #4 // reserved + subs pc, r14, #4 // IRQ + subs pc, r14, #4 // FIQ + + .word tbl // table needed by firmware ROM +tbl: .word (endtbl - tbl) + .word 0 + .word conf +endtbl: .word 0 +conf: .word 0xa5a55a5a + .word 0x001f1555 + .word 0x00000009 + +reset: ldr r13, buffer + ldr r4, flag + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + + ldr r1, wait_address + ldr r2, flag_address + ldr r3, sram + +copycode: // copy the code HW Sram + ldmia r1!, {r5-r12} + stmia r3!, {r5-r12} + cmp r1, r2 + ble copycode + ldr pc, sram // jump to the copied code + +wait: ldrh r1, [r4] // wait for flag!=0 + cmp r1, #0 + beq wait + + mov r1, r13 // buffer address + ldr r3, [r4,#4] // destaddr + + ldrh r2, [r4,#2] // get segment length + add r2, r2, #63 // round length to next 64 bytes + movs r2, r2, lsr #6 // and divide by 64 + moveq r0, #2 // if 0, set flag to 2, else signal + strh r0, [r4] // that buffer is accepted by setting to 0 + beq wait + +copyloop: + ldmia r1!, {r5-r12} + stmia r3!, {r5-r12} + ldmia r1!, {r5-r12} + stmia r3!, {r5-r12} + subs r2, r2, #1 + bne copyloop + + eor r13, r13, #0x1400 // switch to other buffer + b wait + +// flag is stored at 0x2c0003f8, length at 0x2c0003fa, +// destaddr at 0x2c0003fc + +flag: .word 0x2c0003f8 + + +// buffer 1 is at 0x2c000400, buffer 2 at 0x2c001000 + +buffer: .word 0x2c000400 + +sram: .word 0x9e000800 +wait_address: .word wait +flag_address: .word flag diff --git a/av7110/Makefile b/av7110/Makefile new file mode 100644 index 0000000..a2776fe --- /dev/null +++ b/av7110/Makefile @@ -0,0 +1,11 @@ +CC = arm-linux-gnueabi-gcc +LD = arm-linux-gnueabi-ld +OBJCOPY = arm-linux-gnueabi-objcopy + +bootcode.bin: Boot.S + $(CC) -mbig-endian -c Boot.S + $(LD) -Ttext 0x2c000000 -EB -o Boot Boot.o + $(OBJCOPY) -Obinary Boot bootcode.bin + +clean: + rm -f Boot.o Boot bootcode.bin diff --git a/av7110/bootcode.bin b/av7110/bootcode.bin new file mode 100644 index 0000000..f315775 Binary files /dev/null and b/av7110/bootcode.bin differ diff --git a/bnx2/bnx2-mips-06-6.2.3.fw b/bnx2/bnx2-mips-06-6.2.3.fw new file mode 100644 index 0000000..7e9e54b Binary files /dev/null and b/bnx2/bnx2-mips-06-6.2.3.fw differ diff --git a/bnx2/bnx2-mips-09-6.2.1b.fw b/bnx2/bnx2-mips-09-6.2.1b.fw new file mode 100644 index 0000000..8bd1e79 Binary files /dev/null and b/bnx2/bnx2-mips-09-6.2.1b.fw differ diff --git a/bnx2/bnx2-rv2p-06-6.0.15.fw b/bnx2/bnx2-rv2p-06-6.0.15.fw new file mode 100644 index 0000000..4d756e1 Binary files /dev/null and b/bnx2/bnx2-rv2p-06-6.0.15.fw differ diff --git a/bnx2/bnx2-rv2p-09-6.0.17.fw b/bnx2/bnx2-rv2p-09-6.0.17.fw new file mode 100644 index 0000000..6693299 Binary files /dev/null and b/bnx2/bnx2-rv2p-09-6.0.17.fw differ diff --git a/bnx2/bnx2-rv2p-09ax-6.0.17.fw b/bnx2/bnx2-rv2p-09ax-6.0.17.fw new file mode 100644 index 0000000..e5738ce Binary files /dev/null and b/bnx2/bnx2-rv2p-09ax-6.0.17.fw differ diff --git a/bnx2x/bnx2x-e1-7.13.1.0.fw b/bnx2x/bnx2x-e1-7.13.1.0.fw new file mode 100644 index 0000000..407bb92 Binary files /dev/null and b/bnx2x/bnx2x-e1-7.13.1.0.fw differ diff --git a/bnx2x/bnx2x-e1-7.13.15.0.fw b/bnx2x/bnx2x-e1-7.13.15.0.fw new file mode 100644 index 0000000..a0270da Binary files /dev/null and b/bnx2x/bnx2x-e1-7.13.15.0.fw differ diff --git a/bnx2x/bnx2x-e1-7.13.21.0.fw b/bnx2x/bnx2x-e1-7.13.21.0.fw new file mode 100644 index 0000000..2bb2013 Binary files /dev/null and b/bnx2x/bnx2x-e1-7.13.21.0.fw differ diff --git a/bnx2x/bnx2x-e1h-7.13.1.0.fw b/bnx2x/bnx2x-e1h-7.13.1.0.fw new file mode 100644 index 0000000..640de57 Binary files /dev/null and b/bnx2x/bnx2x-e1h-7.13.1.0.fw differ diff --git a/bnx2x/bnx2x-e1h-7.13.15.0.fw b/bnx2x/bnx2x-e1h-7.13.15.0.fw new file mode 100644 index 0000000..aa1e49f Binary files /dev/null and b/bnx2x/bnx2x-e1h-7.13.15.0.fw differ diff --git a/bnx2x/bnx2x-e1h-7.13.21.0.fw b/bnx2x/bnx2x-e1h-7.13.21.0.fw new file mode 100644 index 0000000..0261fd7 Binary files /dev/null and b/bnx2x/bnx2x-e1h-7.13.21.0.fw differ diff --git a/bnx2x/bnx2x-e2-7.13.1.0.fw b/bnx2x/bnx2x-e2-7.13.1.0.fw new file mode 100644 index 0000000..b8931fd Binary files /dev/null and b/bnx2x/bnx2x-e2-7.13.1.0.fw differ diff --git a/bnx2x/bnx2x-e2-7.13.15.0.fw b/bnx2x/bnx2x-e2-7.13.15.0.fw new file mode 100644 index 0000000..be14d9d Binary files /dev/null and b/bnx2x/bnx2x-e2-7.13.15.0.fw differ diff --git a/bnx2x/bnx2x-e2-7.13.21.0.fw b/bnx2x/bnx2x-e2-7.13.21.0.fw new file mode 100644 index 0000000..9c93baf Binary files /dev/null and b/bnx2x/bnx2x-e2-7.13.21.0.fw differ diff --git a/brcm/BCM-0bb4-0306.hcd b/brcm/BCM-0bb4-0306.hcd new file mode 100644 index 0000000..dee1dc7 Binary files /dev/null and b/brcm/BCM-0bb4-0306.hcd differ diff --git a/brcm/bcm43xx-0.fw b/brcm/bcm43xx-0.fw new file mode 100644 index 0000000..9ee5ccc Binary files /dev/null and b/brcm/bcm43xx-0.fw differ diff --git a/brcm/bcm43xx_hdr-0.fw b/brcm/bcm43xx_hdr-0.fw new file mode 100644 index 0000000..a6db78d Binary files /dev/null and b/brcm/bcm43xx_hdr-0.fw differ diff --git a/brcm/brcmfmac43143-sdio.bin b/brcm/brcmfmac43143-sdio.bin new file mode 100644 index 0000000..e4f56f3 Binary files /dev/null and b/brcm/brcmfmac43143-sdio.bin differ diff --git a/brcm/brcmfmac43143.bin b/brcm/brcmfmac43143.bin new file mode 100644 index 0000000..28b8db9 Binary files /dev/null and b/brcm/brcmfmac43143.bin differ diff --git a/brcm/brcmfmac43236b.bin b/brcm/brcmfmac43236b.bin new file mode 100644 index 0000000..8a2004a Binary files /dev/null and b/brcm/brcmfmac43236b.bin differ diff --git a/brcm/brcmfmac43241b0-sdio.bin b/brcm/brcmfmac43241b0-sdio.bin new file mode 100644 index 0000000..8cc3cd2 Binary files /dev/null and b/brcm/brcmfmac43241b0-sdio.bin differ diff --git a/brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt b/brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt new file mode 100644 index 0000000..6520ad9 --- /dev/null +++ b/brcm/brcmfmac43241b4-sdio.Advantech-MICA-071.txt @@ -0,0 +1,147 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM file for the brcmfmac43241b4 wifi on the Advantech MICA-071 +aa2g=3 +aa5g=3 +ag0=0x2 +ag1=0x2 +ag2=0xff +ag3=0xff +antswctl2g=0x9 +antswctl5g=0xa +antswitch=0x0 +boardflags2=0x00800000 +boardflags=0x201 +boardrev=0x1304 +boardtype=0x5f0 +cckbw202gpo=0x1111 +cckbw20ul2gpo=0x1111 +ccode=X2 +devid=0x4374 +extpagain2g=2 +extpagain5g=2 +itt2ga0=0x20 +itt2ga1=0x20 +itt5ga0=0x3e +itt5ga1=0x3e +ledbh0=0xff +ledbh1=0xff +ledbh2=0xff +ledbh3=0xff +leddc=0xffff +leg40dup2gpo=0x2 +legofdmbw202gpo=0x77777777 +legofdmbw205ghpo=0x11111111 +legofdmbw205glpo=0x44444444 +legofdmbw205gmpo=0x11111111 +legofdmbw20ul2gpo=0x77777777 +legofdmbw20ul5ghpo=0x11111111 +legofdmbw20ul5glpo=0x11111111 +legofdmbw20ul5gmpo=0x11111111 +macaddr=00:90:4c:c5:12:38 +maxp2ga0=60 +maxp2ga1=60 +maxp5ga0=52 +maxp5ga1=52 +maxp5gha0=52 +maxp5gha1=52 +maxp5gla0=52 +maxp5gla1=52 +mcs32po=0x5555 +mcsbw202gpo=0x77777777 +mcsbw205ghpo=0x11111111 +mcsbw205glpo=0x88888888 +mcsbw205gmpo=0x11111111 +mcsbw20ul2gpo=0x77777777 +mcsbw20ul5ghpo=0x11111111 +mcsbw20ul5glpo=0x88888888 +mcsbw20ul5gmpo=0x11111111 +mcsbw402gpo=0x88888888 +mcsbw405ghpo=0x11111111 +mcsbw405glpo=0x44444444 +mcsbw405gmpo=0x00000000 +muxenab=0x0 +nocrc=1 +noisecaloffset5g=14 +noisecaloffset=14 +otpimagesize=232 +pa0itssit=62 +pa1itssit=62 +pa2gw0a0=0xFFCA +pa2gw0a0_lo=0xFFFA +pa2gw0a1=0xFFBA +pa2gw0a1_lo=0xFFEE +pa2gw1a0=0x14AA +pa2gw1a0_lo=0x0766 +pa2gw1a1=0x139C +pa2gw1a1_lo=0x07AD +pa2gw2a0=0xFEE0 +pa2gw2a0_lo=0xFF7B +pa2gw2a1=0xFED7 +pa2gw2a1_lo=0xFF6E +pa5ghw0a0=0xFFC4 +pa5ghw0a0_lo=0xFFDD +pa5ghw0a1=0xFFCB +pa5ghw0a1_lo=0xFFDE +pa5ghw1a0=0x1124 +pa5ghw1a0_lo=0x08DD +pa5ghw1a1=0x10B6 +pa5ghw1a1_lo=0x09D1 +pa5ghw2a0=0xFF02 +pa5ghw2a0_lo=0xFF4D +pa5ghw2a1=0xFF0E +pa5ghw2a1_lo=0xFF46 +pa5glw0a0=0xFFDC +pa5glw0a0_lo=0xFFE1 +pa5glw0a1=0xFFEA +pa5glw0a1_lo=0xFFEA +pa5glw1a0=0x0EDB +pa5glw1a0_lo=0x0934 +pa5glw1a1=0x0D2D +pa5glw1a1_lo=0x0CAD +pa5glw2a0=0xFF02 +pa5glw2a0_lo=0xFF4A +pa5glw2a1=0xFF44 +pa5glw2a1_lo=0xFF46 +pa5gw0a0=0xFFCD +pa5gw0a0_lo=0xFFF0 +pa5gw0a1=0xFFC3 +pa5gw0a1_lo=0xFFD4 +pa5gw1a0=0x1126 +pa5gw1a0_lo=0x08D0 +pa5gw1a1=0x10FF +pa5gw1a1_lo=0x09B0 +pa5gw2a0=0xFF17 +pa5gw2a0_lo=0xFF5C +pa5gw2a1=0xFEFF +pa5gw2a1_lo=0xFF3F +pdetrange2g=2 +pdetrange5g=2 +rssicorrnorm_core0=0x2004 +rssicorrnorm_core0_5g1=0x2203 +rssicorrnorm_core0_5g2=0x1f03 +rssicorrnorm_core0_5g3=0x1903 +rssicorrnorm_core1=0x2004 +rssicorrnorm_core1_5g1=0x2a03 +rssicorrnorm_core1_5g2=0x2303 +rssicorrnorm_core1_5g3=0x1d03 +rxchain=0x3 +sd_gpdc=0 +sd_gpout=0 +sd_gpval=1 +sromrev=9 +subband5gver=0 +tempthresh=120 +triso2g=4 +triso5g=5 +triso5g_h_c0=5 +triso5g_h_c1=5 +triso5g_l_c0=5 +triso5g_l_c1=5 +triso5g_m_c0=5 +triso5g_m_c1=5 +tssipos2g=1 +tssipos5g=1 +txchain=0x3 +usbepnum=0x2 +xtalfreq=37400 diff --git a/brcm/brcmfmac43241b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt b/brcm/brcmfmac43241b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt new file mode 100644 index 0000000..e16cc89 --- /dev/null +++ b/brcm/brcmfmac43241b4-sdio.Intel Corp.-VALLEYVIEW C0 PLATFORM.txt @@ -0,0 +1,149 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM file for the brcmfmac43241b4 wifi on the Lenovo Yoga Tablet 2 1050F/L +aa2g=3 +aa5g=3 +ag0=0x2 +ag1=0x2 +ag2=0xff +ag3=0xff +antswctl2g=0x9 +antswctl5g=0xa +antswitch=0x0 +boardflags2=0x00800000 +boardflags=0x201 +boardrev=0x1304 +boardtype=0x5f0 +cckbw202gpo=0x2222 +cckbw20ul2gpo=0x2222 +ccode=DE +devid=0x4374 +extpagain2g=2 +extpagain5g=2 +itt2ga0=0x20 +itt2ga1=0x20 +itt5ga0=0x3e +itt5ga1=0x3e +ledbh0=0xff +ledbh1=0xff +ledbh2=0xff +ledbh3=0xff +leddc=0xffff +leg40dup2gpo=0x2 +legofdmbw202gpo=0x44444444 +legofdmbw205ghpo=0x33333333 +legofdmbw205glpo=0x33333333 +legofdmbw205gmpo=0x33333333 +legofdmbw20ul2gpo=0x99992222 +legofdmbw20ul5ghpo=0x33333333 +legofdmbw20ul5glpo=0x33333333 +legofdmbw20ul5gmpo=0x33333333 +macaddr=00:90:4c:c5:12:38 +maxp2ga0=72 +maxp2ga1=72 +maxp5ga0=72 +maxp5ga1=72 +maxp5gha0=72 +maxp5gha1=72 +maxp5gla0=72 +maxp5gla1=72 +mcs32po=0x5555 +mcsbw202gpo=0x77744444 +mcsbw205ghpo=0x88833333 +mcsbw205glpo=0x88833333 +mcsbw205gmpo=0x88833333 +mcsbw20ul2gpo=0x99999222 +mcsbw20ul5ghpo=0x88833333 +mcsbw20ul5glpo=0x88833333 +mcsbw20ul5gmpo=0x88833333 +mcsbw402gpo=0x99999222 +mcsbw405ghpo=0x88833333 +mcsbw405glpo=0x88833333 +mcsbw405gmpo=0x88833333 +muxenab=0x0 +nocrc=1 +noisecaloffset5g=14 +noisecaloffset=14 +otpimagesize=232 +pa0itssit=62 +pa1itssit=62 +pa2gw0a0=0xFFD0 +pa2gw0a0_lo=0xFFFA +pa2gw0a1=0xFFC9 +pa2gw0a1_lo=0xFFEE +pa2gw1a0=0x15B3 +pa2gw1a0_lo=0x0766 +pa2gw1a1=0x15B5 +pa2gw1a1_lo=0x07AD +pa2gw2a0=0xFEDA +pa2gw2a0_lo=0xFF7B +pa2gw2a1=0xFED4 +pa2gw2a1_lo=0xFF6E +pa5ghw0a0=0xFFC6 +pa5ghw0a0_lo=0xFFDD +pa5ghw0a1=0xFFCE +pa5ghw0a1_lo=0xFFDE +pa5ghw1a0=0x1312 +pa5ghw1a0_lo=0x08DD +pa5ghw1a1=0x1356 +pa5ghw1a1_lo=0x09D1 +pa5ghw2a0=0xFEED +pa5ghw2a0_lo=0xFF4D +pa5ghw2a1=0xFEF5 +pa5ghw2a1_lo=0xFF46 +pa5glw0a0=0xFFCA +pa5glw0a0_lo=0xFFE1 +pa5glw0a1=0xFFCB +pa5glw0a1_lo=0xFFEA +pa5glw1a0=0x1382 +pa5glw1a0_lo=0x0934 +pa5glw1a1=0x135D +pa5glw1a1_lo=0x09AD +pa5glw2a0=0xFEEF +pa5glw2a0_lo=0xFF4A +pa5glw2a1=0xFEF6 +pa5glw2a1_lo=0xFF4E +pa5gw0a0=0xFFC5 +pa5gw0a0_lo=0xFFF0 +pa5gw0a1=0xFFCA +pa5gw0a1_lo=0xFFD4 +pa5gw1a0=0x1305 +pa5gw1a0_lo=0x08D0 +pa5gw1a1=0x1332 +pa5gw1a1_lo=0x09B0 +pa5gw2a0=0xFEEA +pa5gw2a0_lo=0xFF5C +pa5gw2a1=0xFEF9 +pa5gw2a1_lo=0xFF3F +pdetrange2g=2 +pdetrange5g=2 +regrev=7 +rssicorrnorm_core0=0x2004 +rssicorrnorm_core0_5g1=0x2203 +rssicorrnorm_core0_5g2=0x1f03 +rssicorrnorm_core0_5g3=0x1903 +rssicorrnorm_core1=0x2004 +rssicorrnorm_core1_5g1=0x2a03 +rssicorrnorm_core1_5g2=0x2303 +rssicorrnorm_core1_5g3=0x1d03 +rxchain=0x3 +sd_gpdc=0 +sd_gpout=0 +sd_gpval=1 +sd_oobonly=0 +sromrev=9 +subband5gver=0 +tempthresh=120 +triso2g=4 +triso5g=5 +triso5g_h_c0=5 +triso5g_h_c1=5 +triso5g_l_c0=5 +triso5g_l_c1=5 +triso5g_m_c0=5 +triso5g_m_c1=5 +tssipos2g=1 +tssipos5g=1 +txchain=0x3 +usbepnum=0x2 +xtalfreq=37400 diff --git a/brcm/brcmfmac43241b4-sdio.bin b/brcm/brcmfmac43241b4-sdio.bin new file mode 100644 index 0000000..5d10c24 Binary files /dev/null and b/brcm/brcmfmac43241b4-sdio.bin differ diff --git a/brcm/brcmfmac43241b5-sdio.bin b/brcm/brcmfmac43241b5-sdio.bin new file mode 100644 index 0000000..8d70d17 Binary files /dev/null and b/brcm/brcmfmac43241b5-sdio.bin differ diff --git a/brcm/brcmfmac43242a.bin b/brcm/brcmfmac43242a.bin new file mode 100644 index 0000000..80604d8 Binary files /dev/null and b/brcm/brcmfmac43242a.bin differ diff --git a/brcm/brcmfmac4329-sdio.bin b/brcm/brcmfmac4329-sdio.bin new file mode 100644 index 0000000..d4c4560 Binary files /dev/null and b/brcm/brcmfmac4329-sdio.bin differ diff --git a/brcm/brcmfmac4330-sdio.Prowise-PT301.txt b/brcm/brcmfmac4330-sdio.Prowise-PT301.txt new file mode 100644 index 0000000..67381ab --- /dev/null +++ b/brcm/brcmfmac4330-sdio.Prowise-PT301.txt @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6330 4330 WiFi/BT module found on the +# Prowise PT301 tablet +aa2g=1 +aa5g=1 +ag0=0x40 +ag1=0xBF +boardflags=0x10080a00 +# boardflags3 is not set +boardnum=22 +boardrev=0x1202 +boardtype=0x05e1 +bphyscale=17 +# btc_params is not set +cckPwrIdxCorr=-15 +cckPwrOffset=6 +cckdigfilttype=20 +ccode=X2 +# cldo_pwm is not set +dacrate2g=160 +dacrate5g=160 +devid=0x4360 +il0macaddr=00:90:4c:c5:12:38 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=0x44 +maxp5ga0=0x3A +maxp5gha0=0x3A +maxp5gla0=0x3A +mcs2gpo0=0x4444 +mcs2gpo1=0x4444 +mcs5ghpo0=0x2222 +mcs5ghpo1=0x2222 +mcs5glpo0=0x2222 +mcs5glpo1=0x2222 +mcs5gpo0=0x2222 +mcs5gpo1=0x2222 +nocrc=1 +noise_cal_adj_2g=-3 +noise_cal_ref_2g=53 +ofdm2gpo=0x22222222 +ofdm5ghpo=0x00000000 +ofdm5glpo=0x00000000 +ofdm5gpo=0x00000000 +pa0b0=4924 +pa0b1=-595 +pa0b2=-157 +pa0itssit=0x20 +pa1b0=4880 +pa1b1=-625 +pa1b2=-200 +pa1hib0=4880 +pa1hib1=-620 +pa1hib2=-190 +pa1lob0=5050 +pa1lob1=-630 +pa1lob2=-195 +pacalpwr2g=13 +pacalpwr5g1=11 +pacalpwr5g=13 +pacalpwr5ghi1=11 +pacalpwr5ghi=13 +pacalpwr5glo1=11 +pacalpwr5glo=13 +prodid=0x0547 +rfreg033=0x19 +rfreg033_cck=0x1f +rfreg088=15 +rssisav2g=0x7 +rssisav5g=0x7 +rssismc2g=0x3 +rssismc5g=0x3 +rssismf2g=0xa +rssismf5g=0x4 +rxpo5g=0 +sd_gpdc=0 +sd_gpout=0 +sd_gpval=1 +sromrev=3 +swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x18282,0x1ff +swctrlmap_5g=0x10101010,0x28282020,0x20202020,0x10202,0x0f8 +triso2g=3 +triso5g=6 +txalpfbyp2g=1 +txgaintbl=1 +vendid=0x14e4 +wl0id=0x431b +xtalfreq=26000 diff --git a/brcm/brcmfmac4330-sdio.bin b/brcm/brcmfmac4330-sdio.bin new file mode 100644 index 0000000..3dd0444 Binary files /dev/null and b/brcm/brcmfmac4330-sdio.bin differ diff --git a/brcm/brcmfmac4334-sdio.bin b/brcm/brcmfmac4334-sdio.bin new file mode 100644 index 0000000..ade994f Binary files /dev/null and b/brcm/brcmfmac4334-sdio.bin differ diff --git a/brcm/brcmfmac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.txt b/brcm/brcmfmac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.txt new file mode 100644 index 0000000..a2e613d --- /dev/null +++ b/brcm/brcmfmac43340-sdio.ASUSTeK COMPUTER INC.-TF103CE.txt @@ -0,0 +1,103 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the 43430 WiFi/BT chip as found on the Asus TF103C +# tablet's mainboard +aa2g=1 +aci_detect_en_2g=1 +ag0=255 +boardflags=0x0090201 +boardnum=22 +boardrev=0x1203 +boardtype=0x0653 +btc_params95=0x09 +cck2gpo=0x0000 +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 +interference=3 +iqcalidx5g=50 +iqlocalidx5g=40 +loflag=0 +lpbckmode5g=1 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=0x46 +maxp5ga0=0x36 +maxp5gha0=0x36 +maxp5gla0=0x36 +mcs2gpo0=0x8888 +mcs2gpo1=0x8888 +mcs5ghpo0=0x4444 +mcs5ghpo1=0x4444 +mcs5ghpo2 =0x3333 +mcs5ghpo3 = 0x3333 +mcs5glpo0=0x4444 +mcs5glpo1=0x4444 +mcs5glpo2=0x3333 +mcs5glpo3 =0x3333 +mcs5gpo0=0x4444 +mcs5gpo1=0x4444 +mcs5gpo2=0x3333 +mcs5gpo3 =0x3333 +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=0x66666666 +ofdm5ghpo=0x00000000 +ofdm5glpo=0x00000000 +ofdm5gpo=0x00000000 +pa0b0=0x19f0 +pa0b1=0xfd03 +pa0b2=0xff64 +pa0itssit=0x20 +pa1b0=0x1477 +pa1b1=0xfd80 +pa1b2=0xff3d +pa1hib0=0x13c9 +pa1hib1=0xfdb2 +pa1hib2=0xff59 +pa1lob0=0x1528 +pa1lob1=0xfd70 +pa1lob2=0xff45 +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_level_trigger=1 +sd_oobonly=1 +sromrev=3 +swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f +swctrlmap_5g=0x00020002,0x00040004,0x00020002,0x011010,0x2fe +triso2g=8 +triso5g=8 +tssifloor2g=64 +tssifloor5gh=32 +tssifloor5gl=32 +tssifloor5gm=34 +txalpfbyp=1 +txalpfpu=1 +txiqlopapu2g=0 +txiqlopapu5g=0 +vendid=0x14e4 +xtalfreq=37400 diff --git a/brcm/brcmfmac43340-sdio.meegopad-t08.txt b/brcm/brcmfmac43340-sdio.meegopad-t08.txt new file mode 100644 index 0000000..9535a4b --- /dev/null +++ b/brcm/brcmfmac43340-sdio.meegopad-t08.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 +# Meegopad T08 HDMI stick +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=80 +maxp5ga0=80 +maxp5gha0=78 +maxp5gla0=78 +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/brcmfmac43340-sdio.pov-tab-p1006w-data.txt b/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt new file mode 100644 index 0000000..1bec11e --- /dev/null +++ b/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.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 +# Point of View TAB-P1006W-232-3G 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=72 +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=0x1ce6 +pa0b1=0xfca1 +pa0b2=0xff62 +pa0itssit=0x20 +pa1b0=0x10cb +pa1b1=0xfdac +pa1b2=0xfefa +pa1hib0=0x1481 +pa1hib1=0xfd90 +pa1hib2=0xff56 +pa1lob0=0x15ef +pa1lob1=0xfd61 +pa1lob2=0xff57 +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/brcmfmac43340-sdio.predia-basic.txt b/brcm/brcmfmac43340-sdio.predia-basic.txt new file mode 100644 index 0000000..c899475 --- /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/brcmfmac4335-sdio.bin b/brcm/brcmfmac4335-sdio.bin new file mode 100644 index 0000000..a670e96 Binary files /dev/null and b/brcm/brcmfmac4335-sdio.bin differ diff --git a/brcm/brcmfmac43362-sdio.WC121.txt b/brcm/brcmfmac43362-sdio.WC121.txt new file mode 100644 index 0000000..9a2aa1b --- /dev/null +++ b/brcm/brcmfmac43362-sdio.WC121.txt @@ -0,0 +1,36 @@ +aa2g=1 +boardflags=0xa00 +boardnum=777 +boardrev=0x1207 +boardtype=0x0598 +cckPwrOffset=4 +ccode=0 +devid=0x4343 +edoffthd=-71 +edonthd=-65 +initxidx2g=45 +macaddr=00:90:4c:07:7${maclo12} +manfid=0x2d0 +maxp2ga0=74 +mcs2gpo0=0x4444 +mcs2gpo1=0x6444 +noise_cal_enable_2g=0 +ofdm2gpo=0x44111111 +pa0b0=5447 +pa0b1=-658 +pa0b2=-175 +pa0itssit=62 +pa0maxpwr=80 +pa1itssit=62 +prodid=0x492 +rssisav2g=0x7 +rssismc2g=0x3 +rssismf2g=0xa +sromrev=3 +swctrlmap_2g=0x04040404,0x02020202,0x04040404,0x010101,0x1ff +temp_add=29767 +temp_mult=425 +temp_q=10 +triso2g=0 +vendid=0x14e4 +xtalfreq=26000 diff --git a/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt b/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt new file mode 100644 index 0000000..90b4668 --- /dev/null +++ b/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6210 43362 WiFi/BT module found on the +# Cubietech Cubietruck board +aa2g=1 +ag0=2 +boardflags2=0x80 +boardflags=0x80201 +boardnum=777 +boardrev=0x1307 +boardtype=0x0598 +btc_flags=0x6 +btc_params0=5000 +btc_params1=1000 +btc_params6=63 +cck2gpo=0x2222 +cckPwrOffset=5 +ccode=0 +devid=0x4343 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=74 +mcs2gpo0=0x6666 +mcs2gpo1=0x6666 +noise_cal_enable_2g=0 +noise_cal_po_2g=0 +ofdm2gpo=0x44444444 +pa0b0=5447 +pa0b1=-607 +pa0b2=-160 +pa0itssit=62 +pa0maxpwr=56 +pa1itssit=62 +prodid=0x492 +rssisav2g=0x7 +rssismc2g=0x3 +rssismf2g=0xa +sromrev=3 +swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff +temp_add=29767 +temp_mult=425 +triso2g=0 +vendid=0x14e4 +wl0id=0x431b +xtalfreq=26000 diff --git a/brcm/brcmfmac43430-sdio.AP6212.txt b/brcm/brcmfmac43430-sdio.AP6212.txt new file mode 100644 index 0000000..901854e --- /dev/null +++ b/brcm/brcmfmac43430-sdio.AP6212.txt @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6212 43430 WiFi/BT module +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=0x5555 +cckpwroffset0=5 +ccode=ALL +# cldo_pwm is not set +deadman_to=0xffffffff +devid=0x43e2 +extpagain2g=0 +il0macaddr=00:90:4c:c5:12:38 +legofdmbw202gpo=0x77777777 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=90 +mcsbw202gpo=0xaaaaaaaa +muxenab=0x10 +nocrc=1 +ofdmdigfilttype=7 +# ofdmdigfilttypebe is not set +pa0itssit=0x20 +pa2ga0=-168,7161,-820 +# pacalidx2g is not set +# papdendidx is not set +# papdepsoffset is not set +papdmode=2 +# papdvalidtest is not set +prodid=0x0726 +# propbw202gpois not set +# spurconfig is not set +sromrev=11 +txpwrbckof=6 +vendid=0x14e4 +wl0id=0x431b +xtalfreq=26000 diff --git a/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt b/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt new file mode 100644 index 0000000..5b854d4 --- /dev/null +++ b/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the 43430 WiFi/BT chip as found on the Chuwi Vi8 Plus +# tablet's mainboard +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/brcmfmac43430-sdio.MUR1DX.txt b/brcm/brcmfmac43430-sdio.MUR1DX.txt new file mode 100644 index 0000000..06d4e31 --- /dev/null +++ b/brcm/brcmfmac43430-sdio.MUR1DX.txt @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Murata 1DX 43430 WiFi/BT module +aa2g=1 +ag0=0 +AvVmid_c0=0x0,0xc8 +boardflags=0x00404201 +boardflags3=0x08000000 +boardnum=22 +boardrev=0x1202 +boardtype=0x0726 +# btc_params is not set +cckbw202gpo=0x0 +cckpwroffset0=2 +ccode=ALL +# cldo_pwm is not set +# deadman_to is not set +devid=0x43e2 +extpagain2g=0 +il0macaddr=00:90:4c:c5:12:38 +legofdmbw202gpo=0x88888888 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=74 +mcsbw202gpo=0xaaaaaaaa +muxenab=0x10 +nocrc=1 +ofdmdigfilttype=18 +ofdmdigfilttypebe=18 +# pa0itssit is not set +pa2ga0=-145,6667,-751 +pacalidx2g=48 +papdendidx=58 +papdepsoffset=-22 +papdmode=1 +papdvalidtest=1 +prodid=0x0726 +propbw202gpo=0xdd +# spurconfig is not set +sromrev=11 +# txpwrbckof is not set +vendid=0x14e4 +wl0id=0x431b +xtalfreq=37400 diff --git a/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt b/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt new file mode 100644 index 0000000..732c19b --- /dev/null +++ b/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Raspberry Pi (Trading) Ltd. +# NVRAM config file for the BCM43430 WiFi/BT chip as found on the +# Raspberry Pi 3 Model B +aa2g=1 +ag0=255 +AvVmid_c0=0x0,0xc8 +boardflags=0x00404201 +boardflags3=0x08000000 +boardnum=22 +boardrev=0x1202 +boardtype=0x0726 +btc_mode=1 +btc_params1=0x7530 +btc_params8=0x4e20 +cckbw202gpo=0 +cckpwroffset0=5 +ccode=ALL +# 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=84 +mcsbw202gpo=0x77711111 +muxenab=0x1 +nocrc=1 +ofdmdigfilttype=18 +ofdmdigfilttypebe=18 +pa0itssit=0x20 +pa2ga0=-168,7161,-820 +pacalidx2g=32 +papdendidx=61 +papdepsoffset=-36 +papdmode=1 +papdvalidtest=1 +prodid=0x0726 +propbw202gpo=0xdd +spurconfig=0x3 +sromrev=11 +txpwrbckof=6 +vendid=0x14e4 +wl0id=0x431b +xtalfreq=37400 diff --git a/brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt b/brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt new file mode 100644 index 0000000..f63a381 --- /dev/null +++ b/brcm/brcmfmac43430a0-sdio.ONDA-V80 PLUS.txt @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6212 43430a0 WiFi/BT module found on the +# Onda V80 Plus 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=0x5555 +cckpwroffset0=5 +ccode=X2 +# cldo_pwm is not set +deadman_to=0xffffffff +devid=0x43e2 +extpagain2g=0 +hostrdy=0x41 +hostwake=0x40 +il0macaddr=00:90:4c:c5:12:38 +legofdmbw202gpo=0x77777777 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=90 +mcsbw202gpo=0xaaaaaaaa +nocrc=1 +ofdmdigfilttype=7 +# ofdmdigfilttypebe is not set +pa0itssit=0x20 +pa2ga0=-168,7161,-820 +# pacalidx2g is not set +# papdendidx is not set +# papdepsoffset is not set +papdmode=2 +# papdvalidtest is not set +prodid=0x0726 +# propbw202gpois not set +sd_gpout=0 +sd_gpval=0 +sd_oobonly=1 +# spurconfig is not set +sromrev=11 +txpwrbckof=6 +usbrdy=0x03 +usbrdydelay=100 +vendid=0x14e4 +wl0id=0x431b +xtalfreq=26000 diff --git a/brcm/brcmfmac43430a0-sdio.bin b/brcm/brcmfmac43430a0-sdio.bin new file mode 100644 index 0000000..dc5ef91 Binary files /dev/null and b/brcm/brcmfmac43430a0-sdio.bin differ diff --git a/brcm/brcmfmac43430a0-sdio.ilife-S806.txt b/brcm/brcmfmac43430a0-sdio.ilife-S806.txt new file mode 100644 index 0000000..c0ec873 --- /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/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt b/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt new file mode 100644 index 0000000..14f5629 --- /dev/null +++ b/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6212 43430a0 WiFi/BT module found on the +# Jumper EZpad mini 3 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=78 +mcsbw202gpo=0x77711111 +muxenab=0x1 +nocrc=1 +ofdmdigfilttype=18 +ofdmdigfilttypebe=18 +pa0itssit=0x20 +pa2ga0=-168,6009,-726 +# pacalidx2g is not set +# papdendidx is not set +# papdepsoffset is not set +papdmode=1 +# papdvalidtest is not set +prodid=0x0726 +# propbw202gpois not set +rssicorrnorm=15 +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.AW-CM256SM.txt b/brcm/brcmfmac43455-sdio.AW-CM256SM.txt new file mode 100644 index 0000000..4ca98ee --- /dev/null +++ b/brcm/brcmfmac43455-sdio.AW-CM256SM.txt @@ -0,0 +1,66 @@ +aa2g=1 +aa5g=1 +AvVmid_c0=0,157,1,126,1,126,1,126,1,126 +boardflags=0x00080201 +boardflags2=0x40000000 +boardflags3=0x48200100 +boardrev=0x1304 +boardtype=0x6e4 +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 +muxenab=0x10 +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 +rxchain=1 +rxgains2gelnagaina0=0 +rxgains2gtrelnabypa0=0 +rxgains2gtrisoa0=0 +rxgains5gelnagaina0=0 +rxgains5gtrelnabypa0=0 +rxgains5gtrisoa0=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/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt b/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt new file mode 100644 index 0000000..6ab2059 --- /dev/null +++ b/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt @@ -0,0 +1,122 @@ +# 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 +# Minix Neo Z83-4 Mini PC +aa2g=3 +aa5g=3 +aga0=2 +aga1=2 +agbg0=2 +agbg1=2 +antswitch=0 +boardflags2=0x00802000 +boardflags3=0x0000000a +boardflags=0x02400201 +boardrev=0x1122 +boardtype=0x073e +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0000 +ccode=X2 +devid=0x43ec +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +dot11agofdmhrbw202gpo=0x6666 +extpagain2g=2 +extpagain5g=2 +femctrl=10 +manfid=0x2d0 +maxp2ga0=76 +maxp2ga1=76 +maxp5ga0=74,74,74,74 +maxp5ga1=74,74,74,74 +mcsbw202gpo=0x99644422 +mcsbw205ghpo=0xdc666663 +mcsbw205glpo=0x88766663 +mcsbw205gmpo=0xd8666663 +mcsbw402gpo=0x99644422 +mcsbw405ghpo=0xaa666663 +mcsbw405glpo=0x88666663 +mcsbw405gmpo=0x88666663 +mcsbw805ghpo=0xdd666665 +mcsbw805glpo=0xbb666665 +mcsbw805gmpo=0xcc666665 +mcslr5ghpo=0x0000 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +nocrc=1 +ofdmlrbw202gpo=0x0022 +otpimagesize=502 +pa2ga0=-147,6192,-705 +pa2ga1=-161,6041,-701 +pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715 +pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746 +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 +sd_gpout=0 +sd_gpval=1 +sromrev=11 +subband5gver=0x4 +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/brcm/brcmfmac43455-sdio.acepc-t8.txt b/brcm/brcmfmac43455-sdio.acepc-t8.txt new file mode 100644 index 0000000..8698316 --- /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/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt new file mode 100644 index 0000000..e8d6b19 --- /dev/null +++ b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Raspberry Pi (Trading) Ltd. +# NVRAM config file for the BCM43455 WiFi/BT chip as found on the +# Raspberry Pi 3 Model B+ +aa2g=1 +aa5g=1 +AvVmid_c0=1,165,2,100,2,100,2,100,2,100 +boardflags=0x00480201 +boardflags2=0x40800000 +boardflags3=0x48200100 +boardrev=0x1304 +boardtype=0x6e4 +btc_mode=1 +btc_params1=0x7530 +btc_params8=0x4e20 +btc_params50=0x972c +cbfilttype=1 +cckPwrIdxCorr=3 +cckTssiDelay=150 +deadman_to=481500000 +devid=0x43ab +dot11agofdmhrbw202gpo=0x4442 +dot11b_opts=0x3aa85 +ed_thresh2g=-54 +ed_thresh5g=-54 +eu_edthresh2g=-54 +eu_edthresh5g=-54 +extpagain2g=2 +extpagain5g=2 +fdsslevel_ch11=6 +femctrl=0 +itrsw=1 +ldo1=4 +ltecxfnsel=0x22 +ltecxgcigpio=0x32 +ltecxmux=0 +ltecxpadnum=0x0504 +macaddr=b8:27:eb:74:f2:6c +manfid=0x2d0 +maxp2ga0=80 +maxp5ga0=82,82,82,82 +mcsbw202gpo=0x98444422 +mcsbw205ghpo=0xb9555000 +mcsbw205glpo=0xb9555000 +mcsbw205gmpo=0xb9555000 +mcsbw402gpo=0x98444422 +mcsbw405ghpo=0xb9555000 +mcsbw405glpo=0xb9555000 +mcsbw405gmpo=0xb9555000 +mcsbw805ghpo=0xb9555000 +mcsbw805glpo=0xb9555000 +mcsbw805gmpo=0xb9555000 +nocrc=1 +ofdmlrbw202gpo=0x0022 +ofdmTssiDelay=150 +pa2ga0=-129,6525,-718 +pa2ga1=-149,4408,-601 +pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818 +pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575 +pdoffset2g40ma0=16 +pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0 +pdoffset40ma0=0x8888 +pdoffset80ma0=0x8888 +pdoffsetcckma0=2 +phycal_tempdelta=15 +prodid=0x06e4 +rawtempsense=0x1ff +rxchain=1 +sromrev=11 +swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff +swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 +tssipos2g=1 +tssipos5g=1 +tworangetssi2g=1 +tworangetssi5g=1 +txchain=1 +txpwr2gAdcScale=1 +txpwr5gAdcScale=1 +vcodivmode=1 +vendid=0x14e4 +xtalfreq=37400 diff --git a/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt b/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt new file mode 100644 index 0000000..8dda168 --- /dev/null +++ b/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Raspberry Pi (Trading) Ltd. +# NVRAM config file for the BCM43455 WiFi/BT chip as found on the +# Raspberry Pi 4 Model B +aa2g=1 +aa5g=1 +AvVmid_c0=1,165,2,100,2,100,2,100,2,100 +boardflags=0x00480201 +boardflags2=0x40800000 +boardflags3=0x44200100 +boardrev=0x1304 +boardtype=0x6e4 +btc_mode=1 +btc_params1=0x7530 +btc_params8=0x4e20 +btc_params50=0x972c +cbfilttype=1 +cckPwrIdxCorr=3 +cckTssiDelay=150 +deadman_to=481500000 +devid=0x43ab +dot11agofdmhrbw202gpo=0x4442 +dot11b_opts=0x3aa85 +ed_thresh2g=-54 +ed_thresh5g=-54 +eu_edthresh2g=-54 +eu_edthresh5g=-54 +extpagain2g=2 +extpagain5g=2 +fdsslevel_ch11=6 +femctrl=0 +itrsw=1 +ldo1=4 +ltecxfnsel=0x22 +ltecxgcigpio=0x32 +ltecxmux=0 +ltecxpadnum=0x0504 +macaddr=b8:27:eb:74:f2:6c +manfid=0x2d0 +maxp2ga0=80 +maxp5ga0=82,82,82,82 +mcsbw202gpo=0x98444422 +mcsbw205ghpo=0xb9555000 +mcsbw205glpo=0xb9555000 +mcsbw205gmpo=0xb9555000 +mcsbw402gpo=0x98444422 +mcsbw405ghpo=0xb9555000 +mcsbw405glpo=0xb9555000 +mcsbw405gmpo=0xb9555000 +mcsbw805ghpo=0xb9555000 +mcsbw805glpo=0xb9555000 +mcsbw805gmpo=0xb9555000 +nocrc=1 +ofdmlrbw202gpo=0x0022 +ofdmTssiDelay=150 +pa2ga0=-129,6525,-718 +pa2ga1=-149,4408,-601 +pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818 +pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575 +pdoffset2g40ma0=16 +pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0 +pdoffset40ma0=0x8888 +pdoffset80ma0=0x8888 +pdoffsetcckma0=2 +phycal_tempdelta=15 +prodid=0x06e4 +rawtempsense=0x1ff +rxchain=1 +sromrev=11 +swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff +swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 +tssipos2g=1 +tssipos5g=1 +tworangetssi2g=1 +tworangetssi5g=1 +txchain=1 +txpwr2gAdcScale=1 +txpwr5gAdcScale=1 +vcodivmode=1 +vendid=0x14e4 +xtalfreq=37400 diff --git a/brcm/brcmfmac4350-pcie.bin b/brcm/brcmfmac4350-pcie.bin new file mode 100644 index 0000000..3031251 Binary files /dev/null and b/brcm/brcmfmac4350-pcie.bin differ diff --git a/brcm/brcmfmac4350c2-pcie.bin b/brcm/brcmfmac4350c2-pcie.bin new file mode 100644 index 0000000..256ded1 Binary files /dev/null and b/brcm/brcmfmac4350c2-pcie.bin differ diff --git a/brcm/brcmfmac4356-pcie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt b/brcm/brcmfmac4356-pcie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt new file mode 100644 index 0000000..39b0083 --- /dev/null +++ b/brcm/brcmfmac4356-pcie.Intel Corporation-CHERRYVIEW D1 PLATFORM.txt @@ -0,0 +1,139 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the brcmfmac4356 PCI wifi chip found on +# the Lenovo Yoga Book X90F / X90L convertible's mainboard +aa2g=3 +aa5g=3 +aga0=2 +aga1=2 +agbg0=2 +agbg1=2 +antswitch=0 +AvVmid_c0=2,140,2,145,2,145,2,145,2,145 +AvVmid_c1=2,140,2,145,2,145,2,145,2,145 +AvVmid_c2=0,0,0,0,0,0,0,0,0,0 +boardflags=0x02401201 +boardflags2=0x00802000 +boardflags3=0x4808018a +boardrev=0x1101 +boardtype=0x0732 +btc_mode=1 +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0000 +cckdigfilttype=1 +ccode=X2 +devid=0x43ec +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +dot11agofdmhrbw202gpo=0x3332 +dynamicsarctrl_2g=0xb8b8 +dynamicsarctrl_5g=0xa4a4 +epsdelta2g0=0 +epsdelta2g1=0 +extpagain2g=2 +extpagain5g=2 +femctrl=10 +ltecxmux=0x534201 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=78 +maxp2ga1=78 +maxp5ga0=80,80,80,80 +maxp5ga1=80,80,80,80 +mcsbw202gpo=0xa9755422 +mcsbw205ghpo=0xa9844443 +mcsbw205glpo=0xa9844443 +mcsbw205gmpo=0xa9844443 +mcsbw402gpo=0xa9855422 +mcsbw405ghpo=0xa9955553 +mcsbw405glpo=0xa9955553 +mcsbw405gmpo=0xa9955553 +mcsbw805ghpo=0xba955555 +mcsbw805glpo=0xba955555 +mcsbw805gmpo=0xba955555 +mcslr5ghpo=0x0000 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +nocrc=1 +ofdmfilttype=1 +ofdmlrbw202gpo=0x0022 +otpimagesize=484 +pa2ga0=-159,5988,-685 +pa2ga1=-158,6026,-687 +pa2gccka0=-128,6716,-762 +pa2gccka1=-124,6801,-767 +pa5ga0=-168,6003,-705,-175,6041,-714,-181,6102,-720,-182,6062,-717 +pa5ga1=-182,6164,-738,-185,6181,-741,-185,6217,-742,-187,6090,-730 +paprdis=0 +pdgain2g=4 +pdgain5g=4 +pdoffset40ma0=0x0000 +pdoffset40ma1=0x0000 +pdoffset80ma0=0x0000 +pdoffset80ma1=0x0000 +pdoffsetcckma0=0x0 +pdoffsetcckma1=0x0 +phy4350_ss_opt=1 +phycal_tempdelta=25 +rawtempsense=0x1ff +regrev=1 +rssicorrnorm5g_c0=3,3,3,5,5,5,9,9,9,9,9,9 +rssicorrnorm5g_c1=2,2,2,4,4,4,8,8,8,8,8,8 +rssicorrnorm_c0=3,3 +rssicorrnorm_c1=3,3 +rxchain=3 +rxgains2gelnagaina0=3 +rxgains2gelnagaina1=3 +rxgains2gtrelnabypa0=1 +rxgains2gtrelnabypa1=1 +rxgains2gtrisoa0=6 +rxgains2gtrisoa1=6 +rxgains5gelnagaina0=3 +rxgains5gelnagaina1=3 +rxgains5ghelnagaina0=3 +rxgains5ghelnagaina1=3 +rxgains5ghtrelnabypa0=1 +rxgains5ghtrelnabypa1=1 +rxgains5ghtrisoa0=6 +rxgains5ghtrisoa1=6 +rxgains5gmelnagaina0=3 +rxgains5gmelnagaina1=3 +rxgains5gmtrelnabypa0=1 +rxgains5gmtrelnabypa1=1 +rxgains5gmtrisoa0=6 +rxgains5gmtrisoa1=6 +rxgains5gtrelnabypa0=1 +rxgains5gtrelnabypa1=1 +rxgains5gtrisoa0=5 +rxgains5gtrisoa1=5 +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,0xC0300000,0x40200000,0x803020,0x0ff +swctrlmap_5g=0x00000202,0x00000101,0x00000202,0x000000,0x047 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +tempoffset=255 +temps_hysteresis=15 +temps_period=15 +tempthresh=120 +tssipos2g=1 +tssipos5g=1 +tworangetssi2g=0 +tworangetssi5g=0 +txchain=3 +vendid=0x14e4 +xtalfreq=37400 diff --git a/brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt b/brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt new file mode 100644 index 0000000..d22b603 --- /dev/null +++ b/brcm/brcmfmac4356-pcie.Xiaomi Inc-Mipad2.txt @@ -0,0 +1,137 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the brcmfmac4356 PCI wifi chip found on the Xiaomi +# Mi Pad 2 tablet's mainboard +AvVmid_c0=2,140,2,145,2,145,2,145,2,145 +AvVmid_c1=2,140,2,145,2,145,2,145,2,145 +AvVmid_c2=0,0,0,0,0,0,0,0,0,0 +aa2g=3 +aa5g=3 +aga0=2 +aga1=2 +agbg0=2 +agbg1=2 +antswitch=0 +boardflags2=0x00802000 +boardflags3=0x4800018a +boardflags=0x12401201 +boardrev=0x1101 +boardtype=0x0732 +btc_mode=1 +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0000 +cckdigfilttype=2 +ccode=X2 +devid=0x43ec +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +dot11agofdmhrbw202gpo=0x4322 +epsdelta2g0=0 +epsdelta2g1=0 +extpagain2g=2 +extpagain5g=2 +femctrl=10 +ltecxmux=0x534201 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=78 +maxp2ga1=78 +maxp5ga0=78,78,78,78 +maxp5ga1=78,78,78,78 +mcsbw202gpo=0xa9643221 +mcsbw205ghpo=0xa8643221 +mcsbw205glpo=0xa8643221 +mcsbw205gmpo=0xa8643221 +mcsbw402gpo=0xcb865443 +mcsbw405ghpo=0xa8643221 +mcsbw405glpo=0xa8643221 +mcsbw405gmpo=0xa8643221 +mcsbw805ghpo=0xa8643221 +mcsbw805glpo=0xa8643221 +mcsbw805gmpo=0xa8643221 +mcslr5ghpo=0x0000 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +nocrc=1 +ofdmfilttype=1 +ofdmlrbw202gpo=0x0011 +otpimagesize=484 +pa2ga0=0xFF8F,0x16B4,0xFD8E +pa2ga1=0xFF5E,0x17A1,0xFD45 +pa2gccka0=0xFF97,0x1917,0xFD40 +pa2gccka1=0xFF99,0x1C42,0xFCF4 +pa5ga0=0xFF41,0x16C3,0xFD38,0xFF3B,0x164F,0xFD40,0xFF46,0x16FA,0xFD32,0xFF38,0x15F3,0xFD4B +pa5ga1=0xFF48,0x17D7,0xFD21,0xFF4E,0x180A,0xFD23,0xFF4C,0x17AA,0xFD2A,0xFF55,0x17EE,0xFD31 +paprdis=0 +pdgain2g=4 +pdgain5g=4 +pdoffset40ma0=0x3333 +pdoffset40ma1=0x3333 +pdoffset80ma0=0x5555 +pdoffset80ma1=0x5555 +pdoffsetcckma0=0x0 +pdoffsetcckma1=0x0 +phy4350_ss_opt=1 +phycal_tempdelta=25 +rawtempsense=0x1ff +regrev=1 +rssicorrnorm5g_c0=1,2,3,1,2,3,1,2,3,1,2,3 +rssicorrnorm5g_c1=1,2,3,1,2,3,1,2,3,1,2,3 +rssicorrnorm_c0=4,4 +rssicorrnorm_c1=4,4 +rxchain=3 +rxgains2gelnagaina0=3 +rxgains2gelnagaina1=3 +rxgains2gtrelnabypa0=1 +rxgains2gtrelnabypa1=1 +rxgains2gtrisoa0=6 +rxgains2gtrisoa1=6 +rxgains5gelnagaina0=3 +rxgains5gelnagaina1=3 +rxgains5ghelnagaina0=3 +rxgains5ghelnagaina1=3 +rxgains5ghtrelnabypa0=1 +rxgains5ghtrelnabypa1=1 +rxgains5ghtrisoa0=6 +rxgains5ghtrisoa1=6 +rxgains5gmelnagaina0=3 +rxgains5gmelnagaina1=3 +rxgains5gmtrelnabypa0=1 +rxgains5gmtrelnabypa1=1 +rxgains5gmtrisoa0=6 +rxgains5gmtrisoa1=6 +rxgains5gtrelnabypa0=1 +rxgains5gtrelnabypa1=1 +rxgains5gtrisoa0=5 +rxgains5gtrisoa1=5 +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,0xC0300000,0x40200000,0x803020,0x0ff +swctrlmap_5g=0x00000202,0x05050000,0x01010000,0x000000,0x047 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +tempoffset=255 +temps_hysteresis=15 +temps_period=15 +tempthresh=120 +tssipos2g=1 +tssipos5g=1 +tworangetssi2g=0 +tworangetssi5g=0 +txchain=3 +vendid=0x14e4 +xtalfreq=37400 diff --git a/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt b/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt new file mode 100644 index 0000000..16254f5 --- /dev/null +++ b/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt @@ -0,0 +1,121 @@ +# SPDX-License-Identifier: GPL-2.0+ +# (C) Copyright 2018 Linaro Ltd +# NVRAM config file for the Ampak AP6356 4356 WiFi/BT module found on the +# GPD win / pocket handheld +aa2g=3 +aa5g=3 +aga0=2 +aga1=2 +agbg0=2 +agbg1=2 +antswitch=0 +boardflags2=0x00802000 +boardflags3=0x0000000a +boardflags=0x02400201 +boardrev=0x1101 +boardtype=0x073e +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0000 +ccode=X2 +devid=0x43a3 +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +dot11agofdmhrbw202gpo=0x6666 +extpagain2g=2 +extpagain5g=2 +femctrl=10 +macaddr=00:90:4c:c5:12:38 +manfid=0x2d0 +maxp2ga0=80 +maxp2ga1=80 +maxp5ga0=78,78,78,78 +maxp5ga1=78,78,78,78 +mcsbw202gpo=0x99644422 +mcsbw205ghpo=0xdc666663 +mcsbw205glpo=0x88766663 +mcsbw205gmpo=0xd8666663 +mcsbw402gpo=0x99644422 +mcsbw405ghpo=0xaa666663 +mcsbw405glpo=0x88666663 +mcsbw405gmpo=0x88666663 +mcsbw805ghpo=0xdd666665 +mcsbw805glpo=0xbb666665 +mcsbw805gmpo=0xcc666665 +mcslr5ghpo=0x0000 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +nocrc=1 +ofdmlrbw202gpo=0x0022 +otpimagesize=502 +pa2ga0=-147,6192,-705 +pa2ga1=-161,6041,-701 +pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715 +pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746 +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 +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/brcm/brcmfmac4356-sdio.AP6356S.txt b/brcm/brcmfmac4356-sdio.AP6356S.txt new file mode 100644 index 0000000..4b38c26 --- /dev/null +++ b/brcm/brcmfmac4356-sdio.AP6356S.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/brcm/brcmfmac43569.bin b/brcm/brcmfmac43569.bin new file mode 100644 index 0000000..8323536 Binary files /dev/null and b/brcm/brcmfmac43569.bin differ diff --git a/brcm/brcmfmac4358-pcie.bin b/brcm/brcmfmac4358-pcie.bin new file mode 100644 index 0000000..17bdcaf Binary files /dev/null and b/brcm/brcmfmac4358-pcie.bin differ diff --git a/brcm/brcmfmac43602-pcie.ap.bin b/brcm/brcmfmac43602-pcie.ap.bin new file mode 100644 index 0000000..b4a589d Binary files /dev/null and b/brcm/brcmfmac43602-pcie.ap.bin differ diff --git a/brcm/brcmfmac43602-pcie.bin b/brcm/brcmfmac43602-pcie.bin new file mode 100644 index 0000000..488b4c0 Binary files /dev/null and b/brcm/brcmfmac43602-pcie.bin differ diff --git a/brcm/brcmfmac4366b-pcie.bin b/brcm/brcmfmac4366b-pcie.bin new file mode 100644 index 0000000..7df6d18 Binary files /dev/null and b/brcm/brcmfmac4366b-pcie.bin differ diff --git a/brcm/brcmfmac4366c-pcie.bin b/brcm/brcmfmac4366c-pcie.bin new file mode 100644 index 0000000..fcd19ac Binary files /dev/null and b/brcm/brcmfmac4366c-pcie.bin differ diff --git a/brcm/brcmfmac4371-pcie.bin b/brcm/brcmfmac4371-pcie.bin new file mode 100644 index 0000000..8b3a51b Binary files /dev/null and b/brcm/brcmfmac4371-pcie.bin differ diff --git a/brcm/brcmfmac4373.bin b/brcm/brcmfmac4373.bin new file mode 100644 index 0000000..e85d3fd Binary files /dev/null and b/brcm/brcmfmac4373.bin differ diff --git a/cadence/mhdp8546.bin b/cadence/mhdp8546.bin new file mode 100644 index 0000000..bbb1009 Binary files /dev/null and b/cadence/mhdp8546.bin differ diff --git a/carl9170-1.fw b/carl9170-1.fw new file mode 100644 index 0000000..05c1f48 Binary files /dev/null and b/carl9170-1.fw differ diff --git a/carl9170fw/CMakeLists.txt b/carl9170fw/CMakeLists.txt new file mode 100644 index 0000000..c017bbb --- /dev/null +++ b/carl9170fw/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 2.8) + +project(carl9170) + +#if you don't want the full compiler output, remove the following line +#set(CMAKE_VERBOSE_MAKEFILE ON) + +include("config.cmake") + +add_subdirectory(carlfw) + +if (CONFIG_CARL9170FW_BUILD_MINIBOOT) + add_subdirectory(minifw) +endif (CONFIG_CARL9170FW_BUILD_MINIBOOT) + +if (CONFIG_CARL9170FW_BUILD_TOOLS) + add_subdirectory(tools) +endif (CONFIG_CARL9170FW_BUILD_TOOLS) + diff --git a/carl9170fw/COPYRIGHT b/carl9170fw/COPYRIGHT new file mode 100644 index 0000000..b1d3e77 --- /dev/null +++ b/carl9170fw/COPYRIGHT @@ -0,0 +1,19 @@ +Atheros carl9170 firmware - used by the ar9170 wireless device + +Copyright (c) 2000-2005 ZyDAS Technology Corporation +Copyright (c) 2007-2009 Atheros Communications, Inc. +Copyright (c) 2009-2011 Christian Lamparter + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. diff --git a/carl9170fw/GPL b/carl9170fw/GPL new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/carl9170fw/GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/carl9170fw/Kconfig b/carl9170fw/Kconfig new file mode 100644 index 0000000..03fd2cd --- /dev/null +++ b/carl9170fw/Kconfig @@ -0,0 +1,5 @@ +mainmenu "CARL9170 Firmware Configuration" + +source "carlfw/Kconfig" +source "minifw/Kconfig" +source "tools/Kconfig" diff --git a/carl9170fw/README b/carl9170fw/README new file mode 100644 index 0000000..230b2db --- /dev/null +++ b/carl9170fw/README @@ -0,0 +1,43 @@ +Community AR9170 Linux firmware +----------------------- + +This is the firmware for the Atheros ar9170 802.11n devices. + +To build the firmware you will need an SH-2 toolchain. +You can build your own toolchain: + +make -C toolchain + +but be aware that this will take some time and requires +about 1.2 GiB disk space. + +The resulting firmware, carl9170.fw, can be used only +with the carl9170 Linux driver. + +After getting a toolchain, you will need to get more +tools & libs: + + * gcc 4.4+ + + * gperf, bison/flex + + * cmake 2.8.0+ + + * libusb 1.0+ + + * SDL SDK 1.2.13+ + +afterwards, simply execute: + +autogen.sh + +to start the configuration and build process. + +if you want to "install" your own firmware, you can either +do this manually, or by executing: + +autogen.sh install + +This will place a copy with the right filename [adds API rev] +into /lib/firmware/[the default path on most Distributions]. + diff --git a/carl9170fw/autogen.sh b/carl9170fw/autogen.sh new file mode 100755 index 0000000..6843f19 --- /dev/null +++ b/carl9170fw/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +set -e + +case "$1" in + config) + echo "Configuring..." + pushd config + cmake . + make + popd + config/conf Kconfig + cmake . + ;; + + compile) + echo "Compile time..." + make + ;; + + install) + if [ ! -e .config ]; then + exit 1 + fi + + . ./.config + make + + echo -n "Installing firmware..." + if [ "$CONFIG_CARL9170FW_BUILD_TOOLS" = "y" ] && + [ "$CONFIG_CARL9170FW_BUILD_MINIBOOT" = "y" ]; then + echo -n "Apply miniboot..." + tools/src/miniboot a carlfw/carl9170.fw minifw/miniboot.fw + fi + + install -m 644 carlfw/carl9170.fw \ + ../carl9170-$CONFIG_CARL9170FW_RELEASE_VERSION.fw + echo "done." + ;; + + *) + $0 config + $0 compile + ;; + + +esac diff --git a/carl9170fw/carlfw/CMakeLists.txt b/carl9170fw/carlfw/CMakeLists.txt new file mode 100644 index 0000000..caf9595 --- /dev/null +++ b/carl9170fw/carlfw/CMakeLists.txt @@ -0,0 +1,67 @@ +cmake_minimum_required(VERSION 2.8) + +project(carl9170.fw) + +include("../extra/sh-elf-linux.cmake") +include("../config.cmake") + +set(CARLFW_CFLAGS_WARNING "-W -Wall -Wextra -Wunreachable-code -Winline -Wlogical-op -Wno-packed-bitfield-compat -Winit-self -Wshadow -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wformat=2 -Wcast-align -Wmissing-format-attribute -Wmissing-prototypes -Wtype-limits -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -Wnested-externs -Wdisabled-optimization -Wpointer-arith -Wvolatile-register-var -Waddress -Wbad-function-cast -Wunsafe-loop-optimizations") +set(CARLFW_CFLAGS_EXTRA "-mbitops -std=gnu99 -ffunction-sections -Wframe-larger-than=128 -Werror") +set(CARLFW_CFLAGS_DEF "-D__CARL9170FW__") +if (CONFIG_CARL9170FW_AGGRESSIVE_CFLAGS) + set(CARLFW_CFLAGS_AGGRESSIVE "-fomit-frame-pointer -fsee -frename-registers -ftree-vectorize -flto -fstrict-volatile-bitfields -fmodulo-sched") +endif (CONFIG_CARL9170FW_AGGRESSIVE_CFLAGS) + +include_directories (../include/linux ../include/shared ../include include) + +set(carl9170_main_src src/main.c src/wlan.c src/fw.c src/gpio.c + src/cmd.c src/uart.c src/dma.c src/hostif.c src/reboot.S + src/printf.c src/rf.c src/cam.c src/wol.c) + +set(carl9170_lib_src src/ashlsi3.S src/memcpy.S src/memset.S src/udivsi3_i4i-Os.S) +set(carl9170_usb_src usb/main.c usb/usb.c usb/fifo.c) + +set(carl9170_src ${carl9170_main_src} ${carl9170_lib_src} ${carl9170_usb_src}) + +set_source_files_properties(src/ashlsi3.S PROPERTIES LANGUAGE C) +set_source_files_properties(src/memcpy.S PROPERTIES LANGUAGE C) +set_source_files_properties(src/memset.S PROPERTIES LANGUAGE C) +set_source_files_properties(src/reboot.S PROPERTIES LANGUAGE C) +set_source_files_properties(src/udivsi3_i4i-Os.S PROPERTIES LANGUAGE C) + +add_executable(carl9170.elf ${carl9170_src}) + +set_target_properties(carl9170.elf PROPERTIES LINKER_LANGUAGE C) + +set_target_properties(carl9170.elf PROPERTIES COMPILE_FLAGS + " ${CARLFW_CFLAGS_DEF} ${CARLFW_CFLAGS_EXTRA} ${CARLFW_CFLAGS_AGGRESSIVE} ${CARLFW_CFLAGS_WARNING}") +set_target_properties(carl9170.elf PROPERTIES LINK_FLAGS "-Tcarl9170.lds") + + + +add_custom_target(firmware ALL) + +add_custom_command( + SOURCE carl9170.elf + COMMAND ${OBJCOPY} + ARGS --strip-unneeded -O binary -R .sram -R .eeprom -R .fwdsc carl9170.elf carl9170.bin + TARGET firmware + OUTPUTS carl9170.bin) + +add_custom_command( + SOURCE carl9170.elf + COMMAND ${OBJCOPY} + ARGS --strip-unneeded -O binary -j .fwdsc carl9170.elf carl9170.dsc + TARGET firmware + OUTPUTS carl9170.dsc) + +add_custom_command( + SOURCE firmware + TARGET firmware + COMMAND cat + ARGS "carl9170.bin" "carl9170.dsc" > "carl9170.fw" + DEPENDS carl9170.elf carl9170.bin carl9170.dsc + OUTPUTS carl9170.fw) + +SET_DIRECTORY_PROPERTIES( + PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "carl9170.fw") diff --git a/carl9170fw/carlfw/Kconfig b/carl9170fw/carlfw/Kconfig new file mode 100644 index 0000000..f42268c --- /dev/null +++ b/carl9170fw/carlfw/Kconfig @@ -0,0 +1,233 @@ +menu "General" + +config CARL9170FW_RELEASE_VERSION + int + default 1 + +menu "Selectable Hardware Options" + +choice + prompt "Receiver Max. Frame Length" + default CARL9170FW_RX_FRAME_LEN_8192 + + config CARL9170FW_RX_FRAME_LEN_4096 + bool "4096" + + config CARL9170FW_RX_FRAME_LEN_8192 + bool "8192" + + config CARL9170FW_RX_FRAME_LEN_16384 + bool "16384" + + config CARL9170FW_RX_FRAME_LEN_32768 + bool "32768" + +endchoice + +config CARL9170FW_RX_FRAME_LEN + int + default 4096 if CARL9170FW_RX_FRAME_LEN_4096 + default 8192 if CARL9170FW_RX_FRAME_LEN_8192 + default 16384 if CARL9170FW_RX_FRAME_LEN_16384 + default 32768 if CARL9170FW_RX_FRAME_LEN_32768 + +config CARL9170FW_GPIO_INTERRUPT + def_bool y + prompt "GPIO Software Interrupt" + ---help--- + When this option is enabled, the firmware will poll the GPIO + registers and reports to the driver whenever the GPIO state + has changed from a previous state. + + Note: This feature is necessary to monitor the WPS button, + if you have one on your device, then say Y. + +config CARL9170FW_SECURITY_ENGINE + def_bool y + prompt "Support Hardware Crypto Engine" + ---help--- + This options controls if the firmware will allow the driver + to program the security engine / CAM through a firmware + interface. + + Say Y. Unless you want to do the en- and decryption for + CCMP(AES), TKIP/WEP(RC4) in the application anyway. + +config CARL9170FW_RADIO_FUNCTIONS + def_bool y + prompt "Enable Firmware-supported Radio/RF functions" + ---help--- + Some PHY/RF functions (e.g.: AGC and Noise calibration) need + to be done in the firmware. + + Say Y, unless you really don't need the Radio/RF for + your project. + +endmenu + +menu "802.11 Firmware Features" + +config CARL9170FW_CAB_QUEUE + def_bool y + prompt "Support software-based Content after Beacon Queue" + ---help--- + This (software) queue is used to send any broad-/multi-cast buffered + frames after the next DTIM beacon. + + This feature is required for Accesspoint mode operation. + + Say Y. + +endmenu + +source "carlfw/usb/Kconfig" + +menu "Experimental, Unstable & Testing Extensions" + +config CARL9170FW_PRINTF + def_bool y + prompt "Advanced printf" + depends on CARL9170FW_DEBUG_UART || CARL9170FW_DEBUG_USB + ---help--- + Advanced printf (very useful for debugging purposes) + The formats supported by this implementation are: + 'd' 'u' 'c' 's' 'x' 'X' 'p'. + + Note: If this option is disabled, the firmware will be only + capable of reported _preformated_ string. + +config CARL9170FW_EXPERIMENTAL + def_bool y + prompt "Experimental Features" + +config CARL9170FW_WOL_OPTION + def_bool n + prompt "Wakeup on WLAN" + depends on CARL9170FW_EXPERIMENTAL + ---help--- + With this option enabled, the firmware can wake-up + suspended hosts... As long as they fully support + USB remote wakeup. + +config CARL9170FW_WOL + def_bool n + depends on CARL9170FW_WOL_OPTION + +config CARL9170FW_WOL_NL80211_TRIGGERS + def_bool n + prompt "Standard NL80211 wakeup triggers" + depends on CARL9170FW_WOL_OPTION + select CARL9170FW_WOL + ---help--- + Available triggers: + * Magic Packet(tm) pattern + * disconnect event + +config CARL9170FW_WOL_PROBE_REQUEST + def_bool n + prompt "Probe Request" + depends on CARL9170FW_WOL_OPTION + select CARL9170FW_WOL + ---help--- + Scan probe requests for a given SSID. + +config CARL9170FW_WOL_PROBE_REQUEST_SSID + string + prompt "Wakeup on WLAN SSID" + default "CARL9170_WAKEUP" + depends on CARL9170FW_WOL_PROBE_REQUEST + +config CARL9170FW_VIFS_NUM + default 1 + int + prompt "Number of additional pseudo virtual interfaces" + depends on CARL9170FW_EXPERIMENTAL + +config CARL9170FW_FW_MAC_RESET + def_bool y + prompt "Firmware MAC Chip recovery" + depends on CARL9170FW_EXPERIMENTAL + +config CARL9170FW_NOISY_MAC_RESET + def_bool n + prompt "Notify MAC RESET events" + depends on CARL9170FW_FW_MAC_RESET + +config CARL9170FW_BROKEN_FEATURES + def_bool n + prompt "Broken Featurs" + +config CARL9170FW_DEBUG + def_bool n + depends on CARL9170FW_BROKEN_FEATURES && CARL9170FW_PRINTF + prompt "Enable verbose debugging messages" + +config CARL9170FW_DEBUG_LED_HEARTBEAT + def_bool n + prompt "LED Heartbeat" + depends on CARL9170FW_BROKEN_FEATURES + ---help--- + This option conflicts with the application's LED code. + Also, it assumes that you have two LEDs, which is not + necessarily true. + +config CARL9170FW_DEBUG_UART + def_bool n + prompt "Pass debug messages through Highspeed UART" + depends on CARL9170FW_BROKEN_FEATURES + ---help--- + This option allows the firmware to send BUG/ERR/INFO/DBG and + hexdumps through the UART _as well_. However, first: you must + connect a working logger. + +config CARL9170FW_WATCHDOG_BUTTON + def_bool n + depends on CARL9170FW_BROKEN && CARL9170FW_GPIO_INTERRUPT + prompt "Trigger Watchdog by pressing the WPS button" + +choice CARL9170FW_UART_CLOCK + prompt "UART Clock" + depends on CARL9170FW_DEBUG_UART + default CARL9170FW_UART_CLOCK_40M + +config CARL9170FW_UART_CLOCK_25M + bool "25" + +config CARL9170FW_UART_CLOCK_40M + bool "40" + +endchoice + +config CARL9170FW_UNUSABLE + def_bool y + depends on CARL9170FW_BROKEN || CARL9170FW_DEBUG + +config CARL9170FW_USB_MODESWITCH + def_bool n + prompt "USB 1.1 / 2.0 switching support" + depends on CARL9170FW_BROKEN_FEATURES + ---help--- + Mostly implemented, but untested and some serious + doubts remain. + +config CARL9170FW_DMA_QUEUE_BUMP + def_bool n + prompt "Bump a stuck TX queue before doing a MAC reset" + depends on CARL9170FW_BROKEN_FEATURES + +menu "Build Options" +config CARL9170FW_AGGRESSIVE_CFLAGS + def_bool y + prompt "Enable aggressive size optimization" + ---help--- + This option adds several more optimization compiler flags, + which can greatly reduce the firmware size... at the expense + of machine-code readability. + + Say Y. Else the firmware might not fit onto the device! + +endmenu + +endmenu + +endmenu diff --git a/carl9170fw/carlfw/carl9170.lds b/carl9170fw/carlfw/carl9170.lds new file mode 100644 index 0000000..97dda68 --- /dev/null +++ b/carl9170fw/carlfw/carl9170.lds @@ -0,0 +1,59 @@ +/* + * The carl9170 firwmare gets copied into the device's + * Program RAM (pram), which has a size of 16K, but + * also has to accomodate the stack the device uses, + * which starts at the top of the 16k, so we pretend + * that we just have 16256 (16k - 128) of pram. + * + * This section documents some of the other areas + * mapped into the firmware processor's address space + * as well. + */ + +ENTRY(_start); + +MEMORY +{ + eeprom : ORIGIN = 0x000000, LENGTH = 1024k + sram : ORIGIN = 0x100000, LENGTH = 96k + uart : ORIGIN = 0x1c0000, LENGTH = 4k + timer : ORIGIN = 0x1c1000, LENGTH = 4k + vflash : ORIGIN = 0x1c2000, LENGTH = 4k + wlan : ORIGIN = 0x1c3000, LENGTH = 4k + pci2ahb : ORIGIN = 0x1c4000, LENGTH = 4k + security : ORIGIN = 0x1c5000, LENGTH = 4k + gpio : ORIGIN = 0x1d0000, LENGTH = 4k + memctl : ORIGIN = 0x1d1000, LENGTH = 4k + irqctl : ORIGIN = 0x1d2000, LENGTH = 4k + usb : ORIGIN = 0x1e1000, LENGTH = 4k + pta : ORIGIN = 0x1e2000, LENGTH = 4k + pram : ORIGIN = 0x200000, LENGTH = 16256 + bogus : ORIGIN = 0x300000, LENGTH = 8k +} + +SECTIONS +{ + .eeprom : { *(.eeprom*) } > eeprom + .sram : { *(.sram*) } > sram + + /* + * The ar9170 boot code will execute the code + * at address 0x04 from the loaded firmware as + * such we must ensure our starting routine + * is kept at that address. + */ + .padding : { + /* NOP NOP just in case */ + LONG(0x00090009) + } > pram + + .boot : { *(.boot) } > pram + /* anything else can be anywhere */ + + .text : { *(.text*) } > pram + .rodata : { *(.rodata*) } > pram + .bss : { *(.bss) } > pram + .data : { *(.data*) } > pram + + .fwdsc : { KEEP(*(.fwdsc)) } > bogus +} diff --git a/carl9170fw/carlfw/include/cam.h b/carl9170fw/carlfw/include/cam.h new file mode 100644 index 0000000..33afe03 --- /dev/null +++ b/carl9170fw/carlfw/include/cam.h @@ -0,0 +1,49 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * CAM (Security Engine) definitions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_CAM_H +#define __CARL9170FW_CAM_H + +#include "config.h" +#include "cmd.h" + +#ifdef CONFIG_CARL9170FW_SECURITY_ENGINE + +#define ENCRY_TYPE_START_ADDR 24 +#define DEFAULT_ENCRY_TYPE 26 +#define KEY_START_ADDR 27 +#define STA_KEY_START_ADDR 155 +#define COUNTER_START_ADDR 163 +#define STA_COUNTER_START_ADDR 165 + +/* CAM */ +#define MIC_FINISH 0x1 + +void set_key(const struct carl9170_set_key_cmd *key); +void disable_key(const struct carl9170_disable_key_cmd *key); + +#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */ + +#endif /* __CARL9170FW_CAM_H */ diff --git a/carl9170fw/carlfw/include/carl9170.h b/carl9170fw/carlfw/include/carl9170.h new file mode 100644 index 0000000..cb16415 --- /dev/null +++ b/carl9170fw/carlfw/include/carl9170.h @@ -0,0 +1,222 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Firmware context definition + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_CARL9170_H +#define __CARL9170FW_CARL9170_H + +#include "generated/autoconf.h" +#include "version.h" +#include "config.h" +#include "types.h" +#include "compiler.h" +#include "fwcmd.h" +#include "hw.h" +#include "dma.h" +#include "usb.h" +#include "cmd.h" + +struct carl9170_bar_ctx { + uint8_t ta[6]; + uint8_t ra[6]; + __le16 start_seq_num; + __le16 control; +}; + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE +enum carl9170_cab_trigger { + CARL9170_CAB_TRIGGER_EMPTY = 0, + CARL9170_CAB_TRIGGER_ARMED = BIT(0), + CARL9170_CAB_TRIGGER_DEFER = BIT(1), +}; +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + +enum carl9170_ep0_action { + CARL9170_EP0_NO_ACTION = 0, + CARL9170_EP0_STALL = BIT(0), + CARL9170_EP0_TRIGGER = BIT(1), +}; + +enum carl9170_mac_reset_state { + CARL9170_MAC_RESET_OFF = 0, + CARL9170_MAC_RESET_ARMED, + CARL9170_MAC_RESET_RESET, + CARL9170_MAC_RESET_FORCE, +}; + +enum carl9170_suspend_mode { + CARL9170_HOST_AWAKE = 0, + CARL9170_HOST_SUSPENDED, + CARL9170_AWAKE_HOST, +}; + +enum carl9170_phy_state { + CARL9170_PHY_OFF = 0, + CARL9170_PHY_ON +}; + +typedef void (*fw_desc_callback_t)(void *, const bool); + +/* + * This platform - being an odd 32-bit architecture - prefers to + * have 32-Bit variables. + */ + +struct firmware_context_struct { + /* timer / clocks */ + unsigned int ticks_per_usec; + unsigned int counter; /* main() cycles */ + + /* misc */ + unsigned int watchdog_enable; + unsigned int reboot; + unsigned int suspend_mode; + + struct { + /* Host Interface DMA queues */ + struct dma_queue up_queue; /* used to send frames to the host */ + struct dma_queue down_queue; /* stores incoming frames from the host */ + } pta; + + struct { + /* Hardware DMA queues */ + struct dma_queue tx_queue[__AR9170_NUM_TX_QUEUES]; /* wlan tx queue */ + struct dma_queue tx_retry; + struct dma_queue rx_queue; /* wlan rx queue */ + + /* tx aggregate scheduling */ + struct carl9170_tx_superframe *ampdu_prev[__AR9170_NUM_TX_QUEUES]; + + /* Hardware DMA queue unstuck/fix detection */ + unsigned int last_super_num[__AR9170_NUM_TX_QUEUES]; + struct carl9170_tx_superframe *last_super[__AR9170_NUM_TX_QUEUES]; + unsigned int mac_reset; + unsigned int soft_int; + + /* rx filter */ + unsigned int rx_filter; + + /* tx sequence control counters */ + unsigned int sequence[CARL9170_INTF_NUM]; + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + /* CAB */ + struct dma_queue cab_queue[CARL9170_INTF_NUM]; + unsigned int cab_queue_len[CARL9170_INTF_NUM]; + unsigned int cab_flush_time; + enum carl9170_cab_trigger cab_flush_trigger[CARL9170_INTF_NUM]; +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + + /* tx status */ + unsigned int tx_status_pending, + tx_status_head_idx, + tx_status_tail_idx; + struct carl9170_tx_status tx_status_cache[CARL9170_TX_STATUS_NUM]; + + /* internal descriptor for use within the service routines */ + struct dma_desc *fw_desc; + unsigned int fw_desc_available; + void *fw_desc_data; + fw_desc_callback_t fw_desc_callback; + + /* BA(R) Request Handler */ + struct carl9170_bar_ctx ba_cache[CONFIG_CARL9170FW_BACK_REQS_NUM]; + unsigned int ba_tail_idx, + ba_head_idx, + queued_ba; + + unsigned int queued_bar; + } wlan; + + struct { + unsigned int config, + interface_setting, + alternate_interface_setting, + device_feature; + enum carl9170_ep0_action ep0_action; + + void *ep0_txrx_buffer; + unsigned int ep0_txrx_len, + ep0_txrx_pos; + + struct ar9170_usb_config *cfg_desc; + struct ar9170_usb_config *os_cfg_desc; + + /* + * special buffers for command & response handling + * + * the firmware uses a sort of ring-buffer to communicate + * to the host. + */ + unsigned int int_pending, + int_desc_available, + int_head_index, + int_tail_index; + struct dma_desc *int_desc; + struct carl9170_rsp int_buf[CARL9170_INT_RQ_CACHES]; + +#ifdef CONFIG_CARL9170FW_DEBUG_USB + /* USB printf */ + unsigned int put_index; + uint8_t put_buffer[CARL9170_MAX_CMD_PAYLOAD_LEN]; +#endif /* CONFIG_CARL9170FW_DEBUG_USB */ + + } usb; + + struct { +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + /* (cached) ar9170_rf_init */ + + /* PHY/RF state */ + unsigned int frequency; + unsigned int ht_settings; + + enum carl9170_phy_state state; + struct carl9170_psm psm; +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + } phy; + + unsigned int tally_clock; + struct carl9170_tally_rsp tally; + unsigned int tx_time; + +#ifdef CONFIG_CARL9170FW_WOL + struct { + struct carl9170_wol_cmd cmd; + unsigned int last_beacon; + unsigned int lost_null; + unsigned int last_null; + bool wake_up; + } wol; +#endif /* CONFIG_CARL9170FW_WOL */ + +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT + struct carl9170_gpio cached_gpio_state; +#endif /*CONFIG_CARL9170FW_GPIO_INTERRUPT */ +}; + +/* + * global firmware context struct. + * + * NOTE: This struct will zeroed out in start() + */ +extern struct firmware_context_struct fw; +#endif /* __CARL9170FW_CARL9170_H */ diff --git a/carl9170fw/carlfw/include/cmd.h b/carl9170fw/carlfw/include/cmd.h new file mode 100644 index 0000000..54dd350 --- /dev/null +++ b/carl9170fw/carlfw/include/cmd.h @@ -0,0 +1,55 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Firmware command interface definition + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_CMD_H +#define __CARL9170FW_CMD_H + +#include "config.h" +#include "compiler.h" +#include "types.h" + +#include "fwcmd.h" + +static inline void __check(void) +{ + BUILD_BUG_ON(sizeof(struct carl9170_cmd) != CARL9170_MAX_CMD_LEN); + BUILD_BUG_ON(sizeof(struct carl9170_rsp) != CARL9170_MAX_CMD_LEN); + BUILD_BUG_ON(sizeof(struct carl9170_set_key_cmd) != CARL9170_SET_KEY_CMD_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_disable_key_cmd) != CARL9170_DISABLE_KEY_CMD_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_rf_init) != CARL9170_RF_INIT_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_rf_init_result) != CARL9170_RF_INIT_RESULT_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_psm) != CARL9170_PSM_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_tsf_rsp) != CARL9170_TSF_RSP_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_bcn_ctrl_cmd) != CARL9170_BCN_CTRL_CMD_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_tx_status) != CARL9170_TX_STATUS_SIZE); + BUILD_BUG_ON(sizeof(struct _carl9170_tx_status) != CARL9170_TX_STATUS_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_gpio) != CARL9170_GPIO_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_rx_filter_cmd) != CARL9170_RX_FILTER_CMD_SIZE); + BUILD_BUG_ON(sizeof(struct carl9170_wol_cmd) != CARL9170_WOL_CMD_SIZE); +} + +void handle_cmd(struct carl9170_rsp *resp); + +#endif /* __CARL9170FW_CMD_H */ diff --git a/carl9170fw/carlfw/include/config.h b/carl9170fw/carlfw/include/config.h new file mode 100644 index 0000000..e7c358d --- /dev/null +++ b/carl9170fw/carlfw/include/config.h @@ -0,0 +1,64 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "generated/autoconf.h" +#include "version.h" +#include "types.h" +#include "compiler.h" +#include "fwcmd.h" +#include "hw.h" + +#ifndef __CARL9170FW_CONFIG_H +#define __CARL9170FW_CONFIG_H + +#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) + +#if GCC_VERSION < 40400 +# error "This firmware will not work if it is compiled with gcc versions < 4.4" +# error "See: http://gcc.gnu.org/gcc-4.4/changes.html / Caveats No. 4" +#endif + +#if ((defined CONFIG_CARL9170FW_PRINTF) && \ + (!defined CONFIG_CARL9170FW_DEBUG_USB) && \ + (!defined CONFIG_CARL9170FW_DEBUG_UART)) +# warning "You have disabled all debug message transports." +# warning "However CONFIG_CARL9170FW_PRINTF is still set..." +# warning "Which is a waste of firmware space, if you ask me." +#endif + +#define CARL9170_TX_STATUS_NUM (CARL9170_RSP_TX_STATUS_NUM) +#define CARL9170_INT_RQ_CACHES 16 +#define AR9170_INT_MAGIC_HEADER_SIZE 12 +#define CARL9170_TBTT_DELTA (CARL9170_PRETBTT_KUS + 1) + +#define CARL9170_GPIO_MASK (AR9170_GPIO_PORT_WPS_BUTTON_PRESSED) + +#ifdef CONFIG_CARL9170FW_VIFS_NUM +#define CARL9170_INTF_NUM (1 + CONFIG_CARL9170FW_VIFS_NUM) +#else +#define CARL9170_INTF_NUM (1) +#endif /* CONFIG_CARL9170FW_VIFS_NUM */ + +#define CONFIG_CARL9170FW_BACK_REQS_NUM 4 + +static inline void __config_check(void) +{ + BUILD_BUG_ON(!CARL9170_TX_STATUS_NUM); + BUILD_BUG_ON(CARL9170_INTF_NUM < 1); + BUILD_BUG_ON(CARL9170_INTF_NUM >= AR9170_MAX_VIRTUAL_MAC); +} + +#endif /* __CARL9170FW_CONFIG_H */ diff --git a/carl9170fw/carlfw/include/dma.h b/carl9170fw/carlfw/include/dma.h new file mode 100644 index 0000000..8f3a9df --- /dev/null +++ b/carl9170fw/carlfw/include/dma.h @@ -0,0 +1,349 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * This module contains DMA descriptor related definitions. + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_DMA_H +#define __CARL9170FW_DMA_H + +#include "config.h" +#include "types.h" +#include "compiler.h" +#include "hw.h" +#include "ieee80211.h" +#include "wlan.h" + +struct dma_desc { + volatile uint16_t status; /* Descriptor status */ + volatile uint16_t ctrl; /* Descriptor control */ + volatile uint16_t dataSize; /* Data size */ + volatile uint16_t totalLen; /* Total length */ + struct dma_desc *lastAddr; /* Last address of this chain */ + union { + uint8_t *_dataAddr; /* Data buffer address */ + void *dataAddr; + } __packed; + struct dma_desc *nextAddr; /* Next TD address */ +} __packed __aligned(4); + +/* Up, Dn, 5x Tx, retry, Rx, [USB Int], (CAB), FW */ +#define AR9170_TERMINATOR_NUMBER_B 10 + +#define AR9170_TERMINATOR_NUMBER_INT 1 + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE +#define AR9170_TERMINATOR_NUMBER_CAB CARL9170_INTF_NUM +#else +#define AR9170_TERMINATOR_NUMBER_CAB 0 +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + +#define AR9170_TERMINATOR_NUMBER (AR9170_TERMINATOR_NUMBER_B + \ + AR9170_TERMINATOR_NUMBER_INT + \ + AR9170_TERMINATOR_NUMBER_CAB) + +#define AR9170_BLOCK_SIZE (256 + 64) + +#define AR9170_DESCRIPTOR_SIZE (sizeof(struct dma_desc)) + +struct ar9170_tx_ba_frame { + struct ar9170_tx_hwdesc hdr; + struct ieee80211_ba ba; +} __packed; + +struct carl9170_tx_ba_superframe { + struct carl9170_tx_superdesc s; + struct ar9170_tx_ba_frame f; +} __packed; + +struct ar9170_tx_null_frame { + struct ar9170_tx_hwdesc hdr; + struct ieee80211_hdr null; +} __packed; + +struct carl9170_tx_null_superframe { + struct carl9170_tx_superdesc s; + struct ar9170_tx_null_frame f; +} __packed; + +#define CARL9170_BA_BUFFER_LEN (__roundup(sizeof(struct carl9170_tx_ba_superframe), 16)) +#define CARL9170_RSP_BUFFER_LEN AR9170_BLOCK_SIZE + +struct carl9170_sram_reserved { + union { + uint32_t buf[CARL9170_BA_BUFFER_LEN / sizeof(uint32_t)]; + struct carl9170_tx_ba_superframe ba; + } ba; + + union { + uint32_t buf[CARL9170_MAX_CMD_LEN / sizeof(uint32_t)]; + struct carl9170_cmd cmd; + +#ifdef CONFIG_CARL9170FW_WOL + struct carl9170_tx_null_superframe null; +#endif /* CONFIG_CARL9170FW_WOL */ + } cmd; + + union { + uint32_t buf[CARL9170_RSP_BUFFER_LEN / sizeof(uint32_t)]; + struct carl9170_rsp rsp; + } rsp; + + union { + uint32_t buf[CARL9170_INTF_NUM][AR9170_MAC_BCN_LENGTH_MAX / sizeof(uint32_t)]; + } bcn; +}; + +/* + * Memory layout in RAM: + * + * 0x100000 +-- + * | terminator descriptors (dma_desc) + * | - Up (to USB host) + * | - Down (from USB host) + * | - TX (5x, to wifi) + * | - AMPDU TX retry + * | - RX (from wifi) + * | - CAB Queue + * | - FW cmd & req descriptor + * | - BlockAck descriptor + * | total: AR9170_TERMINATOR_NUMBER + * +-- + * | block descriptors (dma_desc) + * | (AR9170_BLOCK_NUMBER) + * AR9170_BLOCK_BUFFER_BASE +-- align to multiple of 64 + * | block buffers (AR9170_BLOCK_SIZE each) + * | (AR9170_BLOCK_NUMBER) + * approx. 0x117c00 +-- + * | BA buffer (128 bytes) + * +-- + * | CMD buffer (128 bytes) + * | - used as NULLFRAME buffer (128 bytes) for WOL + * +-- + * | RSP buffer (320 bytes) + * +-- + * | BEACON buffer (256 bytes) + * +-- + * | unaccounted space / padding + * +-- + * 0x18000 + */ + +#define CARL9170_SRAM_RESERVED (sizeof(struct carl9170_sram_reserved)) + +#define AR9170_FRAME_MEMORY_SIZE (AR9170_SRAM_SIZE - CARL9170_SRAM_RESERVED) + +#define BLOCK_ALIGNMENT 64 + +#define NONBLOCK_DESCRIPTORS_SIZE \ + (AR9170_DESCRIPTOR_SIZE * (AR9170_TERMINATOR_NUMBER)) + +#define NONBLOCK_DESCRIPTORS_SIZE_ALIGNED \ + (ALIGN(NONBLOCK_DESCRIPTORS_SIZE, BLOCK_ALIGNMENT)) + +#define AR9170_BLOCK_NUMBER ((AR9170_FRAME_MEMORY_SIZE - NONBLOCK_DESCRIPTORS_SIZE_ALIGNED) / \ + (AR9170_BLOCK_SIZE + AR9170_DESCRIPTOR_SIZE)) + +struct ar9170_data_block { + uint8_t data[AR9170_BLOCK_SIZE]; +}; + +struct ar9170_dma_memory { + struct dma_desc terminator[AR9170_TERMINATOR_NUMBER]; + struct dma_desc block[AR9170_BLOCK_NUMBER]; + struct ar9170_data_block data[AR9170_BLOCK_NUMBER] __aligned(BLOCK_ALIGNMENT); + struct carl9170_sram_reserved reserved __aligned(BLOCK_ALIGNMENT); +}; + +extern struct ar9170_dma_memory dma_mem; + +#define AR9170_DOWN_BLOCK_RATIO 2 +#define AR9170_RX_BLOCK_RATIO 1 +/* Tx 16*2 = 32 packets => 32*(5*320) */ +#define AR9170_TX_BLOCK_NUMBER (AR9170_BLOCK_NUMBER * AR9170_DOWN_BLOCK_RATIO / \ + (AR9170_RX_BLOCK_RATIO + AR9170_DOWN_BLOCK_RATIO)) +#define AR9170_RX_BLOCK_NUMBER (AR9170_BLOCK_NUMBER - AR9170_TX_BLOCK_NUMBER) + +/* Error code */ +#define AR9170_ERR_FS_BIT 1 +#define AR9170_ERR_LS_BIT 2 +#define AR9170_ERR_OWN_BITS 3 +#define AR9170_ERR_DATA_SIZE 4 +#define AR9170_ERR_TOTAL_LEN 5 +#define AR9170_ERR_DATA 6 +#define AR9170_ERR_SEQ 7 +#define AR9170_ERR_LEN 8 + +/* Status bits definitions */ +/* Own bits definitions */ +#define AR9170_OWN_BITS 0x3 +#define AR9170_OWN_BITS_S 0 +#define AR9170_OWN_BITS_SW 0x0 +#define AR9170_OWN_BITS_HW 0x1 +#define AR9170_OWN_BITS_SE 0x2 + +/* Control bits definitions */ +#define AR9170_CTRL_TXFAIL 1 +#define AR9170_CTRL_BAFAIL 2 +#define AR9170_CTRL_FAIL (AR9170_CTRL_TXFAIL | AR9170_CTRL_BAFAIL) + +/* First segament bit */ +#define AR9170_CTRL_LS_BIT 0x100 +/* Last segament bit */ +#define AR9170_CTRL_FS_BIT 0x200 + +struct dma_queue { + struct dma_desc *head; + struct dma_desc *terminator; +}; + +#define DESC_PAYLOAD(a) ((void *)a->dataAddr) +#define DESC_PAYLOAD_OFF(a, offset) ((void *)((unsigned long)(a->_dataAddr) + offset)) + +struct dma_desc *dma_unlink_head(struct dma_queue *queue); +void dma_init_descriptors(void); +void dma_reclaim(struct dma_queue *q, struct dma_desc *desc); +void dma_put(struct dma_queue *q, struct dma_desc *desc); + +static inline __inline bool is_terminator(struct dma_queue *q, struct dma_desc *desc) +{ + return q->terminator == desc; +} + +static inline __inline bool queue_empty(struct dma_queue *q) +{ + return q->head == q->terminator; +} + +/* + * Get a completed packet with # descriptors. Return the first + * descriptor and pointer the head directly by lastAddr->nextAddr + */ +static inline __inline struct dma_desc *dma_dequeue_bits(struct dma_queue *q, + uint16_t bits) +{ + struct dma_desc *desc = NULL; + + if ((q->head->status & AR9170_OWN_BITS) == bits) + desc = dma_unlink_head(q); + + return desc; +} + +static inline __inline struct dma_desc *dma_dequeue_not_bits(struct dma_queue *q, + uint16_t bits) +{ + struct dma_desc *desc = NULL; + + /* AR9170_OWN_BITS_HW will be filtered out here too. */ + if ((q->head->status & AR9170_OWN_BITS) != bits) + desc = dma_unlink_head(q); + + return desc; +} + +#define for_each_desc_bits(desc, queue, bits) \ + while ((desc = dma_dequeue_bits(queue, bits))) + +#define for_each_desc_not_bits(desc, queue, bits) \ + while ((desc = dma_dequeue_not_bits(queue, bits))) + +#define for_each_desc(desc, queue) \ + while ((desc = dma_unlink_head(queue))) + +#define __for_each_desc_bits(desc, queue, bits) \ + for (desc = (queue)->head; \ + (desc != (queue)->terminator && \ + (desc->status & AR9170_OWN_BITS) == bits); \ + desc = desc->lastAddr->nextAddr) + +#define __while_desc_bits(desc, queue, bits) \ + for (desc = (queue)->head; \ + (!queue_empty(queue) && \ + (desc->status & AR9170_OWN_BITS) == bits); \ + desc = (queue)->head) + +#define __for_each_desc_continue(desc, queue) \ + for (; desc != (queue)->terminator; \ + desc = (desc)->lastAddr->nextAddr) + +#define __for_each_desc(desc, queue) \ + for (desc = (queue)->head; \ + desc != (queue)->terminator; \ + desc = (desc)->lastAddr->nextAddr) + +#define __for_each_desc_safe(desc, tmp, queue) \ + for (desc = (queue)->head, tmp = desc->lastAddr->nextAddr; \ + desc != (queue)->terminator; \ + desc = tmp, tmp = tmp->lastAddr->nextAddr) + +#define __while_subdesc(desc, queue) \ + for (desc = (queue)->head; \ + desc != (queue)->terminator; \ + desc = (desc)->nextAddr) + +static inline __inline unsigned int queue_len(struct dma_queue *q) +{ + struct dma_desc *desc; + unsigned int i = 0; + + __while_subdesc(desc, q) + i++; + + return i; +} + +/* + * rearm a completed packet, so it will be processed agian. + */ +static inline __inline void dma_rearm(struct dma_desc *desc) +{ + /* Set OWN bit to HW */ + desc->status = ((desc->status & (~AR9170_OWN_BITS)) | + AR9170_OWN_BITS_HW); +} + +static inline __inline void dma_fix_downqueue(struct dma_desc *desc) +{ + desc->status = AR9170_OWN_BITS_HW; + desc->ctrl = 0; + desc->dataSize = 0; + desc->totalLen = AR9170_BLOCK_SIZE; + desc->lastAddr = desc; +} + +static inline void __check_desc(void) +{ + struct ar9170_dma_memory mem; + BUILD_BUG_ON(sizeof(struct ar9170_data_block) != AR9170_BLOCK_SIZE); + BUILD_BUG_ON(sizeof(struct dma_desc) != 20); + + BUILD_BUG_ON(sizeof(mem) > AR9170_SRAM_SIZE); + + BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, ba.buf) & (BLOCK_ALIGNMENT - 1)); + BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, cmd.buf) & (BLOCK_ALIGNMENT - 1)); + BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, rsp.buf) & (BLOCK_ALIGNMENT - 1)); + BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, bcn.buf) & (BLOCK_ALIGNMENT - 1)); + BUILD_BUG_ON(sizeof(struct carl9170_tx_null_superframe) > CARL9170_MAX_CMD_LEN); +} + +#endif /* __CARL9170FW_DMA_H */ diff --git a/carl9170fw/carlfw/include/fwdsc.h b/carl9170fw/carlfw/include/fwdsc.h new file mode 100644 index 0000000..936bfed --- /dev/null +++ b/carl9170fw/carlfw/include/fwdsc.h @@ -0,0 +1,50 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Firmware definition + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_FWDSC_H +#define __CARL9170FW_FWDSC_H + +#include "config.h" +#include "compiler.h" +#include "types.h" +#include "fwdesc.h" + +struct carl9170_firmware_descriptor { + struct carl9170fw_otus_desc otus; + struct carl9170fw_txsq_desc txsq; +#ifdef CONFIG_CARL9170FW_WOL + struct carl9170fw_wol_desc wol; +#endif /* CONFIG_CARL9170FW_WOL */ + struct carl9170fw_motd_desc motd; + struct carl9170fw_dbg_desc dbg; + struct carl9170fw_last_desc last; +} __packed; + +extern const struct carl9170_firmware_descriptor carl9170fw_desc; + +static inline void __check_fw(void) +{ + BUILD_BUG_ON(sizeof(carl9170fw_desc) & 0x3); + BUILD_BUG_ON(sizeof(carl9170fw_desc) > CARL9170FW_DESC_MAX_LENGTH); +} + +#endif /* __CARL9170FW_FWDSC_H */ diff --git a/carl9170fw/carlfw/include/gpio.h b/carl9170fw/carlfw/include/gpio.h new file mode 100644 index 0000000..97c1927 --- /dev/null +++ b/carl9170fw/carlfw/include/gpio.h @@ -0,0 +1,45 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * GPIO definitions + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_GPIO_H +#define __CARL9170FW_GPIO_H + +#include "config.h" +#include "hw.h" +#include "io.h" + +static inline __inline void led_init(void) +{ + set(AR9170_GPIO_REG_PORT_TYPE, 3); +} + +static inline __inline void led_set(const unsigned int ledstate) +{ + set(AR9170_GPIO_REG_PORT_DATA, ledstate); +} + +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT + +void gpio_timer(void); + +#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ +#endif /* __CARL9170FW_GPIO_H */ diff --git a/carl9170fw/carlfw/include/hostif.h b/carl9170fw/carlfw/include/hostif.h new file mode 100644 index 0000000..8f9f139 --- /dev/null +++ b/carl9170fw/carlfw/include/hostif.h @@ -0,0 +1,47 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * HostIF definition + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_HOSTIF_H +#define __CARL9170FW_HOSTIF_H + +#include "config.h" +#include "compiler.h" +#include "types.h" +#include "hw.h" +#include "io.h" + +static inline __inline void down_trigger(void) +{ + set(AR9170_PTA_REG_DN_DMA_TRIGGER, 1); +} + +static inline __inline void up_trigger(void) +{ + set(AR9170_PTA_REG_UP_DMA_TRIGGER, 1); +} + +void handle_host_interface(void); + +#endif /* __CARL9170FW_HOSTIF_H */ diff --git a/carl9170fw/carlfw/include/io.h b/carl9170fw/carlfw/include/io.h new file mode 100644 index 0000000..4ccdc6e --- /dev/null +++ b/carl9170fw/carlfw/include/io.h @@ -0,0 +1,153 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_IO_H +#define __CARL9170FW_IO_H + +#include "config.h" +#include "types.h" +#include "compiler.h" + +static inline __inline uint8_t readb(const volatile void *addr) +{ + return *(const volatile uint8_t *) addr; +} + +static inline __inline uint16_t readw(const volatile void *addr) +{ + return *(const volatile uint16_t *) addr; +} + +static inline __inline volatile void *readp(const volatile void *addr) +{ + return *(volatile void **) addr; +} + +static inline __inline uint32_t readl(const volatile void *addr) +{ + return *(const volatile unsigned int *) addr; +} + +static inline __inline void writeb(volatile void *addr, const volatile uint8_t val) +{ + *(volatile uint8_t *) addr = val; +} + +static inline __inline void writew(volatile void *addr, const volatile uint16_t val) +{ + *(volatile uint16_t *) addr = val; +} + +static inline __inline void writel(volatile void *addr, const volatile uint32_t val) +{ + *(volatile uint32_t *) addr = val; +} + +static inline __inline void __orl(volatile void *addr, const volatile uint32_t val) +{ + *(volatile uint32_t *) addr |= val; +} + +static inline __inline void __andl(volatile void *addr, const volatile uint32_t val) +{ + *(volatile uint32_t *) addr &= val; +} + +static inline __inline void __xorl(volatile void *addr, const volatile uint32_t val) +{ + *(volatile uint32_t *) addr ^= val; +} + +static inline __inline void __incl(volatile void *addr) +{ + (*(volatile uint32_t *)addr)++; +} + +static inline __inline uint32_t readl_async(const volatile void *addr) +{ + uint32_t i = 0, read, tmp; + + read = readl(addr); + do { + tmp = read; + tmp = readl(addr); + i++; + } while (tmp != read && i <= 10); + + return read; +} + +static inline __inline void set(const volatile uint32_t addr, const volatile uint32_t val) +{ + writel((volatile void *) addr, val); +} + +static inline __inline void orl(volatile uint32_t addr, const volatile uint32_t val) +{ + __orl((volatile void *) addr, val); +} + +static inline __inline void xorl(const volatile uint32_t addr, const volatile uint32_t val) +{ + __xorl((volatile void *) addr, val); +} + +static inline __inline void andl(const volatile uint32_t addr, const volatile uint32_t val) +{ + __andl((volatile void *) addr, val); +} + +static inline __inline void incl(const volatile uint32_t addr) +{ + __incl((volatile void *) addr); +} + +static inline __inline uint32_t get(const volatile uint32_t addr) +{ + return readl((volatile void *) addr); +} + +static inline __inline volatile void *getp(const volatile uint32_t addr) +{ + return readp((const volatile void *) addr); +} + +static inline __inline uint32_t get_async(const volatile uint32_t addr) +{ + return readl_async((const volatile void *) addr); +} + +static inline __inline void setb(const volatile uint32_t addr, const volatile uint8_t val) +{ + writeb((volatile void *) addr, val); +} + +static inline __inline uint8_t getb(const volatile uint32_t addr) +{ + return readb((const volatile void *) addr); +} + +static inline __inline void andb(const volatile uint32_t addr, const volatile uint8_t val) +{ + setb(addr, getb(addr) & val); +} + +static inline __inline void orb(const volatile uint32_t addr, const volatile uint32_t val) +{ + setb(addr, getb(addr) | val); +} + +#endif /* __CARL9170FW_IO_H */ diff --git a/carl9170fw/carlfw/include/printf.h b/carl9170fw/carlfw/include/printf.h new file mode 100644 index 0000000..dd4559e --- /dev/null +++ b/carl9170fw/carlfw/include/printf.h @@ -0,0 +1,107 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * printf and his friends... + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_PRINTF_H +#define __CARL9170FW_PRINTF_H + +#include +#include +#include "config.h" +#include "carl9170.h" +#include "uart.h" +#include "fwcmd.h" + +#ifdef CONFIG_CARL9170FW_PRINTF +void __attribute__((format (printf, 1, 2))) tfp_printf(const char *fmt, ...); + +#define printf tfp_printf + +#else +void __attribute__((format (printf, 1, 2))) min_printf(const char *fmt, ...); + +#define printf min_printf +#endif /* CONFIG_CARL9170FW_PRINTF */ + +#define PRINT(fmt, args...) \ + do { \ + printf(fmt, ## args); \ + } while (0) + +#define INFO(fmt, args...) PRINT(fmt, ## args) + +#define ERR(fmt, args...) PRINT(CARL9170_ERR_MAGIC fmt, ## args) + +#ifdef CONFIG_CARL9170FW_DEBUG +#define DBG(fmt, args...) PRINT(fmt, ## args) +#else +#define DBG(...) do { } while (0); +#endif + +/* + * NB: even though the MACRO is called "stall". It isn't supposed + * to stall since this will render the device unresponsive, until + * someone pulls the plug. + */ +#define STALL() + +#define BUG(fmt, args...) \ + do { \ + PRINT(CARL9170_BUG_MAGIC" %s()@%d \"" fmt "\"" , \ + __func__, __LINE__, ## args); \ + STALL() \ + } while (0); + +#define BUG_ON(condition) \ + ({ \ + int __ret = !!(condition); \ + if (unlikely(!!(__ret))) \ + BUG(#condition); \ + (__ret); \ + }) + +static inline __inline void putcharacter(const char c __unused) +{ +#ifdef CONFIG_CARL9170FW_DEBUG_USB + usb_putc(c); +#endif /* CONFIG_CARL9170FW_DEBUG_USB */ + +#ifdef CONFIG_CARL9170FW_DEBUG_UART + uart_putc(c); +#endif /* CONFIG_CARL9170FW_DEBUG_UART */ +} + +static inline __inline void print_hex_dump(const void *buf __unused, int len __unused) +{ +#ifdef CONFIG_CARL9170FW_DEBUG_USB + usb_print_hex_dump(buf, len); +#endif /* CONFIG_CARL9170FW_DEBUG_USB */ + +#ifdef CONFIG_CARL9170FW_DEBUG_UART + uart_print_hex_dump(buf, len); +#endif /* CONFIG_CARL9170FW_DEBUG_UART */ +} + +#endif /* __CARL9170FW_PRINTF_H */ + diff --git a/carl9170fw/carlfw/include/rf.h b/carl9170fw/carlfw/include/rf.h new file mode 100644 index 0000000..4419bcb --- /dev/null +++ b/carl9170fw/carlfw/include/rf.h @@ -0,0 +1,37 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * RF routine definitions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_RF_H +#define __CARL9170FW_RF_H + +#include "config.h" + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS +void rf_notify_set_channel(void); +void rf_cmd(const struct carl9170_cmd *cmd, struct carl9170_rsp *resp); +void rf_psm(void); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + +#endif /* __CARL9170FW_RF_H */ diff --git a/carl9170fw/carlfw/include/rom.h b/carl9170fw/carlfw/include/rom.h new file mode 100644 index 0000000..922c5c8 --- /dev/null +++ b/carl9170fw/carlfw/include/rom.h @@ -0,0 +1,82 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * ROM layout + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_ROM_H +#define __CARL9170FW_ROM_H + +#include "types.h" +#include "config.h" +#include "compiler.h" +#include "usb.h" +#include "eeprom.h" + +struct ar9170_hwtype { + /* 0x00001370 */ + uint8_t data[4]; + + /* 0x00001374 */ + struct ar9170_led_mode led_mode[AR9170_NUM_LEDS]; + + /* 0x00001378 */ + uint8_t nulldata[2]; + + struct { + /* 0x0000137a */ + struct usb_device_descriptor device_desc; + + /* 0x0000138c */ + uint8_t string0_desc[4]; + + /* 0x00001390 */ + uint8_t string1_desc[32]; + + /* 0x000013b0 */ + uint8_t string2_desc[48]; + + /* 0x000013e0 */ + uint8_t string3_desc[32]; + } usb; +} __packed; + +struct ar9170_rom { + /* 0x00000000 */ + uint32_t *irq_table[2]; + + /* 0x00000008 */ + uint8_t bootcode[4968]; + + /* 0x00001370 */ + struct ar9170_hwtype hw; + + /* 0x00001400 */ + uint8_t data[512]; + + /* eeprom */ + struct ar9170_eeprom sys; +} __packed; + +static const struct ar9170_rom rom __section(eeprom); + +#endif /* __CARL9170FW_ROM_H */ diff --git a/carl9170fw/carlfw/include/timer.h b/carl9170fw/carlfw/include/timer.h new file mode 100644 index 0000000..1c1c6cd --- /dev/null +++ b/carl9170fw/carlfw/include/timer.h @@ -0,0 +1,88 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Clock, Timer & Timing + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_TIMER_H +#define __CARL9170FW_TIMER_H + +#include "config.h" + +enum cpu_clock_t { + AHB_40MHZ_OSC = 0, + AHB_20_22MHZ = 1, + AHB_40_44MHZ = 2, + AHB_80_88MHZ = 3 +}; + +static inline __inline uint32_t get_clock_counter(void) +{ + return (get(AR9170_TIMER_REG_CLOCK_HIGH) << 16) | get(AR9170_TIMER_REG_CLOCK_LOW); +} + +/* + * works only up to 97 secs [44 MHz] or 107 secs for 40 MHz + * Also, the delay wait will be affected by 2.4GHz<->5GHz + * band changes. + */ +static inline __inline bool is_after_msecs(const uint32_t t0, const uint32_t msecs) +{ + return ((get_clock_counter() - t0) / 1000) > (msecs * fw.ticks_per_usec); +} + +/* + * Note: Be careful with [u]delay. They won't service the + * hardware watchdog timer. It might trigger if you + * wait long enough. Also they don't terminate if sec is + * above 97 sec [44MHz] or more than 107 sec [40MHz]. + */ +static inline __inline void delay(const uint32_t msec) +{ + uint32_t t1, t2, dt, wt; + + wt = msec * fw.ticks_per_usec; + + t1 = get_clock_counter(); + while (1) { + t2 = get_clock_counter(); + dt = (t2 - t1) / 1000; + if (dt >= wt) + break; + } +} + +static inline __inline void udelay(const uint32_t usec) +{ + uint32_t t1, t2, dt; + + t1 = get_clock_counter(); + while (1) { + t2 = get_clock_counter(); + dt = (t2 - t1); + if (dt >= (usec * fw.ticks_per_usec)) + break; + } +} + +void clock_set(enum cpu_clock_t _clock, bool on); +#endif /* __CARL9170FW_TIMER_H */ diff --git a/carl9170fw/carlfw/include/uart.h b/carl9170fw/carlfw/include/uart.h new file mode 100644 index 0000000..1cfa29d --- /dev/null +++ b/carl9170fw/carlfw/include/uart.h @@ -0,0 +1,37 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * UART functions definition + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_UART_H +#define __CARL9170FW_UART_H + +#include "config.h" + +#ifdef CONFIG_CARL9170FW_DEBUG_UART +void uart_putc(const char c); +void uart_print_hex_dump(const void *buf, const int len); +void uart_init(void); +#endif /* CONFIG_CARL9170FW_DEBUG_UART */ + +#endif /* __CARL9170FW_UART_H */ diff --git a/carl9170fw/carlfw/include/usb.h b/carl9170fw/carlfw/include/usb.h new file mode 100644 index 0000000..cea1d4d --- /dev/null +++ b/carl9170fw/carlfw/include/usb.h @@ -0,0 +1,191 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * USB definitions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_USB_H +#define __CARL9170FW_USB_H + +#include "config.h" +#include "types.h" +#include "io.h" +#include "hw.h" +#include "ch9.h" + +struct ar9170_usb_config { + struct usb_config_descriptor cfg; + struct usb_interface_descriptor intf; + struct usb_endpoint_descriptor ep[AR9170_USB_NUM_EXTRA_EP]; +} __packed; + +static inline __inline bool usb_detect_highspeed(void) +{ + return !!(getb(AR9170_USB_REG_MAIN_CTRL) & + AR9170_USB_MAIN_CTRL_HIGHSPEED); +} + +static inline __inline bool usb_configured(void) +{ + return !!(getb(AR9170_USB_REG_DEVICE_ADDRESS) & + AR9170_USB_DEVICE_ADDRESS_CONFIGURE); +} + +static inline __inline void usb_enable_remote_wakeup(void) +{ + orb(AR9170_USB_REG_MAIN_CTRL, AR9170_USB_MAIN_CTRL_REMOTE_WAKEUP); +} + +static inline __inline void usb_disable_remote_wakeup(void) +{ + andb(AR9170_USB_REG_MAIN_CTRL, ~AR9170_USB_MAIN_CTRL_REMOTE_WAKEUP); +} + +static inline __inline void usb_enable_global_int(void) +{ + orb(AR9170_USB_REG_MAIN_CTRL, AR9170_USB_MAIN_CTRL_ENABLE_GLOBAL_INT); +} + +static inline __inline void usb_trigger_out(void) +{ + andb(AR9170_USB_REG_INTR_MASK_BYTE_4, + (uint8_t) ~AR9170_USB_INTR_DISABLE_OUT_INT); +} + +static inline __inline void usb_reset_out(void) +{ + orb(AR9170_USB_REG_INTR_MASK_BYTE_4, AR9170_USB_INTR_DISABLE_OUT_INT); +} + +static inline __inline void usb_trigger_in(void) +{ + andb(AR9170_USB_REG_INTR_MASK_BYTE_6, ~AR9170_USB_INTR_DISABLE_IN_INT); +} + +static inline __inline void usb_reset_in(void) +{ + orb(AR9170_USB_REG_INTR_MASK_BYTE_6, AR9170_USB_INTR_DISABLE_IN_INT); +} + +static inline __inline void usb_ep3_xfer_done(void) +{ + orb(AR9170_USB_REG_EP3_BYTE_COUNT_HIGH, 0x08); +} + +static inline __inline void usb_suspend_ack(void) +{ + /* + * uP must do-over everything it should handle + * and do before into the suspend mode + */ + andb(AR9170_USB_REG_INTR_SOURCE_7, ~BIT(2)); +} + +static inline __inline void usb_resume_ack(void) +{ + /* + * uP must do-over everything it should handle + * and do before into the suspend mode + */ + + andb(AR9170_USB_REG_INTR_SOURCE_7, ~BIT(3)); +} + +static inline __inline void usb_reset_ack(void) +{ + andb(AR9170_USB_REG_INTR_SOURCE_7, ~BIT(1)); +} + +static inline __inline void usb_data_out0Byte(void) +{ + andb(AR9170_USB_REG_INTR_SOURCE_7, (uint8_t) ~BIT(7)); +} + +static inline __inline void usb_data_in0Byte(void) +{ + andb(AR9170_USB_REG_INTR_SOURCE_7, ~BIT(6)); +} + +static inline __inline void usb_stop_down_queue(void) +{ + andl(AR9170_USB_REG_DMA_CTL, ~AR9170_USB_DMA_CTL_ENABLE_TO_DEVICE); +} + +static inline __inline void usb_start_down_queue(void) +{ + orl(AR9170_USB_REG_DMA_CTL, AR9170_USB_DMA_CTL_ENABLE_TO_DEVICE); +} + +static inline __inline void usb_clear_input_ep_toggle(unsigned int ep) +{ + andl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), + ~AR9170_USB_EP_IN_TOGGLE); +} + +static inline __inline void usb_set_input_ep_toggle(unsigned int ep) +{ + orl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), + AR9170_USB_EP_IN_TOGGLE); +} + +static inline __inline void usb_clear_output_ep_toggle(unsigned int ep) +{ + andl(AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH + (ep << 1), + ~AR9170_USB_EP_OUT_TOGGLE); +} + +static inline __inline void usb_set_output_ep_toggle(unsigned int ep) +{ + orl(AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH + (ep << 1), + AR9170_USB_EP_OUT_TOGGLE); +} + +static inline void usb_structure_check(void) +{ + BUILD_BUG_ON(sizeof(struct usb_config_descriptor) != USB_DT_CONFIG_SIZE); + BUILD_BUG_ON(sizeof(struct usb_device_descriptor) != USB_DT_DEVICE_SIZE); + BUILD_BUG_ON(sizeof(struct usb_endpoint_descriptor) != USB_DT_ENDPOINT_SIZE); + BUILD_BUG_ON(sizeof(struct usb_interface_descriptor) != USB_DT_INTERFACE_SIZE); +} + +void __noreturn jump_to_bootcode(void); + +void send_cmd_to_host(const uint8_t len, const uint8_t type, + const uint8_t ext, const uint8_t *body); + +void usb_init(void); +void usb_ep0rx(void); +void usb_ep0tx(void); +void usb_ep0setup(void); +void handle_usb(void); + +void usb_timer(void); +void usb_putc(const char c); +void usb_print_hex_dump(const void *buf, int len); + +void usb_init_highspeed_fifo_cfg(void); +void usb_init_fullspeed_fifo_cfg(void); + +void __noreturn start(void); +void __noreturn reboot(void); + +#endif /* __CARL9170FW_USB_H */ diff --git a/carl9170fw/carlfw/include/usb_fifo.h b/carl9170fw/carlfw/include/usb_fifo.h new file mode 100644 index 0000000..5d84c88 --- /dev/null +++ b/carl9170fw/carlfw/include/usb_fifo.h @@ -0,0 +1,244 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * USB definitions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_USB_FIFO_H +#define __CARL9170FW_USB_FIFO_H + +#include "config.h" + +#define MASK_F0 0xf0 + +/* Block Size define */ +#define BLK512BYTE 1 +#define BLK1024BYTE 2 + +#define BLK64BYTE 1 +#define BLK128BYTE 2 + +/* Block toggle number define */ +#define SINGLE_BLK 1 +#define DOUBLE_BLK 2 +#define TRIBLE_BLK 3 + +/* Endpoint transfer type */ +#define TF_TYPE_ISOCHRONOUS 1 +#define TF_TYPE_BULK 2 +#define TF_TYPE_INTERRUPT 3 + +/* Endpoint or FIFO direction define */ +#define DIRECTION_IN 0 +#define DIRECTION_OUT 1 + +#define HS_C1_I0_A0_EP1_MAX_PACKET 512 +#define HS_C1_I0_A0_EP1_bInterval 0 + +#define HS_C1_I0_A0_EP_NUMBER 0x04 +#define HS_C1_I0_A0_EP_LENGTH (EP_LENGTH * HS_C1_I0_A0_EP_NUMBER) +#define HS_C1_I0_ALT_LENGTH (HS_C1_I0_A0_EP_LENGTH) +#define HS_C1_INTERFACE_LENGTH (HS_C1_I0_ALT_LENGTH) + +#define HS_C1_CONFIG_TOTAL_LENGTH (CONFIG_LENGTH + INTERFACE_LENGTH + HS_C1_INTERFACE_LENGTH) +#define FS_C1_CONFIG_TOTAL_LENGTH (CONFIG_LENGTH + INTERFACE_LENGTH + FS_C1_INTERFACE_LENGTH) + +#define FS_C1_I0_A0_EP1_MAX_PACKET 64 +/* #define FS_C1_I0_A0_EP1_bInterval HS_C1_I0_A0_EP1_bInterval */ + +#define HS_CONFIGURATION_NUMBER 1 +#define FS_CONFIGURATION_NUMBER 1 + +#define fDOUBLE_BUF 1 +#define fDOUBLE_BUF_IN 0 + +#define fFLASH_DISK 0 +#define fENABLE_ISO 0 + +#define HS_C1_INTERFACE_NUMBER 0x01 +#define HS_C1 0x01 +#define HS_C1_iConfiguration 0x00 +#define HS_C1_bmAttribute 0x80 + +#define HS_C1_iMaxPower 0xFA + +/* Interface 0 */ +#define HS_C1_I0_ALT_NUMBER 0X01 +/* AlternateSetting 0 */ +#define HS_C1_I0_A0_bInterfaceNumber 0x00 +#define HS_C1_I0_A0_bAlternateSetting 0x00 +/* JWEI 2003/07/14 */ +#define HS_C1_I0_A0_EP_NUMBER 0x04 +#define HS_C1_I0_A0_bInterfaceClass 0xff +#define HS_C1_I0_A0_bInterfaceSubClass 0x00 +#define HS_C1_I0_A0_bInterfaceProtocol 0x00 +#define HS_C1_I0_A0_iInterface 0x00 + +/* EP 1 */ +#define HS_C1_I0_A0_EP1_BLKSIZE 512 +#define HS_C1_I0_A0_EP1_BLKNO DOUBLE_BLK +#define HS_C1_I0_A0_EP1_DIRECTION DIRECTION_OUT +#define HS_C1_I0_A0_EP1_TYPE TF_TYPE_BULK + +#define HS_C1_I0_A0_EP1_MAX_PACKET 512 +#define HS_C1_I0_A0_EP1_bInterval 0 + +/* EP 2 */ +#define HS_C1_I0_A0_EP2_BLKSIZE 512 +/* JWEI 2003/08/20 */ +#define HS_C1_I0_A0_EP2_BLKNO SINGLE_BLK +#define HS_C1_I0_A0_EP2_DIRECTION DIRECTION_IN +#define HS_C1_I0_A0_EP2_TYPE TF_TYPE_BULK +#define HS_C1_I0_A0_EP2_MAX_PACKET 512 +#define HS_C1_I0_A0_EP2_bInterval 0 + +/* EP 3 */ +#define HS_C1_I0_A0_EP3_BLKSIZE 64 +#define HS_C1_I0_A0_EP3_BLKNO SINGLE_BLK +#define HS_C1_I0_A0_EP3_DIRECTION DIRECTION_IN +#define HS_C1_I0_A0_EP3_TYPE TF_TYPE_INTERRUPT +#define HS_C1_I0_A0_EP3_MAX_PACKET 0x0040 +#define HS_C1_I0_A0_EP3_bInterval 01 + +/* + * Note: HS Bulk type require max pkt size = 512 + * ==> must use Interrupt type for max pkt size = 64 + */ + +/* EP 4 */ +#define HS_C1_I0_A0_EP4_BLKSIZE 64 +#define HS_C1_I0_A0_EP4_BLKNO SINGLE_BLK +#define HS_C1_I0_A0_EP4_DIRECTION DIRECTION_OUT +#define HS_C1_I0_A0_EP4_TYPE TF_TYPE_INTERRUPT +#define HS_C1_I0_A0_EP4_MAX_PACKET 0x0040 +#define HS_C1_I0_A0_EP4_bInterval 01 + +#define HS_C1_I0_A0_EP_LENGTH (EP_LENGTH * HS_C1_I0_A0_EP_NUMBER) +/* EP 1 */ +#define HS_C1_I0_A0_EP1_FIFO_START 0 +#define HS_C1_I0_A0_EP1_FIFO_NO (HS_C1_I0_A0_EP1_BLKNO * HS_C1_I0_A0_EP1_BLKSIZE) +#define HS_C1_I0_A0_EP1_FIFO_CONFIG (uint8_t)(0x80 | ((HS_C1_I0_A0_EP1_BLKSIZE - 1) << 4) | ((HS_C1_I0_A0_EP1_BLKNO - 1) << 2) | HS_C1_I0_A0_EP1_TYPE) +#define HS_C1_I0_A0_EP1_FIFO_MAP (((1 - HS_C1_I0_A0_EP1_DIRECTION) << 4) | 1) +#define HS_C1_I0_A0_EP1_MAP (HS_C1_I0_A0_EP1_FIFO_START | (HS_C1_I0_A0_EP1_FIFO_START << 4) | (MASK_F0 >> (4*HS_C1_I0_A0_EP1_DIRECTION))) + +/* EP 2 */ +#define HS_C1_I0_A0_EP2_FIFO_START (uint8_t)(HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO) +#define HS_C1_I0_A0_EP2_FIFO_NO (uint8_t)(HS_C1_I0_A0_EP2_BLKNO * HS_C1_I0_A0_EP2_BLKSIZE) +#define HS_C1_I0_A0_EP2_FIFO_CONFIG (uint8_t)(0x80 | ((HS_C1_I0_A0_EP2_BLKSIZE - 1) << 4) | ((HS_C1_I0_A0_EP2_BLKNO - 1) << 2) | HS_C1_I0_A0_EP2_TYPE) +#define HS_C1_I0_A0_EP2_FIFO_MAP (uint8_t)(((1 - HS_C1_I0_A0_EP2_DIRECTION) << 4) | 2) +#define HS_C1_I0_A0_EP2_MAP (uint8_t)(HS_C1_I0_A0_EP2_FIFO_START | (HS_C1_I0_A0_EP2_FIFO_START << 4) | (MASK_F0 >> (4*HS_C1_I0_A0_EP2_DIRECTION))) + +/* EP 3 */ +#define HS_C1_I0_A0_EP3_FIFO_START 14 +#define HS_C1_I0_A0_EP3_FIFO_NO (HS_C1_I0_A0_EP3_BLKNO * HS_C1_I0_A0_EP3_BLKSIZE) +#define HS_C1_I0_A0_EP3_FIFO_CONFIG (uint8_t)(0x80 | ((HS_C1_I0_A0_EP3_BLKSIZE - 1) << 4) | ((HS_C1_I0_A0_EP3_BLKNO - 1) << 2) | HS_C1_I0_A0_EP3_TYPE) +#define HS_C1_I0_A0_EP3_FIFO_MAP (uint8_t)(((1 - HS_C1_I0_A0_EP3_DIRECTION) << 4) | 3) +#define HS_C1_I0_A0_EP3_MAP (uint8_t)(HS_C1_I0_A0_EP3_FIFO_START | (HS_C1_I0_A0_EP3_FIFO_START << 4) | (MASK_F0 >> (4*HS_C1_I0_A0_EP3_DIRECTION))) + +/* EP 4 */ +#define HS_C1_I0_A0_EP4_FIFO_START (HS_C1_I0_A0_EP3_FIFO_START + HS_C1_I0_A0_EP3_FIFO_NO) +#define HS_C1_I0_A0_EP4_FIFO_NO (HS_C1_I0_A0_EP4_BLKNO * HS_C1_I0_A0_EP4_BLKSIZE) +#define HS_C1_I0_A0_EP4_FIFO_CONFIG (uint8_t)(0x80 | ((HS_C1_I0_A0_EP4_BLKSIZE - 1) << 4) | ((HS_C1_I0_A0_EP4_BLKNO - 1) << 2) | HS_C1_I0_A0_EP4_TYPE) +#define HS_C1_I0_A0_EP4_FIFO_MAP (((1 - HS_C1_I0_A0_EP4_DIRECTION) << 4) | 4) +#define HS_C1_I0_A0_EP4_MAP (uint8_t)(HS_C1_I0_A0_EP4_FIFO_START | (HS_C1_I0_A0_EP4_FIFO_START << 4) | (MASK_F0 >> (4*HS_C1_I0_A0_EP4_DIRECTION))) + +/* Configuration 1 */ +#define FS_C1_INTERFACE_NUMBER 0x01 +#define FS_C1 0x01 +#define FS_C1_iConfiguration 0x00 +#define FS_C1_bmAttribute 0x80 +#define FS_C1_iMaxPower 0xfa + +/* Interface 0 */ +#define FS_C1_I0_ALT_NUMBER 0x01 +/* AlternateSetting 0x00 */ +#define FS_C1_I0_A0_bInterfaceNumber 0x00 +#define FS_C1_I0_A0_bAlternateSetting 0x00 +#define FS_C1_I0_A0_EP_NUMBER 0x04 +#define FS_C1_I0_A0_bInterfaceClass 0xff +#define FS_C1_I0_A0_bInterfaceSubClass 0x00 +#define FS_C1_I0_A0_bInterfaceProtocol 0x00 + +/* EP 1 */ +#define FS_C1_I0_A0_EP1_BLKSIZE 512 +/* JWEI 2003/05/19 */ +#define FS_C1_I0_A0_EP1_BLKNO DOUBLE_BLK +#define FS_C1_I0_A0_EP1_DIRECTION DIRECTION_OUT +#define FS_C1_I0_A0_EP1_TYPE TF_TYPE_BULK +#define FS_C1_I0_A0_EP1_MAX_PACKET 64 +#define FS_C1_I0_A0_EP1_bInterval 0 + +/* EP 2 */ +#define FS_C1_I0_A0_EP2_BLKSIZE 512 +/* JWEI 2003/08/20 */ +#define FS_C1_I0_A0_EP2_BLKNO SINGLE_BLK +#define FS_C1_I0_A0_EP2_DIRECTION DIRECTION_IN +#define FS_C1_I0_A0_EP2_TYPE TF_TYPE_BULK +#define FS_C1_I0_A0_EP2_MAX_PACKET 64 +#define FS_C1_I0_A0_EP2_bInterval 0 + +/* EP 3 */ +#define FS_C1_I0_A0_EP3_BLKSIZE 64 +#define FS_C1_I0_A0_EP3_BLKNO SINGLE_BLK +#define FS_C1_I0_A0_EP3_DIRECTION DIRECTION_IN +#define FS_C1_I0_A0_EP3_TYPE TF_TYPE_INTERRUPT +#define FS_C1_I0_A0_EP3_MAX_PACKET 0x0040 +#define FS_C1_I0_A0_EP3_bInterval 1 + +/* EP 4 */ +#define FS_C1_I0_A0_EP4_BLKSIZE 64 +#define FS_C1_I0_A0_EP4_BLKNO SINGLE_BLK +#define FS_C1_I0_A0_EP4_DIRECTION DIRECTION_OUT +#define FS_C1_I0_A0_EP4_TYPE TF_TYPE_BULK +#define FS_C1_I0_A0_EP4_MAX_PACKET 0x0040 +#define FS_C1_I0_A0_EP4_bInterval 0 + +#define FS_C1_I0_A0_EP_LENGTH (EP_LENGTH * FS_C1_I0_A0_EP_NUMBER) +/* EP 1 */ +#define FS_C1_I0_A0_EP1_FIFO_START 0 +#define FS_C1_I0_A0_EP1_FIFO_NO (uint8_t)(FS_C1_I0_A0_EP1_BLKNO * FS_C1_I0_A0_EP1_BLKSIZE) +#define FS_C1_I0_A0_EP1_FIFO_CONFIG (uint8_t)(0x80 | ((FS_C1_I0_A0_EP1_BLKSIZE - 1) << 4) | ((FS_C1_I0_A0_EP1_BLKNO - 1) << 2) | FS_C1_I0_A0_EP1_TYPE) +#define FS_C1_I0_A0_EP1_FIFO_MAP (uint8_t)(((1 - FS_C1_I0_A0_EP1_DIRECTION) << 4) | 1) +#define FS_C1_I0_A0_EP1_MAP (uint8_t)(FS_C1_I0_A0_EP1_FIFO_START | (FS_C1_I0_A0_EP1_FIFO_START << 4) | (MASK_F0 >> (4*FS_C1_I0_A0_EP1_DIRECTION))) + +/* EP 2 */ +#define FS_C1_I0_A0_EP2_FIFO_START (uint8_t)(FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO) +#define FS_C1_I0_A0_EP2_FIFO_NO (uint8_t)(FS_C1_I0_A0_EP2_BLKNO * FS_C1_I0_A0_EP2_BLKSIZE) +#define FS_C1_I0_A0_EP2_FIFO_CONFIG (uint8_t)(0x80 | ((FS_C1_I0_A0_EP2_BLKSIZE - 1) << 4) | ((FS_C1_I0_A0_EP2_BLKNO - 1) << 2) | FS_C1_I0_A0_EP2_TYPE) +#define FS_C1_I0_A0_EP2_FIFO_MAP (uint8_t)(((1 - FS_C1_I0_A0_EP2_DIRECTION) << 4) | 2) +#define FS_C1_I0_A0_EP2_MAP (uint8_t)(FS_C1_I0_A0_EP2_FIFO_START | (FS_C1_I0_A0_EP2_FIFO_START << 4) | (MASK_F0 >> (4*FS_C1_I0_A0_EP2_DIRECTION))) + +/* EP 3 */ +#define FS_C1_I0_A0_EP3_FIFO_START 14 +#define FS_C1_I0_A0_EP3_FIFO_NO (uint8_t)(FS_C1_I0_A0_EP3_BLKNO * FS_C1_I0_A0_EP3_BLKSIZE) +#define FS_C1_I0_A0_EP3_FIFO_CONFIG (uint8_t)(0x80 | ((FS_C1_I0_A0_EP3_BLKSIZE - 1) << 4) | ((FS_C1_I0_A0_EP3_BLKNO - 1) << 2) | FS_C1_I0_A0_EP3_TYPE) +#define FS_C1_I0_A0_EP3_FIFO_MAP (uint8_t)(((1 - FS_C1_I0_A0_EP3_DIRECTION) << 4) | 3) +#define FS_C1_I0_A0_EP3_MAP (uint8_t)(FS_C1_I0_A0_EP3_FIFO_START | (FS_C1_I0_A0_EP3_FIFO_START << 4) | (MASK_F0 >> (4*FS_C1_I0_A0_EP3_DIRECTION))) + +/* EP 4 */ +#define FS_C1_I0_A0_EP4_FIFO_START (uint8_t)(FS_C1_I0_A0_EP3_FIFO_START + FS_C1_I0_A0_EP3_FIFO_NO) +#define FS_C1_I0_A0_EP4_FIFO_NO (uint8_t)(FS_C1_I0_A0_EP4_BLKNO * FS_C1_I0_A0_EP4_BLKSIZE) +#define FS_C1_I0_A0_EP4_FIFO_CONFIG (uint8_t)(0x80 | ((FS_C1_I0_A0_EP4_BLKSIZE - 1) << 4) | ((FS_C1_I0_A0_EP4_BLKNO - 1) << 2) | FS_C1_I0_A0_EP4_TYPE) +#define FS_C1_I0_A0_EP4_FIFO_MAP (uint8_t)(((1 - FS_C1_I0_A0_EP4_DIRECTION) << 4) | 4) +#define FS_C1_I0_A0_EP4_MAP (uint8_t)(FS_C1_I0_A0_EP4_FIFO_START | (FS_C1_I0_A0_EP4_FIFO_START << 4) | (MASK_F0 >> (4*FS_C1_I0_A0_EP4_DIRECTION))) + +#endif /* __CARL9170FW_USB_FIFO_H */ diff --git a/carl9170fw/carlfw/include/wl.h b/carl9170fw/carlfw/include/wl.h new file mode 100644 index 0000000..dd5b0a8 --- /dev/null +++ b/carl9170fw/carlfw/include/wl.h @@ -0,0 +1,296 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * WLAN + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_WLAN_H +#define __CARL9170FW_WLAN_H + +#include "config.h" +#include "carl9170.h" +#include "io.h" + +struct ieee80211_hdr; + +static inline __inline void set_wlan_txq_dma_addr(const unsigned int q, const uint32_t v) +{ + set(AR9170_MAC_REG_DMA_TXQ_ADDR + (q << 3), v); +} + +static inline __inline void set_wlan_txq_dma_curr_addr(const unsigned int q, const uint32_t v) +{ + set(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3), v); +} + +static inline __inline volatile struct dma_desc *get_wlan_txq_dma_addr(const unsigned int q) +{ + return getp(AR9170_MAC_REG_DMA_TXQ_ADDR + (q << 3)); +} + +static inline __inline volatile struct dma_desc *get_wlan_txq_addr(const unsigned int q) +{ + return getp(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3)); +} + +static inline __inline volatile struct dma_desc *get_wlan_txq_last_addr(const unsigned int q) +{ + return getp(AR9170_MAC_REG_DMA_TXQ_LAST_ADDR + (q << 2)); +} + +static inline __inline void wlan_trigger(const uint32_t queue_bit) +{ + set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit); +} + +static inline __inline uint8_t ar9170_get_rx_macstatus_status(struct dma_desc *desc) +{ + return *((uint8_t *) DESC_PAYLOAD_OFF(desc->lastAddr, + (unsigned int) desc->lastAddr->dataSize - 1)); +} + +static inline __inline uint8_t ar9170_get_rx_macstatus_error(struct dma_desc *desc) +{ + unsigned int offset; + + if (desc->lastAddr->dataSize == 1) { + while (desc->lastAddr != desc->nextAddr) + desc = desc->nextAddr; + + offset = (unsigned int) (desc->dataSize - 1); + } else { + desc = desc->lastAddr; + offset = desc->dataSize - + (sizeof(struct ar9170_rx_macstatus) - + offsetof(struct ar9170_rx_macstatus, error)); + } + + return *((uint8_t *) DESC_PAYLOAD_OFF(desc, offset)); +} + +static inline __inline struct ieee80211_hdr *ar9170_get_rx_i3e(struct dma_desc *desc) +{ + if (!((ar9170_get_rx_macstatus_status(desc) & + AR9170_RX_STATUS_MPDU) & AR9170_RX_STATUS_MPDU_LAST)) { + return (void *)(DESC_PAYLOAD_OFF(desc, + offsetof(struct ar9170_rx_frame_head, i3e))); + } else { + return (void *)(DESC_PAYLOAD_OFF(desc, + offsetof(struct ar9170_rx_frame_tail, i3e))); + } +} + +static inline __inline struct ar9170_rx_head *ar9170_get_rx_head(struct dma_desc *desc) +{ + if (!((ar9170_get_rx_macstatus_status(desc) & + AR9170_RX_STATUS_MPDU) & AR9170_RX_STATUS_MPDU_LAST)) { + return (void *)((uint8_t *)DESC_PAYLOAD(desc) + + offsetof(struct ar9170_rx_frame_head, phy_head)); + } else { + return (void *) NULL; + } +} + +static inline __inline uint32_t ar9170_rx_to_phy(struct dma_desc *rx) +{ + struct ar9170_tx_hw_phy_control phy; + struct ar9170_rx_head *head; + uint8_t mac_status; + + phy.set = 0; + + head = ar9170_get_rx_head(rx); + if (!head) + return le32_to_cpu(phy.set); + + mac_status = ar9170_get_rx_macstatus_status(rx); + + phy.modulation = mac_status & AR9170_RX_STATUS_MODULATION; + phy.chains = AR9170_TX_PHY_TXCHAIN_1; + + switch (phy.modulation) { + case AR9170_RX_STATUS_MODULATION_CCK: + if (mac_status & AR9170_RX_STATUS_SHORT_PREAMBLE) + phy.preamble = 1; + + switch (head->plcp[0]) { + case AR9170_RX_PHY_RATE_CCK_2M: + phy.mcs = AR9170_TX_PHY_RATE_CCK_2M; + break; + + case AR9170_RX_PHY_RATE_CCK_5M: + phy.mcs = AR9170_TX_PHY_RATE_CCK_5M; + break; + + case AR9170_RX_PHY_RATE_CCK_11M: + phy.mcs = AR9170_TX_PHY_RATE_CCK_11M; + break; + + case AR9170_RX_PHY_RATE_CCK_1M: + default: + phy.mcs = AR9170_TX_PHY_RATE_CCK_1M; + break; + + } + break; + + case AR9170_RX_STATUS_MODULATION_DUPOFDM: + case AR9170_RX_STATUS_MODULATION_OFDM: + phy.mcs = head->plcp[0] & 0xf; + break; + + case AR9170_RX_STATUS_MODULATION_HT: + if (head->plcp[3] & 0x80) + phy.bandwidth = 2; + + if (head->plcp[6] & 0x80) + phy.short_gi = 1; + + /* TODO: Enable both chains for MCS > 7 */ + phy.mcs = head->plcp[6] & 0x7; + break; + } + + return le32_to_cpu(phy.set); +} + +static inline __inline unsigned int ar9170_get_rx_mpdu_len(struct dma_desc *desc) +{ + /* + * WARNING: you have to check the error bits in macstatus first! + */ + + unsigned int mpdu_len = desc->totalLen; + + mpdu_len -= sizeof(struct ar9170_rx_macstatus); + + switch (ar9170_get_rx_macstatus_status(desc) & AR9170_RX_STATUS_MPDU) { + case AR9170_RX_STATUS_MPDU_LAST: + mpdu_len -= sizeof(struct ar9170_rx_phystatus); + break; + + case AR9170_RX_STATUS_MPDU_SINGLE: + mpdu_len -= sizeof(struct ar9170_rx_phystatus); + + case AR9170_RX_STATUS_MPDU_FIRST: + mpdu_len -= sizeof(struct ar9170_rx_head); + break; + + case AR9170_RX_STATUS_MPDU_MIDDLE: + default: + break; + } + + return mpdu_len; +} + +static inline __inline bool ar9170_tx_length_check(const uint16_t len) +{ + return len > (sizeof(struct carl9170_tx_superframe) + 24 + + FCS_LEN); +} + +static inline __inline struct carl9170_tx_superframe *get_super(struct dma_desc *desc) +{ + return container_of(DESC_PAYLOAD(desc), struct carl9170_tx_superframe, + f); +} + +static inline __inline struct carl9170_tx_superframe *__get_super(struct dma_desc *desc) +{ + return DESC_PAYLOAD(desc); +} + +static inline __inline void hide_super(struct dma_desc *desc) +{ + desc->dataAddr = (uint8_t *) + (((unsigned long)(DESC_PAYLOAD(desc)) + + offsetof(struct carl9170_tx_superframe, f))); + + desc->dataSize -= sizeof(struct carl9170_tx_superdesc); + desc->totalLen -= sizeof(struct carl9170_tx_superdesc); +} + +static inline __inline void unhide_super(struct dma_desc *desc) +{ + desc->dataAddr = (uint8_t *) get_super(desc); + desc->dataSize += sizeof(struct carl9170_tx_superdesc); + desc->totalLen += sizeof(struct carl9170_tx_superdesc); +} + +static inline __inline __hot void read_tsf(uint32_t *tsf) +{ + /* + * "According to the [hardware] documentation: + * > when TSF_LOW is read, TSF_HI is automatically concurrently + * > copied into a temporary register so that an immediate read + * > of TSF_HI will get the value that was present when TSF_LOW + * > was read. " + * + * (David H. Lynch Jr. - mail from 2010-05-22) + * http://permalink.gmane.org/gmane.linux.kernel.wireless.general/51249 + */ + + tsf[0] = get(AR9170_MAC_REG_TSF_L); + tsf[1] = get(AR9170_MAC_REG_TSF_H); +} + +/* This function will only work on uint32_t-aligned pointers! */ +static inline bool compare_ether_address(const void *_d0, const void *_d1) +{ + const uint32_t *d0 = _d0; + const uint32_t *d1 = _d1; + + /* BUG_ON((unsigned long)d0 & 3 || (unsigned long)d1 & 3)) */ + return !((d0[0] ^ d1[0]) | (unsigned short)(d0[1] ^ d1[1])); +} + +void wlan_tx(struct dma_desc *desc); +void wlan_tx_fw(struct carl9170_tx_superdesc *super, fw_desc_callback_t cb); +void wlan_timer(void); +void handle_wlan(void); + +void wlan_cab_flush_queue(const unsigned int vif); +void wlan_modify_beacon(const unsigned int vif, + const unsigned int bcn_addr, + const unsigned int bcn_len); + +void wlan_tx_complete(struct carl9170_tx_superframe *super, bool txs); +void wlan_prepare_wol(void); + +static inline void __check_wlantx(void) +{ + BUILD_BUG_ON(CARL9170_TX_SUPERDESC_LEN & 3); + BUILD_BUG_ON(sizeof(struct carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN); + BUILD_BUG_ON(sizeof(struct _carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN); + BUILD_BUG_ON(sizeof(struct _carl9170_tx_superframe) != CARL9170_TX_SUPERFRAME_LEN); + BUILD_BUG_ON((offsetof(struct carl9170_tx_superframe, f) & 3) != 0); + BUILD_BUG_ON(offsetof(struct _carl9170_tx_superframe, f) != + (offsetof(struct _carl9170_tx_superframe, f))); + BUILD_BUG_ON(sizeof(struct ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN); + BUILD_BUG_ON(sizeof(struct _ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != AR9170_RX_HEAD_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != AR9170_RX_PHYSTATUS_LEN); + BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != AR9170_RX_MACSTATUS_LEN); +} + +#endif /* __CARL9170FW_WLAN_H */ diff --git a/carl9170fw/carlfw/include/wol.h b/carl9170fw/carlfw/include/wol.h new file mode 100644 index 0000000..829400a --- /dev/null +++ b/carl9170fw/carlfw/include/wol.h @@ -0,0 +1,67 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * WakeUp on WLAN definitions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170FW_WOL_H +#define __CARL9170FW_WOL_H + +#include "config.h" +#include "compiler.h" +#include "types.h" + +#include "fwcmd.h" + +#ifdef CONFIG_CARL9170FW_WOL + +struct ieee80211_hdr; + +void wol_prepare(void); +void wol_janitor(void); +void wol_rx(const unsigned int rx_filter __unused, + const struct ieee80211_hdr *hdr __unused, + const unsigned int len __unused); +void wol_cmd(const struct carl9170_wol_cmd *cmd); + +#else + +static inline void wol_cmd(const struct carl9170_wol_cmd *cmd __unused) +{ +} + +static inline void wol_prepare(void) +{ +} + +static inline void wol_janitor(void) +{ +} + +static inline void wol_rx(const unsigned int rx_filter __unused, + const struct ieee80211_hdr *hdr __unused, + const unsigned int len __unused) +{ +} +#endif /* CONFIG_CARL9170FW_WOL */ + +#endif /* __CARL9170FW_CMD_H */ diff --git a/carl9170fw/carlfw/src/ashlsi3.S b/carl9170fw/carlfw/src/ashlsi3.S new file mode 100644 index 0000000..593d902 --- /dev/null +++ b/carl9170fw/carlfw/src/ashlsi3.S @@ -0,0 +1,193 @@ +/* Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004, 2005, 2006 + Free Software Foundation, Inc. + +This file is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +In addition to the permissions in the GNU General Public License, the +Free Software Foundation gives you unlimited permission to link the +compiled version of this file into combinations with other programs, +and to distribute those combinations without any restriction coming +from the use of this file. (The General Public License restrictions +do apply in other respects; for example, they cover modification of +the file, and distribution when not linked into a combine +executable.) + +This file is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +!! libgcc routines for the Renesas / SuperH SH CPUs. +!! Contributed by Steve Chamberlain. +!! sac@cygnus.com + +!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines +!! recoded in assembly by Toshiyasu Morita +!! tm@netcom.com + +/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and + ELF local label prefixes by J"orn Rennecke + amylaar@cygnus.com */ + +! +! __ashlsi3 +! +! Entry: +! +! r4: Value to shift +! r5: Shifts +! +! Exit: +! +! r0: Result +! +! Destroys: +! +! (none) +! + .global ___ashlsi3 + + .align 2 +___ashlsi3: + mov #31,r0 + and r0,r5 + mova ashlsi3_table,r0 + mov.b @(r0,r5),r5 +#ifdef __sh1__ + add r5,r0 + jmp @r0 +#else + braf r5 +#endif + mov r4,r0 + + .align 2 +ashlsi3_table: + .byte ashlsi3_0-ashlsi3_table + .byte ashlsi3_1-ashlsi3_table + .byte ashlsi3_2-ashlsi3_table + .byte ashlsi3_3-ashlsi3_table + .byte ashlsi3_4-ashlsi3_table + .byte ashlsi3_5-ashlsi3_table + .byte ashlsi3_6-ashlsi3_table + .byte ashlsi3_7-ashlsi3_table + .byte ashlsi3_8-ashlsi3_table + .byte ashlsi3_9-ashlsi3_table + .byte ashlsi3_10-ashlsi3_table + .byte ashlsi3_11-ashlsi3_table + .byte ashlsi3_12-ashlsi3_table + .byte ashlsi3_13-ashlsi3_table + .byte ashlsi3_14-ashlsi3_table + .byte ashlsi3_15-ashlsi3_table + .byte ashlsi3_16-ashlsi3_table + .byte ashlsi3_17-ashlsi3_table + .byte ashlsi3_18-ashlsi3_table + .byte ashlsi3_19-ashlsi3_table + .byte ashlsi3_20-ashlsi3_table + .byte ashlsi3_21-ashlsi3_table + .byte ashlsi3_22-ashlsi3_table + .byte ashlsi3_23-ashlsi3_table + .byte ashlsi3_24-ashlsi3_table + .byte ashlsi3_25-ashlsi3_table + .byte ashlsi3_26-ashlsi3_table + .byte ashlsi3_27-ashlsi3_table + .byte ashlsi3_28-ashlsi3_table + .byte ashlsi3_29-ashlsi3_table + .byte ashlsi3_30-ashlsi3_table + .byte ashlsi3_31-ashlsi3_table + +ashlsi3_6: + shll2 r0 +ashlsi3_4: + shll2 r0 +ashlsi3_2: + rts + shll2 r0 + +ashlsi3_7: + shll2 r0 +ashlsi3_5: + shll2 r0 +ashlsi3_3: + shll2 r0 +ashlsi3_1: + rts + shll r0 + +ashlsi3_14: + shll2 r0 +ashlsi3_12: + shll2 r0 +ashlsi3_10: + shll2 r0 +ashlsi3_8: + rts + shll8 r0 + +ashlsi3_15: + shll2 r0 +ashlsi3_13: + shll2 r0 +ashlsi3_11: + shll2 r0 +ashlsi3_9: + shll8 r0 + rts + shll r0 + +ashlsi3_22: + shll2 r0 +ashlsi3_20: + shll2 r0 +ashlsi3_18: + shll2 r0 +ashlsi3_16: + rts + shll16 r0 + +ashlsi3_23: + shll2 r0 +ashlsi3_21: + shll2 r0 +ashlsi3_19: + shll2 r0 +ashlsi3_17: + shll16 r0 + rts + shll r0 + +ashlsi3_30: + shll2 r0 +ashlsi3_28: + shll2 r0 +ashlsi3_26: + shll2 r0 +ashlsi3_24: + shll16 r0 + rts + shll8 r0 + +ashlsi3_31: + shll2 r0 +ashlsi3_29: + shll2 r0 +ashlsi3_27: + shll2 r0 +ashlsi3_25: + shll16 r0 + shll8 r0 + rts + shll r0 + +ashlsi3_0: + rts + nop diff --git a/carl9170fw/carlfw/src/cam.c b/carl9170fw/carlfw/src/cam.c new file mode 100644 index 0000000..7c0e61c --- /dev/null +++ b/carl9170fw/carlfw/src/cam.c @@ -0,0 +1,161 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Security Engine + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "cam.h" + +#ifdef CONFIG_CARL9170FW_SECURITY_ENGINE +static void disable_cam_user(const uint16_t userId) +{ + if (userId <= 31) + andl(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_L, (~((uint32_t) 1 << userId))); + else if (userId <= 63) + andl(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_H, (~((uint32_t) 1 << (userId - 32)))); +} + +static void enable_cam_user(const uint16_t userId) +{ + if (userId <= 31) + orl(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_L, (((uint32_t) 1) << userId)); + else if (userId <= 63) + orl(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_H, (((uint32_t) 1) << (userId - 32))); +} + +static void wait_for_cam_read_ready(void) +{ + while ((get(AR9170_MAC_REG_CAM_STATE) & AR9170_MAC_CAM_STATE_READ_PENDING) == 0) { + /* + * wait + */ + } +} + +static void wait_for_cam_write_ready(void) +{ + while ((get(AR9170_MAC_REG_CAM_STATE) & AR9170_MAC_CAM_STATE_WRITE_PENDING) == 0) { + /* + * wait some more + */ + } +} + +static void HW_CAM_Avail(void) +{ + uint32_t tmpValue; + + do { + tmpValue = get(AR9170_MAC_REG_CAM_MODE); + } while (tmpValue & AR9170_MAC_CAM_HOST_PENDING); +} + +static void HW_CAM_Write128(const uint32_t address, const uint32_t *data) +{ + HW_CAM_Avail(); + + set(AR9170_MAC_REG_CAM_DATA0, data[0]); + set(AR9170_MAC_REG_CAM_DATA1, data[1]); + set(AR9170_MAC_REG_CAM_DATA2, data[2]); + set(AR9170_MAC_REG_CAM_DATA3, data[3]); + + set(AR9170_MAC_REG_CAM_ADDR, address | AR9170_MAC_CAM_ADDR_WRITE); + + wait_for_cam_write_ready(); +} + +static void HW_CAM_Read128(const uint32_t address, uint32_t *data) +{ + + HW_CAM_Avail(); + set(AR9170_MAC_REG_CAM_ADDR, address); + + wait_for_cam_read_ready(); + HW_CAM_Avail(); + data[0] = get(AR9170_MAC_REG_CAM_DATA0); + data[1] = get(AR9170_MAC_REG_CAM_DATA1); + data[2] = get(AR9170_MAC_REG_CAM_DATA2); + data[3] = get(AR9170_MAC_REG_CAM_DATA3); +} + +void set_key(const struct carl9170_set_key_cmd *key) +{ + uint32_t data[4]; + uint16_t row, wordId, nibbleId, i; + + if (key->user > (AR9170_CAM_MAX_USER + 3)) + return ; + + if (key->keyId > 1) + return ; + + /* Disable Key */ + disable_cam_user(key->user); + + /* Set encrypt type */ + if (key->user >= AR9170_CAM_MAX_USER) { + /* default */ + row = DEFAULT_ENCRY_TYPE; + wordId = 0; + nibbleId = (key->user - AR9170_CAM_MAX_USER) & 0x7; + } else { + row = ENCRY_TYPE_START_ADDR + (key->user >> 5); + wordId = (key->user >> 3) & 0x3; + nibbleId = key->user & 0x7; + } + + HW_CAM_Read128(row, data); + data[wordId] &= (~(0xf << ((uint32_t) nibbleId * 4))); + data[wordId] |= (key->type << ((uint32_t) nibbleId * 4)); + HW_CAM_Write128(row, data); + + /* Set MAC address */ + if (key->user < AR9170_CAM_MAX_USER) { + uint16_t byteId; + wordId = (key->user >> 2) & 0x3; + byteId = key->user & 0x3; + row = (key->user >> 4) * 6; + + for (i = 0; i < 6; i++) { + HW_CAM_Read128(row + i, data); + data[wordId] &= (~(0xff << ((uint32_t) byteId * 8))); + data[wordId] |= (key->macAddr[i] << ((uint32_t) byteId * 8)); + HW_CAM_Write128(row + i, data); + } + } + + /* Set key */ + row = KEY_START_ADDR + (key->user * 2) + key->keyId; + + HW_CAM_Write128(row, key->key); + + /* Enable Key */ + enable_cam_user(key->user); +} + +void disable_key(const struct carl9170_disable_key_cmd *key) +{ + disable_cam_user(key->user); +} + +#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */ diff --git a/carl9170fw/carlfw/src/cmd.c b/carl9170fw/carlfw/src/cmd.c new file mode 100644 index 0000000..5382083 --- /dev/null +++ b/carl9170fw/carlfw/src/cmd.c @@ -0,0 +1,154 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Code to handle commands from the host driver. + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "io.h" +#include "cam.h" +#include "rf.h" +#include "printf.h" +#include "timer.h" +#include "wl.h" +#include "wol.h" + +void handle_cmd(struct carl9170_rsp *resp) +{ + struct carl9170_cmd *cmd = &dma_mem.reserved.cmd.cmd; + unsigned int i; + + /* copies cmd, len and extra fields */ + resp->hdr.len = cmd->hdr.len; + resp->hdr.cmd = cmd->hdr.cmd; + resp->hdr.ext = cmd->hdr.ext; + resp->hdr.seq |= cmd->hdr.seq; + + switch (cmd->hdr.cmd & ~CARL9170_CMD_ASYNC_FLAG) { + case CARL9170_CMD_RREG: + for (i = 0; i < (cmd->hdr.len / 4); i++) + resp->rreg_res.vals[i] = get(cmd->rreg.regs[i]); + break; + + case CARL9170_CMD_WREG: + resp->hdr.len = 0; + for (i = 0; i < (cmd->hdr.len / 8); i++) + set(cmd->wreg.regs[i].addr, cmd->wreg.regs[i].val); + break; + + case CARL9170_CMD_ECHO: + memcpy(resp->echo.vals, cmd->echo.vals, cmd->hdr.len); + break; + + case CARL9170_CMD_SWRST: +#ifdef CONFIG_CARL9170FW_FW_MAC_RESET + /* + * Command has no payload, so the response + * has no payload either. + * resp->hdr.len = 0; + */ + fw.wlan.mac_reset = CARL9170_MAC_RESET_FORCE; +#endif /* CONFIG_CARL9170FW_FW_MAC_RESET */ + break; + + case CARL9170_CMD_REBOOT: + /* + * resp->len = 0; + */ + fw.reboot = 1; + break; + + case CARL9170_CMD_READ_TSF: + resp->hdr.len = 8; + read_tsf((uint32_t *)resp->tsf.tsf); + break; + + case CARL9170_CMD_RX_FILTER: + resp->hdr.len = 0; + fw.wlan.rx_filter = cmd->rx_filter.rx_filter; + break; + + case CARL9170_CMD_WOL: + wol_cmd(&cmd->wol); + break; + + case CARL9170_CMD_TALLY: + resp->hdr.len = sizeof(struct carl9170_tally_rsp); + memcpy(&resp->tally, &fw.tally, sizeof(struct carl9170_tally_rsp)); + resp->tally.tick = fw.ticks_per_usec; + memset(&fw.tally, 0, sizeof(struct carl9170_tally_rsp)); + break; + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + case CARL9170_CMD_BCN_CTRL: + resp->hdr.len = 0; + + if (cmd->bcn_ctrl.mode & CARL9170_BCN_CTRL_CAB_TRIGGER) { + wlan_modify_beacon(cmd->bcn_ctrl.vif_id, + cmd->bcn_ctrl.bcn_addr, cmd->bcn_ctrl.bcn_len); + set(AR9170_MAC_REG_BCN_ADDR, cmd->bcn_ctrl.bcn_addr); + set(AR9170_MAC_REG_BCN_LENGTH, cmd->bcn_ctrl.bcn_len); + set(AR9170_MAC_REG_BCN_CTRL, AR9170_BCN_CTRL_READY); + } else { + wlan_cab_flush_queue(cmd->bcn_ctrl.vif_id); + fw.wlan.cab_flush_trigger[cmd->bcn_ctrl.vif_id] = CARL9170_CAB_TRIGGER_EMPTY; + } + break; +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + +#ifdef CONFIG_CARL9170FW_SECURITY_ENGINE + case CARL9170_CMD_EKEY: + resp->hdr.len = 0; + set_key(&cmd->setkey); + break; + + case CARL9170_CMD_DKEY: + resp->hdr.len = 0; + disable_key(&cmd->disablekey); + break; +#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */ + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + case CARL9170_CMD_FREQUENCY: + case CARL9170_CMD_RF_INIT: + rf_cmd(cmd, resp); + break; + + case CARL9170_CMD_FREQ_START: + /* + * resp->hdr.len = 0; + */ + rf_notify_set_channel(); + break; + + case CARL9170_CMD_PSM: + resp->hdr.len = 0; + fw.phy.psm.state = le32_to_cpu(cmd->psm.state); + rf_psm(); + break; +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + + default: + BUG("Unknown command %x\n", cmd->hdr.cmd); + break; + } +} diff --git a/carl9170fw/carlfw/src/dma.c b/carl9170fw/carlfw/src/dma.c new file mode 100644 index 0000000..9b83fcf --- /dev/null +++ b/carl9170fw/carlfw/src/dma.c @@ -0,0 +1,255 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * DMA descriptor handling functions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "wl.h" +#include "printf.h" + +struct ar9170_dma_memory dma_mem __section(sram); + +static void copy_dma_desc(struct dma_desc *dst, + struct dma_desc *src) +{ + memcpy(dst, src, sizeof(struct dma_desc)); +} + +static void clear_descriptor(struct dma_desc *d) +{ + d->status = AR9170_OWN_BITS_SW; + d->ctrl = 0; + d->dataSize = 0; + d->totalLen = 0; + d->lastAddr = d; + d->dataAddr = NULL; + d->nextAddr = d; +} + +static void fill_descriptor(struct dma_desc *d, uint16_t size, uint8_t *data) +{ + d->status = AR9170_OWN_BITS_SW; + d->ctrl = 0; + d->dataSize = size; + d->totalLen = 0; + d->lastAddr = d; + d->dataAddr = data; + d->nextAddr = NULL; +} + +static void init_queue(struct dma_queue *q, struct dma_desc *d) +{ + q->head = q->terminator = d; +} + +/* + * - Init up_queue, down_queue, tx_queue[5], rx_queue. + * - Setup descriptors and data buffer address. + * - Ring descriptors rx_queue and down_queue by dma_reclaim(). + * + * NOTE: LastAddr tempary point (same) to nextAddr after initialize. + * Because LastAddr is don't care in function dma_reclaim(). + */ +void dma_init_descriptors(void) +{ + unsigned int i, j; + + for (i = 0; i < ARRAY_SIZE(dma_mem.terminator); i++) + clear_descriptor(&dma_mem.terminator[i]); + + /* Assign terminators to DMA queues */ + i = 0; + init_queue(&fw.pta.up_queue, &dma_mem.terminator[i++]); + init_queue(&fw.pta.down_queue, &dma_mem.terminator[i++]); + for (j = 0; j < __AR9170_NUM_TX_QUEUES; j++) + init_queue(&fw.wlan.tx_queue[j], &dma_mem.terminator[i++]); + init_queue(&fw.wlan.tx_retry, &dma_mem.terminator[i++]); + init_queue(&fw.wlan.rx_queue, &dma_mem.terminator[i++]); + fw.usb.int_desc = &dma_mem.terminator[i++]; + fw.wlan.fw_desc = &dma_mem.terminator[i++]; + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + for (j = 0; j < CARL9170_INTF_NUM; j++) + init_queue(&fw.wlan.cab_queue[j], &dma_mem.terminator[i++]); +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + + BUG_ON(AR9170_TERMINATOR_NUMBER != i); + + DBG("Blocks:%d [tx:%d, rx:%d] Terminators:%d/%d\n", + AR9170_BLOCK_NUMBER, AR9170_TX_BLOCK_NUMBER, + AR9170_RX_BLOCK_NUMBER, AR9170_TERMINATOR_NUMBER, i); + + /* Init descriptors and memory blocks */ + for (i = 0; i < AR9170_BLOCK_NUMBER; i++) { + fill_descriptor(&dma_mem.block[i], AR9170_BLOCK_SIZE, dma_mem.data[i].data); + + if (i < AR9170_TX_BLOCK_NUMBER) + dma_reclaim(&fw.pta.down_queue, &dma_mem.block[i]); + else + dma_reclaim(&fw.wlan.rx_queue, &dma_mem.block[i]); + } + + /* Set DMA address registers */ + set(AR9170_PTA_REG_DN_DMA_ADDRH, (uint32_t) fw.pta.down_queue.head >> 16); + set(AR9170_PTA_REG_DN_DMA_ADDRL, (uint32_t) fw.pta.down_queue.head & 0xffff); + set(AR9170_PTA_REG_UP_DMA_ADDRH, (uint32_t) fw.pta.up_queue.head >> 16); + set(AR9170_PTA_REG_UP_DMA_ADDRL, (uint32_t) fw.pta.up_queue.head & 0xffff); + + for (i = 0; i < __AR9170_NUM_TX_QUEUES; i++) + set_wlan_txq_dma_addr(i, (uint32_t) fw.wlan.tx_queue[i].head); + + set(AR9170_MAC_REG_DMA_RXQ_ADDR, (uint32_t) fw.wlan.rx_queue.head); + fw.usb.int_desc->dataSize = AR9170_BLOCK_SIZE; + fw.usb.int_desc->dataAddr = (void *) &dma_mem.reserved.rsp; + + memset(DESC_PAYLOAD(fw.usb.int_desc), 0xff, + AR9170_INT_MAGIC_HEADER_SIZE); + memset(DESC_PAYLOAD_OFF(fw.usb.int_desc, AR9170_INT_MAGIC_HEADER_SIZE), + 0, AR9170_BLOCK_SIZE - AR9170_INT_MAGIC_HEADER_SIZE); + + /* rsp is now available for use */ + fw.usb.int_desc_available = 1; + + memset(DESC_PAYLOAD(fw.wlan.fw_desc), 0, 128); + fw.wlan.fw_desc_available = 1; +} + +/* + * Free descriptor. + * + * Exchange the terminator and the first descriptor of the packet + * for hardware ascy... + */ +void dma_reclaim(struct dma_queue *q, struct dma_desc *desc) +{ + struct dma_desc *tmpDesc, *last; + struct dma_desc tdesc; + + /* 1. Set OWN bit to HW for all TDs to be added, clear ctrl and size */ + tmpDesc = desc; + last = desc->lastAddr; + + while (1) { + tmpDesc->status = AR9170_OWN_BITS_HW; + tmpDesc->ctrl = 0; + tmpDesc->totalLen = 0; + tmpDesc->dataSize = AR9170_BLOCK_SIZE; + + /* TODO : Exception handle */ + + tmpDesc->lastAddr = tmpDesc; + + if (tmpDesc == last) + break; + + tmpDesc = tmpDesc->nextAddr; + } + + /* 2. Next address of Last TD to be added = first TD */ + tmpDesc->nextAddr = desc; + + /* Link first TD to self */ + desc->lastAddr = q->terminator; + + /* 3. Copy first TD to be added to TTD */ + copy_dma_desc(&tdesc, desc); + + /* 4. Initialize new terminator */ + clear_descriptor(desc); + + /* 5. Copy TTD to last TD */ + tdesc.status = 0; + copy_dma_desc((void *)q->terminator, (void *)&tdesc); + q->terminator->status |= AR9170_OWN_BITS_HW; + + /* Update terminator pointer */ + q->terminator = desc; +} + +/* + * Put a complete packet into the tail of the Queue q. + * Exchange the terminator and the first descriptor of the packet + * for hardware ascy... + */ +void dma_put(struct dma_queue *q, struct dma_desc *desc) +{ + struct dma_desc *tmpDesc; + struct dma_desc tdesc; + + tmpDesc = desc; + + while (1) { + /* update totalLen */ + tmpDesc->totalLen = desc->totalLen; + + /* 1. Set OWN bit to HW for all TDs to be added */ + tmpDesc->status = AR9170_OWN_BITS_HW; + /* TODO : Exception handle */ + + tmpDesc->lastAddr = desc->lastAddr; + + if (desc->lastAddr == tmpDesc) + break; + + tmpDesc = tmpDesc->nextAddr; + } + + /* 2. Next address of Last TD to be added = first TD */ + desc->lastAddr->nextAddr = desc; + + /* If there is only one descriptor, update pointer of last descriptor */ + if (desc->lastAddr == desc) + desc->lastAddr = q->terminator; + + /* 3. Copy first TD to be added to TTD */ + copy_dma_desc(&tdesc, desc); + + /* 4. Initialize new terminator */ + clear_descriptor(desc); + + /* 5. Copy TTD to last TD */ + tdesc.status &= (~AR9170_OWN_BITS); + copy_dma_desc((void *)q->terminator, (void *)&tdesc); + q->terminator->status |= AR9170_OWN_BITS_HW; + + /* Update terminator pointer */ + q->terminator = desc; +} + +struct dma_desc *dma_unlink_head(struct dma_queue *queue) +{ + struct dma_desc *desc; + + if (queue_empty(queue)) + return NULL; + + desc = queue->head; + + queue->head = desc->lastAddr->nextAddr; + + /* poison nextAddr address */ + desc->lastAddr->nextAddr = desc->lastAddr; + desc->lastAddr->lastAddr = desc->lastAddr; + + return desc; +} diff --git a/carl9170fw/carlfw/src/fw.c b/carl9170fw/carlfw/src/fw.c new file mode 100644 index 0000000..5bde675 --- /dev/null +++ b/carl9170fw/carlfw/src/fw.c @@ -0,0 +1,116 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Firmware descriptor + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#include "carl9170.h" +#include "fwdsc.h" + +#define FILL(small, big, more...) \ + .small = { \ + CARL9170FW_FILL_DESC(big##_MAGIC, \ + sizeof(struct carl9170fw_## small##_desc), \ + CARL9170FW_## big##_DESC_MIN_VER, \ + CARL9170FW_## big##_DESC_CUR_VER), \ + more \ + } + +const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = { + FILL(otus, OTUS, + .feature_set = cpu_to_le32(BIT(CARL9170FW_DUMMY_FEATURE) | + BIT(CARL9170FW_USB_RESP_EP2) | + BIT(CARL9170FW_HANDLE_BACK_REQ) | + BIT(CARL9170FW_RX_FILTER) | + BIT(CARL9170FW_HW_COUNTERS) | + BIT(CARL9170FW_RX_BA_FILTER) | + BIT(CARL9170FW_USB_INIT_FIRMWARE) | +#ifdef CONFIG_CARL9170FW_USB_UP_STREAM + BIT(CARL9170FW_USB_UP_STREAM) | +#endif /* CONFIG_CARL9170FW_USB_UP_STREAM */ +#ifdef CONFIG_CARL9170FW_USB_DOWN_STREAM + BIT(CARL9170FW_USB_DOWN_STREAM) | +#endif /* CONFIG_CARL9170FW_USB_DOWN_STREAM */ +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + BIT(CARL9170FW_COMMAND_PHY) | + BIT(CARL9170FW_PSM) | + BIT(CARL9170FW_FIXED_5GHZ_PSM) | +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ +#ifdef CONFIG_CARL9170FW_SECURITY_ENGINE + BIT(CARL9170FW_COMMAND_CAM) | +#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */ +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + BIT(CARL9170FW_WLANTX_CAB) | +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ +#ifdef CONFIG_CARL9170FW_UNUSABLE + BIT(CARL9170FW_UNUSABLE) | +#endif /* CONFIG_CARL9170FW_UNUSABLE */ +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT + BIT(CARL9170FW_GPIO_INTERRUPT) | +#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ +#ifdef CONFIG_CARL9170FW_WOL + BIT(CARL9170FW_WOL) | +#endif /* CONFIG_CARL9170FW_WOL */ + (0)), + + .miniboot_size = cpu_to_le16(0), + .tx_descs = AR9170_TX_BLOCK_NUMBER, + .cmd_bufs = CARL9170_INT_RQ_CACHES, + .rx_max_frame_len = cpu_to_le16(CONFIG_CARL9170FW_RX_FRAME_LEN), + .tx_frag_len = cpu_to_le16(AR9170_BLOCK_SIZE), + .fw_address = cpu_to_le32(AR9170_PRAM_OFFSET), + .bcn_addr = (__le32) cpu_to_le32(&dma_mem.reserved.bcn), + .bcn_len = (__le16) cpu_to_le16(sizeof(dma_mem.reserved.bcn)), + .vif_num = CARL9170_INTF_NUM, + .api_ver = CONFIG_CARL9170FW_RELEASE_VERSION, + ), + + FILL(txsq, TXSQ, + .seq_table_addr = cpu_to_le32(&fw.wlan.sequence), + ), + +#ifdef CONFIG_CARL9170FW_WOL + FILL(wol, WOL, + .supported_triggers = BIT(CARL9170_WOL_DISCONNECT) | + BIT(CARL9170_WOL_MAGIC_PKT), + ), +#endif /* CONFIG_CARL9170FW_WOL */ + + + FILL(motd, MOTD, + .fw_year_month_day = cpu_to_le32( + CARL9170FW_SET_DAY(CARL9170FW_VERSION_DAY) + + CARL9170FW_SET_MONTH(CARL9170FW_VERSION_MONTH) + + CARL9170FW_SET_YEAR(CARL9170FW_VERSION_YEAR)), + .desc = "Community AR9170 Linux", + .release = CARL9170FW_VERSION_GIT), + + FILL(dbg, DBG, + .bogoclock_addr = cpu_to_le32(0), + .counter_addr = cpu_to_le32(&fw.counter), + .rx_total_addr = cpu_to_le32(0), + .rx_overrun_addr = cpu_to_le32(0), + .rx_filter = cpu_to_le32(&fw.wlan.rx_filter), + ), + + FILL(last, LAST), +}; + +#undef FILL + +struct firmware_context_struct fw; diff --git a/carl9170fw/carlfw/src/gpio.c b/carl9170fw/carlfw/src/gpio.c new file mode 100644 index 0000000..85cd81f --- /dev/null +++ b/carl9170fw/carlfw/src/gpio.c @@ -0,0 +1,52 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * GPIO interrupt service + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "gpio.h" + +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT +void gpio_timer(void) +{ + uint32_t cur; + + cur = get(AR9170_GPIO_REG_PORT_DATA) & CARL9170_GPIO_MASK; + + if (cur != fw.cached_gpio_state.gpio) { + fw.cached_gpio_state.gpio = cur; + + send_cmd_to_host(sizeof(struct carl9170_gpio), + CARL9170_RSP_GPIO, 0x00, + (uint8_t *)&fw.cached_gpio_state); + +# ifdef CONFIG_CARL9170FW_WATCHDOG_BUTTON + for (;;) { + /* + * Loop forever... Until the watchdog triggers. + */ + } +# endif /* CONFIG_CARL9170FW_WATCHDOG_BUTTON */ + } +} +#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ diff --git a/carl9170fw/carlfw/src/hostif.c b/carl9170fw/carlfw/src/hostif.c new file mode 100644 index 0000000..e445d5f --- /dev/null +++ b/carl9170fw/carlfw/src/hostif.c @@ -0,0 +1,165 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Host interface routines + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "hostif.h" +#include "printf.h" +#include "wl.h" + +static bool length_check(struct dma_desc *desc) +{ + volatile struct carl9170_tx_superframe *super = __get_super(desc); + + if (unlikely(desc->totalLen < sizeof(struct carl9170_tx_superdesc))) + return false; + + /* + * check if the DMA is complete, or clipped. + * + * NB: The hardware aligns the descriptor length to + * a 4 byte boundary. This makes the direct comparison + * difficult, or unnecessary complex for a hot-path. + */ + if (unlikely(super->s.len > desc->totalLen)) + return false; + + return true; +} + +static void handle_download(void) +{ + struct dma_desc *desc; + + /* + * Under normal conditions, all completed descs should have + * the AR9170_OWN_BITS_SE status flag set. + * However there seems to be a undocumented case where the flag + * is _SW ( handle_download_exception ) + */ + + for_each_desc_not_bits(desc, &fw.pta.down_queue, AR9170_OWN_BITS_HW) { + if (unlikely((length_check(desc) == false))) { + /* + * There is no easy way of telling what was lost. + * + * Therefore we just reclaim the data. + * The driver has to have some sort frame + * timeout mechanism. + */ + + wlan_tx_complete(__get_super(desc), false); + dma_reclaim(&fw.pta.down_queue, desc); + down_trigger(); + } else { + wlan_tx(desc); + } + } + +#ifdef CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT + xorl(AR9170_GPIO_REG_PORT_DATA, 2); +#endif /* CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT */ +} + +static void handle_upload(void) +{ + struct dma_desc *desc; + + for_each_desc_not_bits(desc, &fw.pta.up_queue, AR9170_OWN_BITS_HW) { + /* + * BIG FAT NOTE: + * + * DO NOT compare the descriptor addresses. + */ + if (DESC_PAYLOAD(desc) == (void *) &dma_mem.reserved.rsp) { + fw.usb.int_desc = desc; + fw.usb.int_desc_available = 1; + } else { + dma_reclaim(&fw.wlan.rx_queue, desc); + wlan_trigger(AR9170_DMA_TRIGGER_RXQ); + } + } + +#ifdef CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT + xorl(AR9170_GPIO_REG_PORT_DATA, 2); +#endif /* CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT */ +} + +static void handle_download_exception(void) +{ + struct dma_desc *desc, *target; + + /* actually, the queue should be stopped by now? */ + usb_stop_down_queue(); + + target = (void *)((get(AR9170_PTA_REG_DN_CURR_ADDRH) << 16) | + get(AR9170_PTA_REG_DN_CURR_ADDRL)); + + /* + * Put "forgotten" packets from the head of the queue, back + * to the current position + */ + __while_desc_bits(desc, &fw.pta.down_queue, AR9170_OWN_BITS_HW) { + if (desc == target) + break; + + dma_reclaim(&fw.pta.down_queue, + dma_unlink_head(&fw.pta.down_queue)); + } + + __for_each_desc_continue(desc, &fw.pta.down_queue) { + if ((desc->status & AR9170_OWN_BITS) == AR9170_OWN_BITS_SW) + dma_fix_downqueue(desc); + } + + + usb_start_down_queue(); + + down_trigger(); +} + +/* handle interrupts from DMA chip */ +void handle_host_interface(void) +{ + uint32_t pta_int; + + pta_int = get(AR9170_PTA_REG_INT_FLAG); + +#define HANDLER(intr, flag, func) \ + do { \ + if ((intr & flag) != 0) { \ + func(); \ + } \ + } while (0) + + HANDLER(pta_int, AR9170_PTA_INT_FLAG_DN, handle_download); + + HANDLER(pta_int, AR9170_PTA_INT_FLAG_UP, handle_upload); + + /* This is just guesswork and MAGIC */ + pta_int = get(AR9170_PTA_REG_DMA_STATUS); + HANDLER(pta_int, 0x1, handle_download_exception); + +#undef HANDLER +} diff --git a/carl9170fw/carlfw/src/main.c b/carl9170fw/carlfw/src/main.c new file mode 100644 index 0000000..17cbaf9 --- /dev/null +++ b/carl9170fw/carlfw/src/main.c @@ -0,0 +1,256 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * initialization and main() loop + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "timer.h" +#include "hostif.h" +#include "printf.h" +#include "gpio.h" +#include "wl.h" +#include "rf.h" +#include "usb.h" + +#define AR9170_WATCH_DOG_TIMER 0x100 + +static void timer_init(const unsigned int timer, const unsigned int interval) +{ + /* Set timer to periodic mode */ + orl(AR9170_TIMER_REG_CONTROL, BIT(timer)); + + /* Set time interval */ + set(AR9170_TIMER_REG_TIMER0 + (timer << 2), interval - 1); + + /* Clear timer interrupt flag */ + orl(AR9170_TIMER_REG_INTERRUPT, BIT(timer)); +} + +void clock_set(enum cpu_clock_t clock_, bool on) +{ + /* + * Word of Warning! + * This setting does more than just mess with the CPU Clock. + * So watch out, if you need _stable_ timer interrupts. + */ +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + if (fw.phy.frequency < 3000000) + set(AR9170_PWR_REG_PLL_ADDAC, 0x5163); + else + set(AR9170_PWR_REG_PLL_ADDAC, 0x5143); +#else + set(AR9170_PWR_REG_PLL_ADDAC, 0x5163); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + + fw.ticks_per_usec = GET_VAL(AR9170_PWR_PLL_ADDAC_DIV, + get(AR9170_PWR_REG_PLL_ADDAC)); + + set(AR9170_PWR_REG_CLOCK_SEL, (uint32_t) ((on ? 0x70 : 0x600) | clock_)); + + switch (clock_) { + case AHB_20_22MHZ: + fw.ticks_per_usec >>= 1; + case AHB_40MHZ_OSC: + case AHB_40_44MHZ: + fw.ticks_per_usec >>= 1; + case AHB_80_88MHZ: + break; + } +} + +static void init(void) +{ + led_init(); + +#ifdef CONFIG_CARL9170FW_DEBUG_UART + uart_init(); +#endif /* CONFIG_CARL9170FW_DEBUG_UART */ + + /* 25/50/100ms timer (depends on cpu clock) */ + timer_init(0, 50000); + + /* USB init */ + usb_init(); + + /* initialize DMA memory */ + memset(&dma_mem, 0, sizeof(dma_mem)); + + /* fill DMA rings */ + dma_init_descriptors(); + + /* clear all interrupt */ + set(AR9170_MAC_REG_INT_CTRL, 0xffff); + + orl(AR9170_MAC_REG_AFTER_PNP, 1); + + /* Init watch dog control flag */ + fw.watchdog_enable = 1; + + set(AR9170_TIMER_REG_WATCH_DOG, AR9170_WATCH_DOG_TIMER); + +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT + fw.cached_gpio_state.gpio = get(AR9170_GPIO_REG_PORT_DATA) & + CARL9170_GPIO_MASK; +#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ + + /* this will get the downqueue moving. */ + down_trigger(); +} + +static void handle_fw(void) +{ + if (fw.watchdog_enable == 1) + set(AR9170_TIMER_REG_WATCH_DOG, AR9170_WATCH_DOG_TIMER); + + if (fw.reboot) + reboot(); +} + +static void timer0_isr(void) +{ + wlan_timer(); + +#ifdef CONFIG_CARL9170FW_GPIO_INTERRUPT + gpio_timer(); +#endif /* CONFIG_CARL9170FW_GPIO_INTERRUPT */ + +#ifdef CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT + set(AR9170_GPIO_REG_PORT_DATA, get(AR9170_GPIO_REG_PORT_DATA) ^ 1); +#endif /* CONFIG_CARL9170FW_DEBUG_LED_HEARTBEAT */ +} + +static void handle_timer(void) +{ + uint32_t intr; + + intr = get(AR9170_TIMER_REG_INTERRUPT); + + /* ACK timer interrupt */ + set(AR9170_TIMER_REG_INTERRUPT, intr); + +#define HANDLER(intr, flag, func) \ + do { \ + if ((intr & flag) != 0) { \ + intr &= ~flag; \ + func(); \ + } \ + } while (0) + + HANDLER(intr, BIT(0), timer0_isr); + + if (intr) + DBG("Unhandled Timer Event %x", (unsigned int) intr); + +#undef HANDLER +} + +static void tally_update(void) +{ + unsigned int boff, time, delta; + + time = get_clock_counter(); + if (fw.phy.state == CARL9170_PHY_ON) { + delta = (time - fw.tally_clock); + + fw.tally.active += delta; + + boff = get(AR9170_MAC_REG_BACKOFF_STATUS); + if (boff & AR9170_MAC_BACKOFF_TX_PE) + fw.tally.tx_time += delta; + if (boff & AR9170_MAC_BACKOFF_CCA) + fw.tally.cca += delta; + } + + fw.tally_clock = time; + fw.counter++; +} + +static void __noreturn main_loop(void) +{ + /* main loop */ + while (1) { + handle_fw(); + + /* + * Due to frame order persevation, the wlan subroutines + * must be executed before handle_host_interface. + */ + handle_wlan(); + + handle_host_interface(); + + handle_usb(); + + handle_timer(); + + tally_update(); + } +} + +/* + * The bootcode will work with the device driver to load the firmware + * onto the device's Program SRAM. The Program SRAM has a size of 16 KB + * and also contains the stack, which grows down from 0x204000. + * + * The Program SRAM starts at address 0x200000 on the device. + * The firmware entry point (0x200004) is located in boot.S. + * we put _start() there with the linker script carl9170.lds. + */ + +void __section(boot) start(void) +{ + clock_set(AHB_40MHZ_OSC, true); + + /* watchdog magic pattern check */ + if ((get(AR9170_PWR_REG_WATCH_DOG_MAGIC) & 0xffff0000) == 0x12340000) { + /* watch dog warm start */ + incl(AR9170_PWR_REG_WATCH_DOG_MAGIC); + usb_trigger_out(); + } else if ((get(AR9170_PWR_REG_WATCH_DOG_MAGIC) & 0xffff0000) == 0x98760000) { + /* suspend/resume */ + } + + /* write the magic pattern for watch dog */ + andl(AR9170_PWR_REG_WATCH_DOG_MAGIC, 0xFFFF); + orl(AR9170_PWR_REG_WATCH_DOG_MAGIC, 0x12340000); + + init(); + +#ifdef CONFIG_CARL9170FW_DEBUG + + BUG("TEST BUG"); + BUG_ON(0x2b || !0x2b); + INFO("INFO MESSAGE"); + + /* a set of unique characters to detect transfer data corruptions */ + DBG("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" + " ~`!1@2#3$4%%5^6&7*8(9)0_-+={[}]|\\:;\"'<,>.?/"); +#endif /* CONFIG_CARL9170FW_DEBUG */ + + /* + * Tell the host, that the firmware has booted and is + * now ready to process requests. + */ + send_cmd_to_host(0, CARL9170_RSP_BOOT, 0x00, NULL); + main_loop(); +} diff --git a/carl9170fw/carlfw/src/memcpy.S b/carl9170fw/carlfw/src/memcpy.S new file mode 100644 index 0000000..9539a6b --- /dev/null +++ b/carl9170fw/carlfw/src/memcpy.S @@ -0,0 +1,228 @@ +/* $Id: memcpy.S,v 1.3 2001/07/27 11:50:52 gniibe Exp $ + * + * "memcpy" implementation of SuperH + * + * Copyright (C) 1999 Niibe Yutaka + * + */ + +/* + * void *memcpy(void *dst, const void *src, size_t n); + * No overlap between the memory of DST and of SRC are assumed. + */ + + .globl _memcpy + .align 2 + _memcpy: + tst r6,r6 + bt/s 9f ! if n=0, do nothing + mov r4,r0 + sub r4,r5 ! From here, r5 has the distance to r0 + add r6,r0 ! From here, r0 points the end of copying point + mov #12,r1 + cmp/gt r6,r1 + bt/s 7f ! if it's too small, copy a byte at once + add #-1,r5 + add #1,r5 + ! From here, r6 is free + ! + ! r4 --> [ ... ] DST [ ... ] SRC + ! [ ... ] [ ... ] + ! : : + ! r0 --> [ ... ] r0+r5 --> [ ... ] + ! + ! + mov r5,r1 + mov #3,r2 + and r2,r1 + shll2 r1 + mov r0,r3 ! Save the value on R0 to R3 + mova jmptable,r0 + add r1,r0 + mov.l @r0,r1 + jmp @r1 + mov r3,r0 ! and back to R0 + .balign 4 +jmptable: + .long case0 + .long case1 + .long case2 + .long case3 + + ! copy a byte at once +7: mov r4,r2 + add #1,r2 +8: + cmp/hi r2,r0 + mov.b @(r0,r5),r1 + bt/s 8b ! while (r0>r2) + mov.b r1,@-r0 +9: + rts + nop + +case0: + ! + ! GHIJ KLMN OPQR --> GHIJ KLMN OPQR + ! + ! First, align to long word boundary + mov r0,r3 + and r2,r3 + tst r3,r3 + bt/s 2f + add #-4,r5 + add #3,r5 +1: dt r3 + mov.b @(r0,r5),r1 + bf/s 1b + mov.b r1,@-r0 + ! + add #-3,r5 +2: ! Second, copy a long word at once + mov r4,r2 + add #7,r2 +3: mov.l @(r0,r5),r1 + cmp/hi r2,r0 + bt/s 3b + mov.l r1,@-r0 + ! + ! Third, copy a byte at once, if necessary + cmp/eq r4,r0 + bt/s 9b + add #3,r5 + bra 8b + add #-6,r2 + +case1: + ! + ! GHIJ KLMN OPQR --> ...G HIJK LMNO PQR. + ! + ! First, align to long word boundary + mov r0,r3 + and r2,r3 + tst r3,r3 + bt/s 2f + add #-1,r5 +1: dt r3 + mov.b @(r0,r5),r1 + bf/s 1b + mov.b r1,@-r0 + ! +2: ! Second, read a long word and write a long word at once + mov.l @(r0,r5),r1 + add #-4,r5 + mov r4,r2 + add #7,r2 + ! +#ifdef __LITTLE_ENDIAN__ +3: mov r1,r3 ! RQPO + shll16 r3 + shll8 r3 ! Oxxx + mov.l @(r0,r5),r1 ! NMLK + mov r1,r6 + shlr8 r6 ! xNML + or r6,r3 ! ONML + cmp/hi r2,r0 + bt/s 3b + mov.l r3,@-r0 +#else +3: mov r1,r3 ! OPQR + shlr16 r3 + shlr8 r3 ! xxxO + mov.l @(r0,r5),r1 ! KLMN + mov r1,r6 + shll8 r6 ! LMNx + or r6,r3 ! LMNO + cmp/hi r2,r0 + bt/s 3b + mov.l r3,@-r0 +#endif + ! + ! Third, copy a byte at once, if necessary + cmp/eq r4,r0 + bt/s 9b + add #4,r5 + bra 8b + add #-6,r2 + +case2: + ! + ! GHIJ KLMN OPQR --> ..GH IJKL MNOP QR.. + ! + ! First, align to word boundary + tst #1,r0 + bt/s 2f + add #-1,r5 + mov.b @(r0,r5),r1 + mov.b r1,@-r0 + ! +2: ! Second, read a word and write a word at once + add #-1,r5 + mov r4,r2 + add #3,r2 + ! +3: mov.w @(r0,r5),r1 + cmp/hi r2,r0 + bt/s 3b + mov.w r1,@-r0 + ! + ! Third, copy a byte at once, if necessary + cmp/eq r4,r0 + bt/s 9b + add #1,r5 + mov.b @(r0,r5),r1 + rts + mov.b r1,@-r0 + +case3: + ! + ! GHIJ KLMN OPQR --> .GHI JKLM NOPQ R... + ! + ! First, align to long word boundary + mov r0,r3 + and r2,r3 + tst r3,r3 + bt/s 2f + add #-1,r5 +1: dt r3 + mov.b @(r0,r5),r1 + bf/s 1b + mov.b r1,@-r0 + ! +2: ! Second, read a long word and write a long word at once + add #-2,r5 + mov.l @(r0,r5),r1 + add #-4,r5 + mov r4,r2 + add #7,r2 + ! +#ifdef __LITTLE_ENDIAN__ +3: mov r1,r3 ! RQPO + shll8 r3 ! QPOx + mov.l @(r0,r5),r1 ! NMLK + mov r1,r6 + shlr16 r6 + shlr8 r6 ! xxxN + or r6,r3 ! QPON + cmp/hi r2,r0 + bt/s 3b + mov.l r3,@-r0 +#else +3: mov r1,r3 ! OPQR + shlr8 r3 ! xOPQ + mov.l @(r0,r5),r1 ! KLMN + mov r1,r6 + shll16 r6 + shll8 r6 ! Nxxx + or r6,r3 ! NOPQ + cmp/hi r2,r0 + bt/s 3b + mov.l r3,@-r0 +#endif + ! + ! Third, copy a byte at once, if necessary + cmp/eq r4,r0 + bt/s 9b + add #6,r5 + bra 8b + add #-6,r2 diff --git a/carl9170fw/carlfw/src/memset.S b/carl9170fw/carlfw/src/memset.S new file mode 100644 index 0000000..d39c8a6 --- /dev/null +++ b/carl9170fw/carlfw/src/memset.S @@ -0,0 +1,58 @@ +/* $Id: memset.S,v 1.1 2000/04/14 16:49:01 mjd Exp $ + * + * "memset" implementation of SuperH + * + * Copyright (C) 1999 Niibe Yutaka + * + */ + +/* + * void *memset(void *s, int c, size_t n); + */ + + .globl _memset + .align 2 + _memset: + tst r6,r6 + bt/s 5f ! if n=0, do nothing + add r6,r4 + mov #12,r0 + cmp/gt r6,r0 + bt/s 4f ! if it's too small, set a byte at once + mov r4,r0 + and #3,r0 + cmp/eq #0,r0 + bt/s 2f ! It's aligned + sub r0,r6 +1: + dt r0 + bf/s 1b + mov.b r5,@-r4 +2: ! make VVVV + extu.b r5,r5 + swap.b r5,r0 ! V0 + or r0,r5 ! VV + swap.w r5,r0 ! VV00 + or r0,r5 ! VVVV + ! + mov r6,r0 + shlr2 r0 + shlr r0 ! r0 = r6 >> 3 +3: + dt r0 + mov.l r5,@-r4 ! set 8-byte at once + bf/s 3b + mov.l r5,@-r4 + ! + mov #7,r0 + and r0,r6 + tst r6,r6 + bt 5f + ! fill bytes +4: + dt r6 + bf/s 4b + mov.b r5,@-r4 +5: + rts + mov r4,r0 diff --git a/carl9170fw/carlfw/src/printf.c b/carl9170fw/carlfw/src/printf.c new file mode 100644 index 0000000..3ff05c4 --- /dev/null +++ b/carl9170fw/carlfw/src/printf.c @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2004,2008 Kustaa Nyholm + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "carl9170.h" +#include "printf.h" + +#ifdef CONFIG_CARL9170FW_PRINTF +static char *bf; +static char buf[12]; +static unsigned int num; +static char uc; +static char zs; + +static void out(const char c) +{ + *bf++ = c; +} + +static void outDgt(const char dgt) +{ + out(dgt + (dgt < 10 ? '0' : (uc ? 'A' : 'a') - 10)); + zs = 1; +} + +static void divOut(const unsigned int d) +{ + unsigned char dgt = 0; + + while (num >= d) { + num -= d; + dgt++; + } + + if (zs || dgt > 0) + outDgt(dgt); +} + +void tfp_printf(const char *fmt, ...) +{ + va_list va; + char *p; + unsigned int i; + char ch; + + va_start(va, fmt); + + while ((ch = *(fmt++))) { + if (ch != '%') { + putcharacter(ch); + } else { + char lz = 0; + char w = 0; + ch = *(fmt++); + + if (ch == '0') { + ch = *(fmt++); + lz = 1; + } + + if (ch >= '0' && ch <= '9') { + w = 0; + while (ch >= '0' && ch <= '9') { + w = (((w << 2) + w) << 1) + ch - '0'; + ch = *fmt++; + } + } + + bf = buf; + p = bf; + zs = 0; + + switch (ch) { + case 0: + goto abort; + + case 'u': + case 'd': + num = va_arg(va, unsigned int); + if (ch == 'd' && (int) num < 0) { + num = -(int)num; + out('-'); + } + + for (i = 100000000; i != 1; i /= 10) + divOut(i); + + outDgt(num); + break; + + case 'p': + case 'x': + case 'X': + uc = ch == 'X'; + num = va_arg(va, unsigned int); + for (i = 0x10000000; i != 0x1; i >>= 4) + divOut(i); + + outDgt(num); + break; + + case 'c': + out((char)(va_arg(va, int))); + break; + + case 's': + p = va_arg(va, char*); + break; + case '%': + out('%'); + break; + + default: + break; + } + + *bf = 0; + bf = p; + while (*bf++ && w > 0) + w--; + + while (w-- > 0) + putcharacter(lz ? '0' : ' '); + + while ((ch = *p++)) + putcharacter(ch); + } + } + +abort: + putcharacter('\0'); + va_end(va); +} + +#else + +void min_printf(const char *fmt, ...) +{ + char ch; + + do { + ch = *(fmt++); + putcharacter(ch); + } while (ch); +} + +#endif /* CONFIG_CARL9170FW_PRINTF */ diff --git a/carl9170fw/carlfw/src/reboot.S b/carl9170fw/carlfw/src/reboot.S new file mode 100644 index 0000000..14c1813 --- /dev/null +++ b/carl9170fw/carlfw/src/reboot.S @@ -0,0 +1,11 @@ + .globl _jump_to_bootcode + .type _jump_to_bootcode, @function + _jump_to_bootcode: + mov.l stack_start, r0 + mov.l @r0, sp + mov.l eeprom_start, r0 + mov.l @r0, r0 + jmp @r0 + .align 4 +stack_start: .long 0x00000004 +eeprom_start: .long 0x00000000 diff --git a/carl9170fw/carlfw/src/rf.c b/carl9170fw/carlfw/src/rf.c new file mode 100644 index 0000000..e031dd8 --- /dev/null +++ b/carl9170fw/carlfw/src/rf.c @@ -0,0 +1,277 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * PHY and RF functions + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "timer.h" +#include "printf.h" +#include "rf.h" +#include "shared/phy.h" + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS +static void set_channel_end(void) +{ + /* Manipulate CCA threshold to resume transmission */ + set(AR9170_PHY_REG_CCA_THRESHOLD, 0x0); + /* Disable Virtual CCA */ + andl(AR9170_MAC_REG_QOS_PRIORITY_VIRTUAL_CCA, + ~AR9170_MAC_VIRTUAL_CCA_ALL); + + fw.phy.state = CARL9170_PHY_ON; +} + +void rf_notify_set_channel(void) +{ + /* Manipulate CCA threshold to stop transmission */ + set(AR9170_PHY_REG_CCA_THRESHOLD, 0x300); + /* Enable Virtual CCA */ + orl(AR9170_MAC_REG_QOS_PRIORITY_VIRTUAL_CCA, + AR9170_MAC_VIRTUAL_CCA_ALL); + + /* reset CCA stats */ + fw.tally.active = 0; + fw.tally.cca = 0; + fw.tally.tx_time = 0; + fw.phy.state = CARL9170_PHY_OFF; +} + +/* + * Update delta slope coeff man and exp + */ +static void hw_turn_off_dyn(const uint32_t delta_slope_coeff_exp, + const uint32_t delta_slope_coeff_man, + const uint32_t delta_slope_coeff_exp_shgi, + const uint32_t delta_slope_coeff_man_shgi) +{ + uint32_t tmp; + + tmp = get_async(AR9170_PHY_REG_TIMING3) & 0x00001fff; + tmp |= (delta_slope_coeff_man << AR9170_PHY_TIMING3_DSC_MAN_S) & + AR9170_PHY_TIMING3_DSC_MAN; + tmp |= (delta_slope_coeff_exp << AR9170_PHY_TIMING3_DSC_EXP_S) & + AR9170_PHY_TIMING3_DSC_EXP; + + set(AR9170_PHY_REG_TIMING3, tmp); + + tmp = (delta_slope_coeff_man_shgi << AR9170_PHY_HALFGI_DSC_MAN_S) & + AR9170_PHY_HALFGI_DSC_MAN; + + tmp |= (delta_slope_coeff_exp_shgi << AR9170_PHY_HALFGI_DSC_EXP_S) & + AR9170_PHY_HALFGI_DSC_EXP; + + set(AR9170_PHY_REG_HALFGI, tmp); +} + +static void program_ADDAC(void) +{ + /* ??? Select Internal ADDAC ??? (is external radio) */ + set(AR9170_PHY_REG_ADC_SERIAL_CTL, AR9170_PHY_ADC_SCTL_SEL_EXTERNAL_RADIO); + + delay(10); + + set(0x1c589c, 0x00000000); /*# 7-0 */ + set(0x1c589c, 0x00000000); /*# 15-8 */ + set(0x1c589c, 0x00000000); /*# 23-16 */ + set(0x1c589c, 0x00000000); /*# 31- */ + + set(0x1c589c, 0x00000000); /*# 39- */ + set(0x1c589c, 0x00000000); /*# 47- */ + set(0x1c589c, 0x00000000); /*# 55- [48]:doubles the xtalosc bias current */ + set(0x1c589c, 0x00000000); /*# 63- */ + + set(0x1c589c, 0x00000000); /*# 71- */ + set(0x1c589c, 0x00000000); /*# 79- */ + set(0x1c589c, 0x00000000); /*# 87- */ + set(0x1c589c, 0x00000000); /*# 95- */ + + set(0x1c589c, 0x00000000); /*# 103- */ + set(0x1c589c, 0x00000000); /*# 111- */ + set(0x1c589c, 0x00000000); /*# 119- */ + set(0x1c589c, 0x00000000); /*# 127- */ + + set(0x1c589c, 0x00000000); /*# 135- */ + set(0x1c589c, 0x00000000); /*# 143- */ + set(0x1c589c, 0x00000000); /*# 151- */ + set(0x1c589c, 0x00000030); /*# 159- #[158:156]=xlnabufmode */ + + set(0x1c589c, 0x00000004); /*# 167- [162]:disable clkp_driver to flow */ + set(0x1c589c, 0x00000000); /*# 175- */ + set(0x1c589c, 0x00000000); /*# 183-176 */ + set(0x1c589c, 0x00000000); /*# 191-184 */ + + set(0x1c589c, 0x00000000); /*# 199- */ + set(0x1c589c, 0x00000000); /*# 207- */ + set(0x1c589c, 0x00000000); /*# 215- */ + set(0x1c589c, 0x00000000); /*# 223- */ + + set(0x1c589c, 0x00000000); /*# 231- */ + set(0x1c58c4, 0x00000000); /*# 233-232 */ + + delay(10); + + /* Select External Flow ???? (is internal addac??) */ + set(AR9170_PHY_REG_ADC_SERIAL_CTL, AR9170_PHY_ADC_SCTL_SEL_INTERNAL_ADDAC); +} + +static uint32_t AGC_calibration(uint32_t loop) +{ + uint32_t wrdata; + uint32_t ret; + +#define AGC_CAL_NF (AR9170_PHY_AGC_CONTROL_CAL | AR9170_PHY_AGC_CONTROL_NF) + + wrdata = get_async(AR9170_PHY_REG_AGC_CONTROL) | AGC_CAL_NF; + set(AR9170_PHY_REG_AGC_CONTROL, wrdata); + + ret = get_async(AR9170_PHY_REG_AGC_CONTROL) & AGC_CAL_NF; + + /* sitesurvey : 100 ms / current connected 200 ms */ + while ((ret != 0) && loop--) { + udelay(100); + + ret = get_async(AR9170_PHY_REG_AGC_CONTROL) & AGC_CAL_NF; + } + + /* return the AGC/Noise calibration state to the driver */ + return ret; +} + +#define EIGHTY_FLAG (CARL9170FW_PHY_HT_ENABLE | CARL9170FW_PHY_HT_DYN2040) + +static uint32_t rf_init(const uint32_t delta_slope_coeff_exp, + const uint32_t delta_slope_coeff_man, + const uint32_t delta_slope_coeff_exp_shgi, + const uint32_t delta_slope_coeff_man_shgi, + const uint32_t finiteLoopCount, + const bool initialize) +{ + uint32_t ret; + + hw_turn_off_dyn(delta_slope_coeff_exp, + delta_slope_coeff_man, + delta_slope_coeff_exp_shgi, + delta_slope_coeff_man_shgi); + + if (initialize) { + /* Real Chip */ + program_ADDAC(); + + /* inverse chain 0 <-> chain 2 */ + set(AR9170_PHY_REG_ANALOG_SWAP, AR9170_PHY_ANALOG_SWAP_AB); + + /* swap chain 0 and chain 2 */ + set(AR9170_PHY_REG_ANALOG_SWAP, AR9170_PHY_ANALOG_SWAP_AB | + AR9170_PHY_ANALOG_SWAP_ALT_CHAIN); + + /* Activate BB */ + set(AR9170_PHY_REG_ACTIVE, AR9170_PHY_ACTIVE_EN); + delay(10); + } + + ret = AGC_calibration(finiteLoopCount); + + set_channel_end(); + return ret; +} + +void rf_cmd(const struct carl9170_cmd *cmd, struct carl9170_rsp *resp) +{ + uint32_t ret; + + fw.phy.ht_settings = cmd->rf_init.ht_settings; + fw.phy.frequency = cmd->rf_init.freq; + + /* + * Is the clock controlled by the PHY? + */ + if ((fw.phy.ht_settings & EIGHTY_FLAG) == EIGHTY_FLAG) + clock_set(AHB_80_88MHZ, true); + else + clock_set(AHB_40_44MHZ, true); + + ret = rf_init(le32_to_cpu(cmd->rf_init.delta_slope_coeff_exp), + le32_to_cpu(cmd->rf_init.delta_slope_coeff_man), + le32_to_cpu(cmd->rf_init.delta_slope_coeff_exp_shgi), + le32_to_cpu(cmd->rf_init.delta_slope_coeff_man_shgi), + le32_to_cpu(cmd->rf_init.finiteLoopCount), + cmd->hdr.cmd == CARL9170_CMD_RF_INIT); + + resp->hdr.len = sizeof(struct carl9170_rf_init_result); + resp->rf_init_res.ret = cpu_to_le32(ret); +} + +void rf_psm(void) +{ + u32 bank3; + + if (fw.phy.psm.state == CARL9170_PSM_SOFTWARE) { + /* not enabled by the driver */ + return; + } + + if (fw.phy.psm.state & CARL9170_PSM_SLEEP) { + fw.phy.psm.state &= ~CARL9170_PSM_SLEEP; + + /* disable all agc gain and offset updates to a2 */ + set(AR9170_PHY_REG_TEST2, 0x8000000); + + /* power down ADDAC */ + set(AR9170_PHY_REG_ADC_CTL, + AR9170_PHY_ADC_CTL_OFF_PWDDAC | + AR9170_PHY_ADC_CTL_OFF_PWDADC | + 0xa0000000); + + /* Synthesizer off + RX off */ + bank3 = 0x00400018; + + fw.phy.state = CARL9170_PHY_OFF; + } else { + /* advance to the next PSM step */ + fw.phy.psm.state--; + + if (fw.phy.psm.state == CARL9170_PSM_WAKE) { + /* wake up ADDAC */ + set(AR9170_PHY_REG_ADC_CTL, + AR9170_PHY_ADC_CTL_OFF_PWDDAC | + AR9170_PHY_ADC_CTL_OFF_PWDADC); + + /* enable all agc gain and offset updates to a2 */ + set(AR9170_PHY_REG_TEST2, 0x0); + + /* Synthesizer on + RX on */ + bank3 = 0x01420098; + + fw.phy.state = CARL9170_PHY_ON; + } else { + return ; + } + } + + if (fw.phy.frequency < 3000000) + bank3 |= 0x00800000; + + set(0x1c58f0, bank3); +} + +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ diff --git a/carl9170fw/carlfw/src/uart.c b/carl9170fw/carlfw/src/uart.c new file mode 100644 index 0000000..58f6486 --- /dev/null +++ b/carl9170fw/carlfw/src/uart.c @@ -0,0 +1,76 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * UART debug interface functions. + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "uart.h" +#include "io.h" + +#ifdef CONFIG_CARL9170FW_DEBUG_UART +void uart_putc(const char c) +{ + set(AR9170_UART_REG_TX_HOLDING, c); + + while (get(AR9170_UART_REG_LINE_STATUS) & + AR9170_UART_LINE_STS_TX_FIFO_ALMOST_EMPTY) { + /* + * wait until the byte has made it + */ + } +} + +void uart_print_hex_dump(const void *buf, const int len) +{ + unsigned int offset = 0; + + uart_putc('H'); + uart_putc('D'); + uart_putc(':'); + + while (len > 0) { + uart_putc(*((uint8_t *) buf + offset)); + offset++; + } +} + +void uart_init(void) +{ + unsigned int timeout = 0; + +#ifdef CONFIG_CARL9170FW_UART_CLOCK_25M + set(AR9170_UART_REG_DIVISOR_LSB, 0xc); +#elif CONFIG_CARL9170FW_UART_CLOCK_40M + set(AR9170_UART_REG_DIVISOR_LSB, 0x14); /* 40 MHz */ + set(AR9170_UART_REG_REMAINDER, 0xb38e); +#else +#error "Unsupported UART clock" +#endif /* CARL9170FW_UART_CLOCK_25M */ + + while (get(AR9170_UART_REG_LINE_STATUS) & + AR9170_UART_LINE_STS_TRANSMITTER_EMPTY) { + if (timeout++ >= 10000) + break; + } +} +#endif /* CONFIG_CARL9170FW_DEBUG_UART */ diff --git a/carl9170fw/carlfw/src/udivsi3_i4i-Os.S b/carl9170fw/carlfw/src/udivsi3_i4i-Os.S new file mode 100644 index 0000000..7bbec4c --- /dev/null +++ b/carl9170fw/carlfw/src/udivsi3_i4i-Os.S @@ -0,0 +1,149 @@ +/* Copyright (C) 2006 Free Software Foundation, Inc. + +This file is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +In addition to the permissions in the GNU General Public License, the +Free Software Foundation gives you unlimited permission to link the +compiled version of this file into combinations with other programs, +and to distribute those combinations without any restriction coming +from the use of this file. (The General Public License restrictions +do apply in other respects; for example, they cover modification of +the file, and distribution when not linked into a combine +executable.) + +This file is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +/* Moderately Space-optimized libgcc routines for the Renesas SH / + STMicroelectronics ST40 CPUs. + Contributed by J"orn Rennecke joern.rennecke@st.com. */ + +/* Size: 186 bytes jointly for udivsi3_i4i and sdivsi3_i4i + sh4-200 run times: + udiv small divisor: 55 cycles + udiv large divisor: 52 cycles + sdiv small divisor, positive result: 59 cycles + sdiv large divisor, positive result: 56 cycles + sdiv small divisor, negative result: 65 cycles (*) + sdiv large divisor, negative result: 62 cycles (*) + (*): r2 is restored in the rts delay slot and has a lingering latency + of two more cycles. */ + .balign 4 + .global ___udivsi3_i4i + .global ___udivsi3_i4 + .set ___udivsi3_i4, ___udivsi3_i4i + .type ___udivsi3_i4i, @function + .type ___sdivsi3_i4i, @function +___udivsi3_i4i: + sts pr,r1 + mov.l r4,@-r15 + extu.w r5,r0 + cmp/eq r5,r0 + swap.w r4,r0 + shlr16 r4 + bf/s large_divisor + div0u + mov.l r5,@-r15 + shll16 r5 +sdiv_small_divisor: + div1 r5,r4 + bsr div6 + div1 r5,r4 + div1 r5,r4 + bsr div6 + div1 r5,r4 + xtrct r4,r0 + xtrct r0,r4 + bsr div7 + swap.w r4,r4 + div1 r5,r4 + bsr div7 + div1 r5,r4 + xtrct r4,r0 + mov.l @r15+,r5 + swap.w r0,r0 + mov.l @r15+,r4 + jmp @r1 + rotcl r0 +div7: + div1 r5,r4 +div6: + div1 r5,r4; div1 r5,r4; div1 r5,r4 + div1 r5,r4; div1 r5,r4; rts; div1 r5,r4 + +divx3: + rotcl r0 + div1 r5,r4 + rotcl r0 + div1 r5,r4 + rotcl r0 + rts + div1 r5,r4 + +large_divisor: + mov.l r5,@-r15 +sdiv_large_divisor: + xor r4,r0 + .rept 4 + rotcl r0 + bsr divx3 + div1 r5,r4 + .endr + mov.l @r15+,r5 + mov.l @r15+,r4 + jmp @r1 + rotcl r0 + + .global __sdivsi3_i4i + .global __sdivsi3_i4 + .global __sdivsi3 + .set __sdivsi3_i4, __sdivsi3_i4i + .set __sdivsi3, __sdivsi3_i4i +__sdivsi3_i4i: + mov.l r4,@-r15 + cmp/pz r5 + mov.l r5,@-r15 + bt/s pos_divisor + cmp/pz r4 + neg r5,r5 + extu.w r5,r0 + bt/s neg_result + cmp/eq r5,r0 + neg r4,r4 +pos_result: + swap.w r4,r0 + bra sdiv_check_divisor + sts pr,r1 +pos_divisor: + extu.w r5,r0 + bt/s pos_result + cmp/eq r5,r0 + neg r4,r4 +neg_result: + mova negate_result,r0 + ; + mov r0,r1 + swap.w r4,r0 + lds r2,macl + sts pr,r2 +sdiv_check_divisor: + shlr16 r4 + bf/s sdiv_large_divisor + div0u + bra sdiv_small_divisor + shll16 r5 + .balign 4 +negate_result: + neg r0,r0 + jmp @r2 + sts macl,r2 diff --git a/carl9170fw/carlfw/src/wlan.c b/carl9170fw/carlfw/src/wlan.c new file mode 100644 index 0000000..d3328d6 --- /dev/null +++ b/carl9170fw/carlfw/src/wlan.c @@ -0,0 +1,1211 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Interface to the WLAN part of the chip + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "shared/phy.h" +#include "hostif.h" +#include "timer.h" +#include "wl.h" +#include "printf.h" +#include "rf.h" +#include "linux/ieee80211.h" +#include "wol.h" + +static void wlan_txunstuck(unsigned int queue) +{ + set_wlan_txq_dma_addr(queue, ((uint32_t) fw.wlan.tx_queue[queue].head) | 1); +} + +#ifdef CONFIG_CARL9170FW_DMA_QUEUE_BUMP +static void wlan_txupdate(unsigned int queue) +{ + set_wlan_txq_dma_addr(queue, ((uint32_t) fw.wlan.tx_queue[queue].head)); +} + +static void wlan_dma_bump(unsigned int qidx) +{ + unsigned int offset = qidx; + uint32_t status, trigger; + + status = get(AR9170_MAC_REG_DMA_STATUS) >> 12; + trigger = get(AR9170_MAC_REG_DMA_TRIGGER) >> 12; + + while (offset != 0) { + status >>= 4; + trigger >>= 4; + offset--; + } + + status &= 0xf; + trigger &= 0xf; + + if ((trigger == 0xa) && (status == 0x8)) { + DBG("UNSTUCK"); + wlan_txunstuck(qidx); + } else { + DBG("UPDATE"); + wlan_txupdate(qidx); + } +} +#endif /* CONFIG_CARL9170FW_DMA_QUEUE_BUMP */ + +#ifdef CONFIG_CARL9170FW_DEBUG +static void wlan_dump_queue(unsigned int qidx) +{ + + struct dma_desc *desc; + struct carl9170_tx_superframe *super; + int entries = 0; + + __for_each_desc(desc, &fw.wlan.tx_queue[qidx]) { + super = get_super(desc); + DBG("%d: %p s:%x c:%x tl:%x ds:%x n:%p l:%p ", entries, desc, + desc->status, desc->ctrl, desc->totalLen, + desc->dataSize, desc->nextAddr, desc->lastAddr); + + DBG("c:%x tr:%d ri:%d l:%x m:%x p:%x fc:%x", + super->s.cookie, super->s.cnt, super->s.rix, + super->f.hdr.length, super->f.hdr.mac.set, + (unsigned int) le32_to_cpu(super->f.hdr.phy.set), + super->f.data.i3e.frame_control); + + entries++; + } + + desc = get_wlan_txq_addr(qidx); + + DBG("Queue: %d: te:%d td:%d h:%p c:%p t:%p", + qidx, entries, queue_len(&fw.wlan.tx_queue[qidx]), + fw.wlan.tx_queue[qidx].head, + desc, fw.wlan.tx_queue[qidx].terminator); + + DBG("HW: t:%x s:%x ac:%x c:%x", + (unsigned int) get(AR9170_MAC_REG_DMA_TRIGGER), + (unsigned int) get(AR9170_MAC_REG_DMA_STATUS), + (unsigned int) get(AR9170_MAC_REG_AMPDU_COUNT), + (unsigned int) get(AR9170_MAC_REG_DMA_TXQX_ADDR_CURR)); +} +#endif /* CONFIG_CARL9170FW_DEBUG */ + +static void wlan_send_buffered_tx_status(void) +{ + unsigned int len; + + while (fw.wlan.tx_status_pending) { + len = min((unsigned int)fw.wlan.tx_status_pending, + CARL9170_RSP_TX_STATUS_NUM); + len = min(len, CARL9170_TX_STATUS_NUM - fw.wlan.tx_status_head_idx); + + /* + * rather than memcpy each individual request into a large buffer, + * we _splice_ them all together. + * + * The only downside is however that we have to be careful around + * the edges of the tx_status_cache. + * + * Note: + * Each tx_status is about 2 bytes. However every command package + * must have a size which is a multiple of 4. + */ + + send_cmd_to_host((len * sizeof(struct carl9170_tx_status) + 3) & ~3, + CARL9170_RSP_TXCOMP, len, (void *) + &fw.wlan.tx_status_cache[fw.wlan.tx_status_head_idx]); + + fw.wlan.tx_status_pending -= len; + fw.wlan.tx_status_head_idx += len; + fw.wlan.tx_status_head_idx %= CARL9170_TX_STATUS_NUM; + } +} + +static struct carl9170_tx_status *wlan_get_tx_status_buffer(void) +{ + struct carl9170_tx_status *tmp; + + tmp = &fw.wlan.tx_status_cache[fw.wlan.tx_status_tail_idx++]; + fw.wlan.tx_status_tail_idx %= CARL9170_TX_STATUS_NUM; + + if (fw.wlan.tx_status_pending == CARL9170_TX_STATUS_NUM) + wlan_send_buffered_tx_status(); + + fw.wlan.tx_status_pending++; + + return tmp; +} + +/* generate _aggregated_ tx_status for the host */ +void wlan_tx_complete(struct carl9170_tx_superframe *super, + bool txs) +{ + struct carl9170_tx_status *status; + + status = wlan_get_tx_status_buffer(); + + /* + * The *unique* cookie and AC_ID is used by the driver for + * frame lookup. + */ + status->cookie = super->s.cookie; + status->queue = super->s.queue; + super->s.cookie = 0; + + /* + * This field holds the number of tries of the rate in + * the rate index field (rix). + */ + status->rix = super->s.rix; + status->tries = super->s.cnt; + status->success = (txs) ? 1 : 0; +} + +static bool wlan_tx_consume_retry(struct carl9170_tx_superframe *super) +{ + /* check if this was the last possible retry with this rate */ + if (unlikely(super->s.cnt >= super->s.ri[super->s.rix].tries)) { + /* end of the road - indicate tx failure */ + if (unlikely(super->s.rix == CARL9170_TX_MAX_RETRY_RATES)) + return false; + + /* check if there are alternative rates available */ + if (!super->s.rr[super->s.rix].set) + return false; + + /* try next retry rate */ + super->f.hdr.phy.set = super->s.rr[super->s.rix].set; + + /* finally - mark the old rate as USED */ + super->s.rix++; + + /* update MAC flags */ + super->f.hdr.mac.erp_prot = super->s.ri[super->s.rix].erp_prot; + super->f.hdr.mac.ampdu = super->s.ri[super->s.rix].ampdu; + + /* reinitialize try counter */ + super->s.cnt = 1; + } else { + /* just increase retry counter */ + super->s.cnt++; + } + + return true; +} + +static inline u16 get_tid(struct ieee80211_hdr *hdr) +{ + return (ieee80211_get_qos_ctl(hdr))[0] & IEEE80211_QOS_CTL_TID_MASK; +} + +/* This function will only work on uint32_t-aligned pointers! */ +static bool same_hdr(const void *_d0, const void *_d1) +{ + const uint32_t *d0 = _d0; + const uint32_t *d1 = _d1; + + /* BUG_ON((unsigned long)d0 & 3 || (unsigned long)d1 & 3)) */ + return !((d0[0] ^ d1[0]) | /* FC + DU */ + (d0[1] ^ d1[1]) | /* addr1 */ + (d0[2] ^ d1[2]) | (d0[3] ^ d1[3]) | /* addr2 + addr3 */ + (d0[4] ^ d1[4])); /* addr3 */ +} + +static inline bool same_aggr(struct ieee80211_hdr *a, struct ieee80211_hdr *b) +{ + return (get_tid(a) == get_tid(b)) || same_hdr(a, b); +} + +static void wlan_tx_ampdu_reset(unsigned int qidx) +{ + fw.wlan.ampdu_prev[qidx] = NULL; +} + +static void wlan_tx_ampdu_end(unsigned int qidx) +{ + struct carl9170_tx_superframe *ht_prev = fw.wlan.ampdu_prev[qidx]; + + if (ht_prev) + ht_prev->f.hdr.mac.ba_end = 1; + + wlan_tx_ampdu_reset(qidx); +} + +static void wlan_tx_ampdu(struct carl9170_tx_superframe *super) +{ + unsigned int qidx = super->s.queue; + struct carl9170_tx_superframe *ht_prev = fw.wlan.ampdu_prev[qidx]; + + if (super->f.hdr.mac.ampdu) { + if (ht_prev && + !same_aggr(&super->f.data.i3e, &ht_prev->f.data.i3e)) + ht_prev->f.hdr.mac.ba_end = 1; + else + super->f.hdr.mac.ba_end = 0; + + fw.wlan.ampdu_prev[qidx] = super; + } else { + wlan_tx_ampdu_end(qidx); + } +} + +/* for all tries */ +static void __wlan_tx(struct dma_desc *desc) +{ + struct carl9170_tx_superframe *super = get_super(desc); + + if (unlikely(super->s.fill_in_tsf)) { + struct ieee80211_mgmt *mgmt = (void *) &super->f.data.i3e; + uint32_t *tsf = (uint32_t *) &mgmt->u.probe_resp.timestamp; + + /* + * Truth be told: this is a hack. + * + * The *real* TSF is definitely going to be higher/older. + * But this hardware emulation code is head and shoulders + * above anything a driver can possibly do. + * + * (even, if it's got an accurate atomic clock source). + */ + + read_tsf(tsf); + } + + wlan_tx_ampdu(super); + +#ifdef CONFIG_CARL9170FW_DEBUG + BUG_ON(fw.phy.psm.state != CARL9170_PSM_WAKE); +#endif /* CONFIG_CARL9170FW_DEBUG */ + + /* insert desc into the right queue */ + dma_put(&fw.wlan.tx_queue[super->s.queue], desc); +} + +static void wlan_assign_seq(struct ieee80211_hdr *hdr, unsigned int vif) +{ + hdr->seq_ctrl &= cpu_to_le16(~IEEE80211_SCTL_SEQ); + hdr->seq_ctrl |= cpu_to_le16(fw.wlan.sequence[vif]); + + if (ieee80211_is_first_frag(hdr->seq_ctrl)) + fw.wlan.sequence[vif] += 0x10; +} + +/* prepares frame for the first transmission */ +static void _wlan_tx(struct dma_desc *desc) +{ + struct carl9170_tx_superframe *super = get_super(desc); + + if (unlikely(super->s.assign_seq)) + wlan_assign_seq(&super->f.data.i3e, super->s.vif_id); + + if (unlikely(super->s.ampdu_commit_density)) { + set(AR9170_MAC_REG_AMPDU_DENSITY, + MOD_VAL(AR9170_MAC_AMPDU_DENSITY, + get(AR9170_MAC_REG_AMPDU_DENSITY), + super->s.ampdu_density)); + } + + if (unlikely(super->s.ampdu_commit_factor)) { + set(AR9170_MAC_REG_AMPDU_FACTOR, + MOD_VAL(AR9170_MAC_AMPDU_FACTOR, + get(AR9170_MAC_REG_AMPDU_FACTOR), + 8 << super->s.ampdu_factor)); + } +} + +/* propagate transmission status back to the driver */ +static bool wlan_tx_status(struct dma_queue *queue, + struct dma_desc *desc) +{ + struct carl9170_tx_superframe *super = get_super(desc); + unsigned int qidx = super->s.queue; + bool txfail = false, success; + + success = true; + + /* update hangcheck */ + fw.wlan.last_super_num[qidx] = 0; + + /* + * Note: + * There could be a corner case when the TXFAIL is set + * even though the frame was properly ACKed by the peer: + * a BlockAckReq with the immediate policy will cause + * the receiving peer to produce a BlockACK unfortunately + * the MAC in this chip seems to be expecting a legacy + * ACK and marks the BAR as failed! + */ + + if (!!(desc->ctrl & AR9170_CTRL_FAIL)) { + txfail = !!(desc->ctrl & AR9170_CTRL_TXFAIL); + + /* reset retry indicator flags */ + desc->ctrl &= ~(AR9170_CTRL_TXFAIL | AR9170_CTRL_BAFAIL); + + /* + * Note: wlan_tx_consume_retry will override the old + * phy [CCK,OFDM, HT, BW20/40, MCS...] and mac vectors + * [AMPDU,RTS/CTS,...] therefore be careful when they + * are used. + */ + if (wlan_tx_consume_retry(super)) { + /* + * retry for simple and aggregated 802.11 frames. + * + * Note: We must not mess up the original frame + * order. + */ + + if (!super->f.hdr.mac.ampdu) { + /* + * 802.11 - 7.1.3.1.5. + * set "Retry Field" for consecutive attempts + * + * Note: For AMPDU see: + * 802.11n 9.9.1.6 "Retransmit Procedures" + */ + super->f.data.i3e.frame_control |= + cpu_to_le16(IEEE80211_FCTL_RETRY); + } + + if (txfail) { + /* Normal TX Failure */ + + /* demise descriptor ownership back to the hardware */ + dma_rearm(desc); + + /* + * And this will get the queue going again. + * To understand why: you have to get the HW + * specs... But sadly I never saw them. + */ + wlan_txunstuck(qidx); + + /* abort cycle - this is necessary due to HW design */ + return false; + } else { + /* (HT-) BlockACK failure */ + + /* + * Unlink the failed attempt and put it into + * the retry queue. The caller routine must + * be aware of this so the frames don't get lost. + */ + +#ifndef CONFIG_CARL9170FW_DEBUG + dma_unlink_head(queue); +#else /* CONFIG_CARL9170FW_DEBUG */ + BUG_ON(dma_unlink_head(queue) != desc); +#endif /* CONFIG_CARL9170FW_DEBUG */ + dma_put(&fw.wlan.tx_retry, desc); + return true; + } + } else { + /* out of frame attempts - discard frame */ + success = false; + } + } + +#ifndef CONFIG_CARL9170FW_DEBUG + dma_unlink_head(queue); +#else /* CONFIG_CARL9170FW_DEBUG */ + BUG_ON(dma_unlink_head(queue) != desc); +#endif /* CONFIG_CARL9170FW_DEBUG */ + if (txfail) { + /* + * Issue the queue bump, + * We need to do this in case this was the frame's last + * possible retry attempt and it unfortunately: it failed. + */ + + wlan_txunstuck(qidx); + } + + unhide_super(desc); + + if (unlikely(super == fw.wlan.fw_desc_data)) { + fw.wlan.fw_desc = desc; + fw.wlan.fw_desc_available = 1; + + if (fw.wlan.fw_desc_callback) + fw.wlan.fw_desc_callback(super, success); + + return true; + } + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + if (unlikely(super->s.cab)) + fw.wlan.cab_queue_len[super->s.vif_id]--; +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + + wlan_tx_complete(super, success); + + if (ieee80211_is_back_req(super->f.data.i3e.frame_control)) { + fw.wlan.queued_bar--; + } + + /* recycle freed descriptors */ + dma_reclaim(&fw.pta.down_queue, desc); + down_trigger(); + return true; +} + +static void handle_tx_completion(void) +{ + struct dma_desc *desc; + int i; + + for (i = AR9170_TXQ_SPECIAL; i >= AR9170_TXQ0; i--) { + __while_desc_bits(desc, &fw.wlan.tx_queue[i], AR9170_OWN_BITS_SW) { + if (!wlan_tx_status(&fw.wlan.tx_queue[i], desc)) { + /* termination requested. */ + break; + } + } + + wlan_tx_ampdu_reset(i); + + for_each_desc(desc, &fw.wlan.tx_retry) + __wlan_tx(desc); + + wlan_tx_ampdu_end(i); + if (!queue_empty(&fw.wlan.tx_queue[i])) + wlan_trigger(BIT(i)); + } +} + +void __hot wlan_tx(struct dma_desc *desc) +{ + struct carl9170_tx_superframe *super = DESC_PAYLOAD(desc); + + if (ieee80211_is_back_req(super->f.data.i3e.frame_control)) { + fw.wlan.queued_bar++; + } + + /* initialize rate control struct */ + super->s.rix = 0; + super->s.cnt = 1; + hide_super(desc); + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + if (unlikely(super->s.cab)) { + fw.wlan.cab_queue_len[super->s.vif_id]++; + dma_put(&fw.wlan.cab_queue[super->s.vif_id], desc); + return; + } +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + + _wlan_tx(desc); + __wlan_tx(desc); + wlan_trigger(BIT(super->s.queue)); +} + +void wlan_tx_fw(struct carl9170_tx_superdesc *super, fw_desc_callback_t cb) +{ + if (!fw.wlan.fw_desc_available) + return; + + fw.wlan.fw_desc_available = 0; + + /* Format BlockAck */ + fw.wlan.fw_desc->ctrl = AR9170_CTRL_FS_BIT | AR9170_CTRL_LS_BIT; + fw.wlan.fw_desc->status = AR9170_OWN_BITS_SW; + + fw.wlan.fw_desc->totalLen = fw.wlan.fw_desc->dataSize = super->len; + fw.wlan.fw_desc_data = fw.wlan.fw_desc->dataAddr = super; + fw.wlan.fw_desc->nextAddr = fw.wlan.fw_desc->lastAddr = + fw.wlan.fw_desc; + fw.wlan.fw_desc_callback = cb; + wlan_tx(fw.wlan.fw_desc); +} + +static void wlan_send_buffered_ba(void) +{ + struct carl9170_tx_ba_superframe *baf = &dma_mem.reserved.ba.ba; + struct ieee80211_ba *ba = (struct ieee80211_ba *) &baf->f.ba; + struct carl9170_bar_ctx *ctx; + + if (likely(!fw.wlan.queued_ba)) + return; + + /* there's no point to continue when the ba_desc is not available. */ + if (!fw.wlan.fw_desc_available) + return; + + ctx = &fw.wlan.ba_cache[fw.wlan.ba_head_idx]; + fw.wlan.ba_head_idx++; + fw.wlan.ba_head_idx %= CONFIG_CARL9170FW_BACK_REQS_NUM; + fw.wlan.queued_ba--; + + baf->s.len = sizeof(struct carl9170_tx_superdesc) + + sizeof(struct ar9170_tx_hwdesc) + + sizeof(struct ieee80211_ba); + baf->s.ri[0].tries = 1; + baf->s.cookie = 0; + baf->s.queue = AR9170_TXQ_VO; + baf->f.hdr.length = sizeof(struct ieee80211_ba) + FCS_LEN; + + baf->f.hdr.mac.no_ack = 1; + + baf->f.hdr.phy.modulation = 1; /* OFDM */ + baf->f.hdr.phy.tx_power = 34; /* 17 dBm */ + baf->f.hdr.phy.chains = 1; + baf->f.hdr.phy.mcs = AR9170_TXRX_PHY_RATE_OFDM_6M; + + /* format outgoing BA */ + ba->frame_control = cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_BACK); + ba->duration = cpu_to_le16(0); + + /* the BAR contains all necessary MACs. All we need is to swap them */ + memcpy(ba->ra, ctx->ta, 6); + memcpy(ba->ta, ctx->ra, 6); + + /* + * Unfortunately, we cannot look into the hardware's scoreboard. + * Therefore we have to proceed as described in 802.11n 9.10.7.5 + * and send a null BlockAck. + */ + memset(ba->bitmap, 0x0, sizeof(ba->bitmap)); + + /* + * Both, the original firmare and ath9k set the NO ACK flag in + * the BA Ack Policy subfield. + */ + ba->control = ctx->control | cpu_to_le16(1); + ba->start_seq_num = ctx->start_seq_num; + wlan_tx_fw(&baf->s, NULL); +} + +static struct carl9170_bar_ctx *wlan_get_bar_cache_buffer(void) +{ + struct carl9170_bar_ctx *tmp; + + tmp = &fw.wlan.ba_cache[fw.wlan.ba_tail_idx]; + fw.wlan.ba_tail_idx++; + fw.wlan.ba_tail_idx %= CONFIG_CARL9170FW_BACK_REQS_NUM; + if (fw.wlan.queued_ba < CONFIG_CARL9170FW_BACK_REQS_NUM) + fw.wlan.queued_ba++; + + return tmp; +} + +static void handle_bar(struct dma_desc *desc __unused, struct ieee80211_hdr *hdr, + unsigned int len, unsigned int mac_err) +{ + struct ieee80211_bar *bar; + struct carl9170_bar_ctx *ctx; + + if (unlikely(mac_err)) { + /* + * This check does a number of things: + * 1. checks if the frame is in good nick + * 2. checks if the RA (MAC) matches + */ + return ; + } + + if (unlikely(len < (sizeof(struct ieee80211_bar) + FCS_LEN))) { + /* + * Sneaky, corrupted BARs... but not with us! + */ + + return ; + } + + bar = (void *) hdr; + + if ((bar->control & cpu_to_le16(IEEE80211_BAR_CTRL_MULTI_TID)) || + !(bar->control & cpu_to_le16(IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA))) { + /* not implemented yet */ + + return ; + } + + ctx = wlan_get_bar_cache_buffer(); + + memcpy(ctx->ra, bar->ra, 6); + memcpy(ctx->ta, bar->ta, 6); + ctx->control = bar->control; + ctx->start_seq_num = bar->start_seq_num; +} + +static void wlan_check_rx_overrun(void) +{ + uint32_t overruns, total; + + fw.tally.rx_total += total = get(AR9170_MAC_REG_RX_TOTAL); + fw.tally.rx_overrun += overruns = get(AR9170_MAC_REG_RX_OVERRUN); + if (unlikely(overruns)) { + if (overruns == total) { + DBG("RX Overrun"); + fw.wlan.mac_reset++; + } + + wlan_trigger(AR9170_DMA_TRIGGER_RXQ); + } +} + +static unsigned int wlan_rx_filter(struct dma_desc *desc) +{ + struct ieee80211_hdr *hdr; + unsigned int data_len; + unsigned int rx_filter; + unsigned int mac_err; + + data_len = ar9170_get_rx_mpdu_len(desc); + mac_err = ar9170_get_rx_macstatus_error(desc); + +#define AR9170_RX_ERROR_BAD (AR9170_RX_ERROR_FCS | AR9170_RX_ERROR_PLCP) + + if (unlikely(data_len < (4 + 6 + FCS_LEN) || + desc->totalLen > CONFIG_CARL9170FW_RX_FRAME_LEN) || + mac_err & AR9170_RX_ERROR_BAD) { + /* + * This frame is too damaged to do anything + * useful with it. + */ + + return CARL9170_RX_FILTER_BAD; + } + + rx_filter = 0; + if (mac_err & AR9170_RX_ERROR_WRONG_RA) + rx_filter |= CARL9170_RX_FILTER_OTHER_RA; + + if (mac_err & AR9170_RX_ERROR_DECRYPT) + rx_filter |= CARL9170_RX_FILTER_DECRY_FAIL; + + hdr = ar9170_get_rx_i3e(desc); + if (likely(ieee80211_is_data(hdr->frame_control))) { + rx_filter |= CARL9170_RX_FILTER_DATA; + } else if (ieee80211_is_ctl(hdr->frame_control)) { + switch (le16_to_cpu(hdr->frame_control) & IEEE80211_FCTL_STYPE) { + case IEEE80211_STYPE_BACK_REQ: + handle_bar(desc, hdr, data_len, mac_err); + rx_filter |= CARL9170_RX_FILTER_CTL_BACKR; + break; + case IEEE80211_STYPE_PSPOLL: + rx_filter |= CARL9170_RX_FILTER_CTL_PSPOLL; + break; + case IEEE80211_STYPE_BACK: + if (fw.wlan.queued_bar) { + /* + * Don't filter block acks when the application + * has queued BARs. This is because the firmware + * can't do the accouting and the application + * has to sort out if the BA belongs to any BARs. + */ + break; + } + /* otherwise fall through */ + default: + rx_filter |= CARL9170_RX_FILTER_CTL_OTHER; + break; + } + } else { + /* ieee80211_is_mgmt */ + rx_filter |= CARL9170_RX_FILTER_MGMT; + } + + if (unlikely(fw.suspend_mode == CARL9170_HOST_SUSPENDED)) { + wol_rx(rx_filter, hdr, min(data_len, + (unsigned int)AR9170_BLOCK_SIZE)); + } + +#undef AR9170_RX_ERROR_BAD + + return rx_filter; +} + +static void handle_rx(void) +{ + struct dma_desc *desc; + + for_each_desc_not_bits(desc, &fw.wlan.rx_queue, AR9170_OWN_BITS_HW) { + if (!(wlan_rx_filter(desc) & fw.wlan.rx_filter)) { + dma_put(&fw.pta.up_queue, desc); + up_trigger(); + } else { + dma_reclaim(&fw.wlan.rx_queue, desc); + wlan_trigger(AR9170_DMA_TRIGGER_RXQ); + } + } +} + +#ifdef CONFIG_CARL9170FW_CAB_QUEUE +void wlan_cab_flush_queue(const unsigned int vif) +{ + struct dma_queue *cab_queue = &fw.wlan.cab_queue[vif]; + struct dma_desc *desc; + + /* move queued frames into the main tx queues */ + for_each_desc(desc, cab_queue) { + struct carl9170_tx_superframe *super = get_super(desc); + if (!queue_empty(cab_queue)) { + /* + * Set MOREDATA flag for all, + * but the last queued frame. + * see: 802.11-2007 11.2.1.5 f) + * + * This is actually the reason to why + * we need to prevent the reentry. + */ + + super->f.data.i3e.frame_control |= + cpu_to_le16(IEEE80211_FCTL_MOREDATA); + } else { + super->f.data.i3e.frame_control &= + cpu_to_le16(~IEEE80211_FCTL_MOREDATA); + } + + /* ready to roll! */ + _wlan_tx(desc); + __wlan_tx(desc); + wlan_trigger(BIT(super->s.queue)); + } +} + +static uint8_t *beacon_find_ie(uint8_t ie, void *addr, + const unsigned int len) +{ + struct ieee80211_mgmt *mgmt = addr; + uint8_t *pos, *end; + + pos = mgmt->u.beacon.variable; + end = (uint8_t *) ((unsigned long)mgmt + (len - FCS_LEN)); + while (pos < end) { + if (pos + 2 + pos[1] > end) + return NULL; + + if (pos[0] == ie) + return pos; + + pos += pos[1] + 2; + } + + return NULL; +} + +void wlan_modify_beacon(const unsigned int vif, + const unsigned int addr, const unsigned int len) +{ + uint8_t *_ie; + struct ieee80211_tim_ie *ie; + + _ie = beacon_find_ie(WLAN_EID_TIM, (void *)addr, len); + if (likely(_ie)) { + ie = (struct ieee80211_tim_ie *) &_ie[2]; + + if (!queue_empty(&fw.wlan.cab_queue[vif]) && (ie->dtim_count == 0)) { + /* schedule DTIM transfer */ + fw.wlan.cab_flush_trigger[vif] = CARL9170_CAB_TRIGGER_ARMED; + } else if ((fw.wlan.cab_queue_len[vif] == 0) && (fw.wlan.cab_flush_trigger[vif])) { + /* undo all chances to the beacon structure */ + ie->bitmap_ctrl &= ~0x1; + fw.wlan.cab_flush_trigger[vif] = CARL9170_CAB_TRIGGER_EMPTY; + } + + /* Triggered by CARL9170_CAB_TRIGGER_ARMED || CARL9170_CAB_TRIGGER_DEFER */ + if (fw.wlan.cab_flush_trigger[vif]) { + /* Set the almighty Multicast Traffic Indication Bit. */ + ie->bitmap_ctrl |= 0x1; + } + } + + /* + * Ideally, the sequence number should be assigned by the TX arbiter + * hardware. But AFAIK that's not possible, so we have to go for the + * next best thing and write it into the beacon fifo during the open + * beacon update window. + */ + + wlan_assign_seq((struct ieee80211_hdr *)addr, vif); +} + +static void wlan_send_buffered_cab(void) +{ + unsigned int i; + + for (i = 0; i < CARL9170_INTF_NUM; i++) { + if (unlikely(fw.wlan.cab_flush_trigger[i] == CARL9170_CAB_TRIGGER_ARMED)) { + /* + * This is hardcoded into carl9170usb driver. + * + * The driver must set the PRETBTT event to beacon_interval - + * CARL9170_PRETBTT_KUS (usually 6) Kus. + * + * But still, we can only do so much about 802.11-2007 9.3.2.1 & + * 11.2.1.6. Let's hope the current solution is adequate enough. + */ + + if (is_after_msecs(fw.wlan.cab_flush_time, (CARL9170_TBTT_DELTA))) { + wlan_cab_flush_queue(i); + + /* + * This prevents the code from sending new BC/MC frames + * which were queued after the previous buffered traffic + * has been sent out... They will have to wait until the + * next DTIM beacon comes along. + */ + fw.wlan.cab_flush_trigger[i] = CARL9170_CAB_TRIGGER_DEFER; + } + } + + } +} +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + +static void handle_beacon_config(void) +{ + uint32_t bcn_count; + + bcn_count = get(AR9170_MAC_REG_BCN_COUNT); + send_cmd_to_host(4, CARL9170_RSP_BEACON_CONFIG, 0x00, + (uint8_t *) &bcn_count); +} + +static void handle_pretbtt(void) +{ +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + fw.wlan.cab_flush_time = get_clock_counter(); +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + rf_psm(); + + send_cmd_to_host(4, CARL9170_RSP_PRETBTT, 0x00, + (uint8_t *) &fw.phy.psm.state); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ +} + +static void handle_atim(void) +{ + send_cmd_to_host(0, CARL9170_RSP_ATIM, 0x00, NULL); +} + +#ifdef CONFIG_CARL9170FW_DEBUG +static void handle_qos(void) +{ + /* + * What is the QoS Bit used for? + * Is it only an indicator for TXOP & Burst, or + * should we do something here? + */ +} + +static void handle_radar(void) +{ + send_cmd_to_host(0, CARL9170_RSP_RADAR, 0x00, NULL); +} +#endif /* CONFIG_CARL9170FW_DEBUG */ + +static void wlan_janitor(void) +{ +#ifdef CONFIG_CARL9170FW_CAB_QUEUE + wlan_send_buffered_cab(); +#endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + + wlan_send_buffered_tx_status(); + + wlan_send_buffered_ba(); + + wol_janitor(); +} + +void handle_wlan(void) +{ + uint32_t intr; + + intr = get(AR9170_MAC_REG_INT_CTRL); + /* ACK Interrupt */ + set(AR9170_MAC_REG_INT_CTRL, intr); + +#define HANDLER(intr, flag, func) \ + do { \ + if ((intr & flag) != 0) { \ + func(); \ + } \ + } while (0) + + intr |= fw.wlan.soft_int; + fw.wlan.soft_int = 0; + + HANDLER(intr, AR9170_MAC_INT_PRETBTT, handle_pretbtt); + + HANDLER(intr, AR9170_MAC_INT_ATIM, handle_atim); + + HANDLER(intr, AR9170_MAC_INT_RXC, handle_rx); + + HANDLER(intr, (AR9170_MAC_INT_TXC | AR9170_MAC_INT_RETRY_FAIL), + handle_tx_completion); + +#ifdef CONFIG_CARL9170FW_DEBUG + HANDLER(intr, AR9170_MAC_INT_QOS, handle_qos); + + HANDLER(intr, AR9170_MAC_INT_RADAR, handle_radar); +#endif /* CONFIG_CARL9170FW_DEBUG */ + + HANDLER(intr, AR9170_MAC_INT_CFG_BCN, handle_beacon_config); + + if (unlikely(intr)) + DBG("Unhandled Interrupt %x\n", (unsigned int) intr); + + wlan_janitor(); + +#undef HANDLER +} + +enum { + CARL9170FW_TX_MAC_BUMP = 4, + CARL9170FW_TX_MAC_DEBUG = 6, + CARL9170FW_TX_MAC_RESET = 7, +}; + +static void wlan_check_hang(void) +{ + struct dma_desc *desc; + int i; + + for (i = AR9170_TXQ_SPECIAL; i >= AR9170_TXQ0; i--) { + if (queue_empty(&fw.wlan.tx_queue[i])) { + /* Nothing to do here... move along */ + continue; + } + + /* fetch the current DMA queue position */ + desc = (struct dma_desc *)get_wlan_txq_addr(i); + + /* Stuck frame detection */ + if (unlikely(DESC_PAYLOAD(desc) == fw.wlan.last_super[i])) { + fw.wlan.last_super_num[i]++; + + if (unlikely(fw.wlan.last_super_num[i] >= CARL9170FW_TX_MAC_RESET)) { + /* + * schedule MAC reset (aka OFF/ON => dead) + * + * This will almost certainly kill + * the device for good, but it's the + * recommended thing to do... + */ + + fw.wlan.mac_reset++; + } + +#ifdef CONFIG_CARL9170FW_DEBUG + if (unlikely(fw.wlan.last_super_num[i] >= CARL9170FW_TX_MAC_DEBUG)) { + /* + * Sigh, the queue is almost certainly + * dead. Dump the queue content to the + * user, maybe we find out why it got + * so stuck. + */ + + wlan_dump_queue(i); + } +#endif /* CONFIG_CARL9170FW_DEBUG */ + +#ifdef CONFIG_CARL9170FW_DMA_QUEUE_BUMP + if (unlikely(fw.wlan.last_super_num[i] >= CARL9170FW_TX_MAC_BUMP)) { + /* + * Hrrm, bump the queue a bit. + * maybe this will get it going again. + */ + + wlan_dma_bump(i); + wlan_trigger(BIT(i)); + } +#endif /* CONFIG_CARL9170FW_DMA_QUEUE_BUMP */ + } else { + /* Nothing stuck */ + fw.wlan.last_super[i] = DESC_PAYLOAD(desc); + fw.wlan.last_super_num[i] = 0; + } + } +} + +#ifdef CONFIG_CARL9170FW_FW_MAC_RESET +/* + * NB: Resetting the MAC is a two-edged sword. + * On most occasions, it does what it is supposed to do. + * But there is a chance that this will make it + * even worse and the radio dies silently. + */ +static void wlan_mac_reset(void) +{ + uint32_t val; + uint32_t agg_wait_counter; + uint32_t agg_density; + uint32_t bcn_start_addr; + uint32_t rctl, rcth; + uint32_t cam_mode; + uint32_t ack_power; + uint32_t rts_cts_tpc; + uint32_t rts_cts_rate; + int i; + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + uint32_t rx_BB; +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + +#ifdef CONFIG_CARL9170FW_NOISY_MAC_RESET + INFO("MAC RESET"); +#endif /* CONFIG_CARL9170FW_NOISY_MAC_RESET */ + + /* Save aggregation parameters */ + agg_wait_counter = get(AR9170_MAC_REG_AMPDU_FACTOR); + agg_density = get(AR9170_MAC_REG_AMPDU_DENSITY); + + bcn_start_addr = get(AR9170_MAC_REG_BCN_ADDR); + + cam_mode = get(AR9170_MAC_REG_CAM_MODE); + rctl = get(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_L); + rcth = get(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_H); + + ack_power = get(AR9170_MAC_REG_ACK_TPC); + rts_cts_tpc = get(AR9170_MAC_REG_RTS_CTS_TPC); + rts_cts_rate = get(AR9170_MAC_REG_RTS_CTS_RATE); + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + /* 0x1c8960 write only */ + rx_BB = get(AR9170_PHY_REG_SWITCH_CHAIN_0); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + + /* TX/RX must be stopped by now */ + val = get(AR9170_MAC_REG_POWER_STATE_CTRL); + + val |= AR9170_MAC_POWER_STATE_CTRL_RESET; + + /* + * Manipulate CCA threshold to stop transmission + * + * set(AR9170_PHY_REG_CCA_THRESHOLD, 0x300); + */ + + /* + * check Rx state in 0(idle) 9(disable) + * + * chState = (get(AR9170_MAC_REG_MISC_684) >> 16) & 0xf; + * while( (chState != 0) && (chState != 9)) { + * chState = (get(AR9170_MAC_REG_MISC_684) >> 16) & 0xf; + * } + */ + + set(AR9170_MAC_REG_POWER_STATE_CTRL, val); + + delay(2); + + /* Restore aggregation parameters */ + set(AR9170_MAC_REG_AMPDU_FACTOR, agg_wait_counter); + set(AR9170_MAC_REG_AMPDU_DENSITY, agg_density); + + set(AR9170_MAC_REG_BCN_ADDR, bcn_start_addr); + set(AR9170_MAC_REG_CAM_MODE, cam_mode); + set(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_L, rctl); + set(AR9170_MAC_REG_CAM_ROLL_CALL_TBL_H, rcth); + + set(AR9170_MAC_REG_RTS_CTS_TPC, rts_cts_tpc); + set(AR9170_MAC_REG_ACK_TPC, ack_power); + set(AR9170_MAC_REG_RTS_CTS_RATE, rts_cts_rate); + +#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS + set(AR9170_PHY_REG_SWITCH_CHAIN_2, rx_BB); +#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */ + + /* + * Manipulate CCA threshold to resume transmission + * + * set(AR9170_PHY_REG_CCA_THRESHOLD, 0x0); + */ + + val = AR9170_DMA_TRIGGER_RXQ; + /* Reinitialize all WLAN TX DMA queues. */ + for (i = AR9170_TXQ_SPECIAL; i >= AR9170_TXQ0; i--) { + struct dma_desc *iter; + + __for_each_desc_bits(iter, &fw.wlan.tx_queue[i], AR9170_OWN_BITS_SW); + + /* kill the stuck frame */ + if (!is_terminator(&fw.wlan.tx_queue[i], iter) && + fw.wlan.last_super_num[i] >= CARL9170FW_TX_MAC_RESET && + fw.wlan.last_super[i] == DESC_PAYLOAD(iter)) { + struct carl9170_tx_superframe *super = get_super(iter); + + iter->status = AR9170_OWN_BITS_SW; + /* + * Mark the frame as failed. + * The BAFAIL flag allows the frame to sail through + * wlan_tx_status without much "unstuck" trouble. + */ + iter->ctrl &= ~(AR9170_CTRL_FAIL); + iter->ctrl |= AR9170_CTRL_BAFAIL; + + super->s.cnt = CARL9170_TX_MAX_RATE_TRIES; + super->s.rix = CARL9170_TX_MAX_RETRY_RATES; + + fw.wlan.last_super_num[i] = 0; + fw.wlan.last_super[i] = NULL; + iter = iter->lastAddr->nextAddr; + } + + set_wlan_txq_dma_addr(i, (uint32_t) iter); + if (!is_terminator(&fw.wlan.tx_queue[i], iter)) + val |= BIT(i); + + DBG("Q:%d l:%d h:%p t:%p cu:%p it:%p ct:%x st:%x\n", i, queue_len(&fw.wlan.tx_queue[i]), + fw.wlan.tx_queue[i].head, fw.wlan.tx_queue[i].terminator, + get_wlan_txq_addr(i), iter, iter->ctrl, iter->status); + } + + fw.wlan.soft_int |= AR9170_MAC_INT_RXC | AR9170_MAC_INT_TXC | + AR9170_MAC_INT_RETRY_FAIL; + + set(AR9170_MAC_REG_DMA_RXQ_ADDR, (uint32_t) fw.wlan.rx_queue.head); + wlan_trigger(val); +} +#else +static void wlan_mac_reset(void) +{ + /* The driver takes care of reinitializing the device */ + BUG("MAC RESET"); +} +#endif /* CONFIG_CARL9170FW_FW_MAC_RESET */ + +void __cold wlan_timer(void) +{ + unsigned int cached_mac_reset; + + cached_mac_reset = fw.wlan.mac_reset; + + /* TX Queue Hang check */ + wlan_check_hang(); + + /* RX Overrun check */ + wlan_check_rx_overrun(); + + if (unlikely(fw.wlan.mac_reset >= CARL9170_MAC_RESET_RESET)) { + wlan_mac_reset(); + fw.wlan.mac_reset = CARL9170_MAC_RESET_OFF; + } else { + if (fw.wlan.mac_reset && cached_mac_reset == fw.wlan.mac_reset) + fw.wlan.mac_reset--; + } +} diff --git a/carl9170fw/carlfw/src/wol.c b/carl9170fw/carlfw/src/wol.c new file mode 100644 index 0000000..7afb8e5 --- /dev/null +++ b/carl9170fw/carlfw/src/wol.c @@ -0,0 +1,287 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * WakeUp on WLAN functions + * + * Copyright 2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "shared/phy.h" +#include "timer.h" +#include "wl.h" +#include "printf.h" +#include "rf.h" +#include "wol.h" +#include "linux/ieee80211.h" + +#ifdef CONFIG_CARL9170FW_WOL + +void wol_cmd(const struct carl9170_wol_cmd *cmd) +{ + memcpy(&fw.wol.cmd, cmd, sizeof(cmd)); +} + +void wol_prepare(void) +{ + /* set MAC filter */ + memcpy((void *)AR9170_MAC_REG_MAC_ADDR_L, fw.wol.cmd.mac, 6); + memcpy((void *)AR9170_MAC_REG_BSSID_L, fw.wol.cmd.bssid, 6); + set(AR9170_MAC_REG_RX_CONTROL, AR9170_MAC_RX_CTRL_DEAGG); + + /* set filter policy to: discard everything */ + fw.wlan.rx_filter = CARL9170_RX_FILTER_EVERYTHING; + + /* reenable rx dma */ + wlan_trigger(AR9170_DMA_TRIGGER_RXQ); + + /* initialize the last_beacon timer */ + fw.wol.last_null = fw.wol.last_beacon = get_clock_counter(); +} + +#ifdef CONFIG_CARL9170FW_WOL_NL80211_TRIGGERS +static bool wlan_rx_wol_magic_packet(const struct ieee80211_hdr *hdr, const unsigned int len) +{ + const unsigned char *data, *end, *mac; + unsigned int found = 0; + + /* + * LIMITATION: + * We can only scan the first AR9170_BLOCK_SIZE [=~320] bytes + * for MAGIC patterns! + */ + + mac = (const unsigned char *) AR9170_MAC_REG_MAC_ADDR_L; + + data = (u8 *)((unsigned long)hdr + ieee80211_hdrlen(hdr->frame_control)); + end = (u8 *)((unsigned long)hdr + len); + + /* + * scan for standard WOL Magic frame + * + * "A physical WakeOnLAN (Magic Packet) will look like this: + * --------------------------------------------------------------- + * | Synchronization Stream | Target MAC | Password (optional) | + * | 6 octets | 96 octets | 0, 4 or 6 | + * --------------------------------------------------------------- + * + * The Synchronization Stream is defined as 6 bytes of FFh. + * The Target MAC block contains 16 duplications of the IEEEaddress + * of the target, with no breaks or interruptions. + * + * The Password field is optional, but if present, contains either + * 4 bytes or 6 bytes. The WakeOnLAN dissector was implemented to + * dissect the password, if present, according to the command-line + * format that ether-wake uses, therefore, if a 4-byte password is + * present, it will be dissected as an IPv4 address and if a 6-byte + * password is present, it will be dissected as an Ethernet address. + * + * + */ + + while (data < end) { + if (found >= 6) { + if (*data == mac[found % 6]) + found++; + else + found = 0; + } + + /* previous check might reset found counter */ + if (found < 6) { + if (*data == 0xff) + found++; + else + found = 0; + } + + if (found == (6 + 16 * 6)) + return true; + + data++; + } + + return false; +} + +static void wlan_wol_connect_callback(void __unused *dummy, bool success) +{ + if (success) + fw.wol.lost_null = 0; + else + fw.wol.lost_null++; +} + +static void wlan_wol_connection_monitor(void) +{ + struct carl9170_tx_null_superframe *nullf = &dma_mem.reserved.cmd.null; + struct ieee80211_hdr *null = (struct ieee80211_hdr *) &nullf->f.null; + + if (!fw.wlan.fw_desc_available) + return; + + memset(nullf, 0, sizeof(*nullf)); + + nullf->s.len = sizeof(struct carl9170_tx_superdesc) + + sizeof(struct ar9170_tx_hwdesc) + + sizeof(struct ieee80211_hdr); + nullf->s.ri[0].tries = 3; + nullf->s.assign_seq = true; + nullf->s.queue = AR9170_TXQ_VO; + nullf->f.hdr.length = sizeof(struct ieee80211_hdr) + FCS_LEN; + + nullf->f.hdr.mac.backoff = 1; + nullf->f.hdr.mac.hw_duration = 1; + nullf->f.hdr.mac.erp_prot = AR9170_TX_MAC_PROT_RTS; + + nullf->f.hdr.phy.modulation = AR9170_TX_PHY_MOD_OFDM; + nullf->f.hdr.phy.bandwidth = AR9170_TX_PHY_BW_20MHZ; + nullf->f.hdr.phy.chains = AR9170_TX_PHY_TXCHAIN_2; + nullf->f.hdr.phy.tx_power = 29; /* 14.5 dBm */ + nullf->f.hdr.phy.mcs = AR9170_TXRX_PHY_RATE_OFDM_6M; + + /* format outgoing nullfunc */ + null->frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA | + IEEE80211_STYPE_NULLFUNC | IEEE80211_FCTL_TODS); + + memcpy(null->addr1, fw.wol.cmd.bssid, 6); + memcpy(null->addr2, fw.wol.cmd.mac, 6); + memcpy(null->addr3, fw.wol.cmd.bssid, 6); + + wlan_tx_fw(&nullf->s, wlan_wol_connect_callback); +} + +static bool wlan_rx_wol_disconnect(const unsigned int rx_filter, + const struct ieee80211_hdr *hdr, + const unsigned int __unused len) +{ + const unsigned char *bssid; + bssid = (const unsigned char *) AR9170_MAC_REG_BSSID_L; + + /* should catch both broadcast and unicast MLMEs */ + if (!(rx_filter & CARL9170_RX_FILTER_OTHER_RA)) { + if (ieee80211_is_deauth(hdr->frame_control) || + ieee80211_is_disassoc(hdr->frame_control)) + return true; + } + + if (ieee80211_is_beacon(hdr->frame_control) && + compare_ether_address(hdr->addr3, bssid)) { + fw.wol.last_beacon = get_clock_counter(); + } + + return false; +} + +#endif /* CARL9170FW_WOL_NL80211_TRIGGERS */ + +#ifdef CONFIG_CARL9170FW_WOL_PROBE_REQUEST + +/* + * Note: CONFIG_CARL9170FW_WOL_PROBE_REQUEST_SSID is not a real + * string. We have to be careful not to add a \0 at the end. + */ +static const struct { + u8 ssid_ie; + u8 ssid_len; + u8 ssid[sizeof(CONFIG_CARL9170FW_WOL_PROBE_REQUEST_SSID) - 1]; +} __packed probe_req = { + .ssid_ie = WLAN_EID_SSID, + .ssid_len = sizeof(CONFIG_CARL9170FW_WOL_PROBE_REQUEST_SSID) - 1, + .ssid = CONFIG_CARL9170FW_WOL_PROBE_REQUEST_SSID, +}; + +static bool wlan_rx_wol_probe_ssid(const struct ieee80211_hdr *hdr, const unsigned int len) +{ + const unsigned char *data, *end, *scan = (void *) &probe_req; + + /* + * IEEE 802.11-2007 7.3.2.1 specifies that the SSID is no + * longer than 32 octets. + */ + BUILD_BUG_ON((sizeof(CONFIG_CARL9170FW_WOL_PROBE_REQUEST_SSID) - 1) > 32); + + if (ieee80211_is_probe_req(hdr->frame_control)) { + unsigned int i; + end = (u8 *)((unsigned long)hdr + len); + + /* + * The position of the SSID information element inside + * a probe request frame is more or less "fixed". + */ + data = (u8 *)((struct ieee80211_mgmt *)hdr)->u.probe_req.variable; + for (i = 0; i < (unsigned int)(probe_req.ssid_len + 1); i++) { + if (data > end || scan[i] != data[i]) + return false; + } + + return true; + } + + return false; +} +#endif /* CONFIG_CARL9170FW_WOL_PROBE_REQUEST */ + +void wol_rx(const unsigned int rx_filter __unused, const struct ieee80211_hdr *hdr __unused, const unsigned int len __unused) +{ +#ifdef CONFIG_CARL9170FW_WOL_NL80211_TRIGGERS + /* Disconnect is always enabled */ + if (fw.wol.cmd.flags & CARL9170_WOL_DISCONNECT && + rx_filter & CARL9170_RX_FILTER_MGMT) + fw.wol.wake_up |= wlan_rx_wol_disconnect(rx_filter, hdr, len); + + if (fw.wol.cmd.flags & CARL9170_WOL_MAGIC_PKT && + rx_filter & CARL9170_RX_FILTER_DATA) + fw.wol.wake_up |= wlan_rx_wol_magic_packet(hdr, len); +#endif /* CONFIG_CARL9170FW_WOL_NL80211_TRIGGERS */ + +#ifdef CONFIG_CARL9170FW_WOL_PROBE_REQUEST + if (rx_filter & CARL9170_RX_FILTER_MGMT) + fw.wol.wake_up |= wlan_rx_wol_probe_ssid(hdr, len); +#endif /* CONFIG_CARL9170FW_WOL_PROBE_REQUEST */ +} + +void wol_janitor(void) +{ + if (unlikely(fw.suspend_mode == CARL9170_HOST_SUSPENDED)) { +#ifdef CONFIG_CARL9170FW_WOL_NL80211_TRIGGERS + if (fw.wol.cmd.flags & CARL9170_WOL_DISCONNECT) { + /* + * connection lost after 10sec without receiving + * a beacon + */ + if (is_after_msecs(fw.wol.last_beacon, 10000)) + fw.wol.wake_up |= true; + + if (fw.wol.cmd.null_interval && + is_after_msecs(fw.wol.last_null, fw.wol.cmd.null_interval)) + wlan_wol_connection_monitor(); + + if (fw.wol.lost_null >= 5) + fw.wol.wake_up |= true; + } +#endif /* CONFIG_CARL9170FW_WOL_NL80211_TRIGGERS */ + + if (fw.wol.wake_up) { + fw.suspend_mode = CARL9170_AWAKE_HOST; + set(AR9170_USB_REG_WAKE_UP, AR9170_USB_WAKE_UP_WAKE); + } + } +} +#else + +#endif /* CONFIG_CARL9170FW_WOL */ diff --git a/carl9170fw/carlfw/usb/Kconfig b/carl9170fw/carlfw/usb/Kconfig new file mode 100644 index 0000000..dc70776 --- /dev/null +++ b/carl9170fw/carlfw/usb/Kconfig @@ -0,0 +1,37 @@ +menu "USB Firmware Configuration Settings" + +config CARL9170FW_USB_STANDARD_CMDS + def_bool y + prompt "Basic USB Interface" + ---help--- + Allows the device to be queried about Standard USB 2.0 Device + Description Descriptors. + + Say Y, unless you don't care if lsusb -v fails. + +config CARL9170FW_USB_UP_STREAM + def_bool y + prompt "USB Upload Stream" + ---help--- + This features allows the USB silicon to combine small, single + frames into bigger transfers. This can help to reduce + some per-transfer overhead in the application. + + Say Y, unless you have experienced strange rx corruptions. + +config CARL9170FW_USB_DN_STREAM + def_bool n + prompt "USB Download Stream" + +config CARL9170FW_DEBUG_USB + def_bool y + prompt "Pass debug messages through USB transport" + ---help--- + Report all firmware messages through the USB transport. + But there is a catch: In case of a BUG, the USB transport + needs to be functional, otherwise the application won't + receive anything. + + Say Y. + +endmenu diff --git a/carl9170fw/carlfw/usb/fifo.c b/carl9170fw/carlfw/usb/fifo.c new file mode 100644 index 0000000..d5c2e12 --- /dev/null +++ b/carl9170fw/carlfw/usb/fifo.c @@ -0,0 +1,206 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" +#include "printf.h" +#include "rom.h" +#include "usb_fifo.h" + +/* TODO / TOTEST */ +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH +static inline void usb_ep_map(const uint8_t ep, const uint8_t map) +{ + setb(AR9170_USB_REG_EP_MAP + (ep - 1), map); +} + +static inline void usb_fifo_map(const uint8_t fifo, const uint8_t map) +{ + setb(AR9170_USB_REG_FIFO_MAP + (fifo - 1), map); +} + +static inline void usb_fifo_config(const uint8_t fifo, const uint8_t cfg) +{ + setb(AR9170_USB_REG_FIFO_CONFIG + (fifo - 1), cfg); +} + +static inline void usb_ep_packet_size_hi(const uint8_t ep, const uint8_t dir, + const uint16_t size) +{ + setb(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (((dir * 0x20) + ep) << 1), + (size >> 8) & 0xf); +} + +static inline void usb_ep_packet_size_lo(const uint8_t ep, const uint8_t dir, + const uint16_t size) +{ + setb(AR9170_USB_REG_EP_IN_MAX_SIZE_LOW + (((dir * 0x20) + ep) << 1), + size & 0xff); +} + +static void usb_ep_in_highbandset(const uint8_t ep, const uint8_t dir, + const uint16_t size) +{ + andb(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), ~(BIT(6) | BIT(5))); + + switch (dir) { + case DIRECTION_IN: + setb(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), + ((size >> 11) + 1) << 5); + break; + case DIRECTION_OUT: + default: + break; + } +} + +/* + * vUsbFIFO_EPxCfg_HS(void) + * Description: + * 1. Configure the FIFO and EPx map + * input: none + * output: none + */ + +void usb_init_highspeed_fifo_cfg(void) +{ + int i; + + /* EP 1 */ + usb_ep_map(1, HS_C1_I0_A0_EP1_MAP); + usb_fifo_map(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP); + usb_fifo_config(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG); + + for (i = HS_C1_I0_A0_EP1_FIFO_START + 1; + i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO; i++) { + usb_fifo_config(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(1, HS_C1_I0_A0_EP1_DIRECTION, HS_C1_I0_A0_EP1_MAX_PACKET); + + /* EP 2 */ + usb_ep_map(2, HS_C1_I0_A0_EP2_MAP); + usb_fifo_map(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_MAP); + usb_fifo_config(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_CONFIG); + + for (i = HS_C1_I0_A0_EP2_FIFO_START + 1; + i < HS_C1_I0_A0_EP2_FIFO_START + HS_C1_I0_A0_EP2_FIFO_NO; i++) { + usb_fifo_config(i, (HS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(2, HS_C1_I0_A0_EP2_DIRECTION, HS_C1_I0_A0_EP2_MAX_PACKET); + + /* EP 3 */ + usb_ep_map(3, HS_C1_I0_A0_EP3_MAP); + usb_fifo_map(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_MAP); + usb_fifo_config(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_CONFIG); + + for (i = HS_C1_I0_A0_EP3_FIFO_START + 1; + i < HS_C1_I0_A0_EP3_FIFO_START + HS_C1_I0_A0_EP3_FIFO_NO; i++) { + usb_fifo_config(i, (HS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(3, HS_C1_I0_A0_EP3_DIRECTION, HS_C1_I0_A0_EP3_MAX_PACKET); + + /* EP 4 */ + usb_ep_map(4, HS_C1_I0_A0_EP4_MAP); + usb_fifo_map(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_MAP); + usb_fifo_config(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_CONFIG); + + for (i = HS_C1_I0_A0_EP4_FIFO_START + 1; + i < HS_C1_I0_A0_EP4_FIFO_START + HS_C1_I0_A0_EP4_FIFO_NO; i++) { + usb_fifo_config(i, (HS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(4, HS_C1_I0_A0_EP4_DIRECTION, HS_C1_I0_A0_EP4_MAX_PACKET); +} + +void usb_init_fullspeed_fifo_cfg(void) +{ + int i; + + /* EP 1 */ + usb_ep_map(1, FS_C1_I0_A0_EP1_MAP); + usb_fifo_map(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP); + usb_fifo_config(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG); + + for (i = FS_C1_I0_A0_EP1_FIFO_START + 1; + i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO; i++) { + usb_fifo_config(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff)); + /* ``.JWEI 2003/04/29 */ + usb_ep_in_highbandset(1, FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET); + + /* EP 2 */ + usb_ep_map(2, FS_C1_I0_A0_EP2_MAP); + usb_fifo_map(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_MAP); + usb_fifo_config(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_CONFIG); + + for (i = FS_C1_I0_A0_EP2_FIFO_START + 1; + i < FS_C1_I0_A0_EP2_FIFO_START + FS_C1_I0_A0_EP2_FIFO_NO; i++) { + usb_fifo_config(i, (FS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(2, FS_C1_I0_A0_EP2_DIRECTION, FS_C1_I0_A0_EP2_MAX_PACKET); + + /* EP 3 */ + usb_ep_map(3, FS_C1_I0_A0_EP3_MAP); + usb_fifo_map(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_MAP); + usb_fifo_config(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_CONFIG); + + for (i = FS_C1_I0_A0_EP3_FIFO_START + 1; + i < FS_C1_I0_A0_EP3_FIFO_START + FS_C1_I0_A0_EP3_FIFO_NO; i++) { + usb_fifo_config(i, (FS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(3, FS_C1_I0_A0_EP3_DIRECTION, FS_C1_I0_A0_EP3_MAX_PACKET); + + /* EP 4 */ + usb_ep_map(4, FS_C1_I0_A0_EP4_MAP); + usb_fifo_map(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_MAP); + usb_fifo_config(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_CONFIG); + + for (i = FS_C1_I0_A0_EP4_FIFO_START + 1; + i < FS_C1_I0_A0_EP4_FIFO_START + FS_C1_I0_A0_EP4_FIFO_NO; i++) { + usb_fifo_config(i, (FS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT(7)))); + } + + usb_ep_packet_size_hi(4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff)); + usb_ep_packet_size_lo(4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff)); + usb_ep_in_highbandset(4, FS_C1_I0_A0_EP4_DIRECTION, FS_C1_I0_A0_EP4_MAX_PACKET); +} +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ diff --git a/carl9170fw/carlfw/usb/main.c b/carl9170fw/carlfw/usb/main.c new file mode 100644 index 0000000..890970c --- /dev/null +++ b/carl9170fw/carlfw/usb/main.c @@ -0,0 +1,432 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "carl9170.h" + +#include "shared/phy.h" +#include "hostif.h" +#include "printf.h" +#include "timer.h" +#include "rom.h" +#include "wl.h" +#include "wol.h" + +#ifdef CONFIG_CARL9170FW_DEBUG_USB +void usb_putc(const char c) +{ + fw.usb.put_buffer[fw.usb.put_index++] = (uint8_t) c; + + if (fw.usb.put_index == CARL9170_MAX_CMD_PAYLOAD_LEN || c == '\0') { + fw.usb.put_buffer[fw.usb.put_index] = 0; + + send_cmd_to_host(__roundup(fw.usb.put_index, 4), + CARL9170_RSP_TEXT, fw.usb.put_index, + fw.usb.put_buffer); + fw.usb.put_index = 0; + } +} + +void usb_print_hex_dump(const void *buf, int len) +{ + unsigned int offset = 0, block = 0; + while (len > 0) { + block = min(__roundup(len, 4), CARL9170_MAX_CMD_PAYLOAD_LEN); + + send_cmd_to_host(block, CARL9170_RSP_HEXDUMP, len, + (const uint8_t *) buf + offset); + + offset += block; + len -= block; + } +} +#endif /* CONFIG_CARL9170FW_DEBUG_USB */ + +/* grab a buffer from the interrupt in queue ring-buffer */ +static struct carl9170_rsp *get_int_buf(void) +{ + struct carl9170_rsp *tmp; + + /* fetch the _oldest_ buffer from the ring */ + tmp = &fw.usb.int_buf[fw.usb.int_tail_index]; + + /* assign a unique sequence for every response/trap */ + tmp->hdr.seq = fw.usb.int_tail_index; + + fw.usb.int_tail_index++; + + fw.usb.int_tail_index %= CARL9170_INT_RQ_CACHES; + if (fw.usb.int_pending != CARL9170_INT_RQ_CACHES) + fw.usb.int_pending++; + + return tmp; +} + +/* Pop up data from Interrupt IN Queue to USB Response buffer */ +static struct carl9170_rsp *dequeue_int_buf(unsigned int space) +{ + struct carl9170_rsp *tmp = NULL; + + if (fw.usb.int_pending > 0) { + tmp = &fw.usb.int_buf[fw.usb.int_head_index]; + + if ((unsigned int)(tmp->hdr.len + 8) > space) + return NULL; + + fw.usb.int_head_index++; + fw.usb.int_head_index %= CARL9170_INT_RQ_CACHES; + fw.usb.int_pending--; + } + + return tmp; +} + +static void usb_data_in(void) +{ +} + +static void usb_reg_out(void) +{ + uint32_t *regaddr = (uint32_t *) &dma_mem.reserved.cmd; + uint16_t usbfifolen, i; + + usb_reset_out(); + + usbfifolen = getb(AR9170_USB_REG_EP4_BYTE_COUNT_LOW) | + getb(AR9170_USB_REG_EP4_BYTE_COUNT_HIGH) << 8; + + if (usbfifolen & 0x3) + usbfifolen = (usbfifolen >> 2) + 1; + else + usbfifolen = usbfifolen >> 2; + + for (i = 0; i < usbfifolen; i++) + *regaddr++ = get(AR9170_USB_REG_EP4_DATA); + + handle_cmd(get_int_buf()); + + usb_trigger_in(); +} + +static void usb_status_in(void) +{ + struct carl9170_rsp *rsp; + unsigned int rem, tlen, elen; + + if (!fw.usb.int_desc_available) + return ; + + fw.usb.int_desc_available = 0; + + rem = AR9170_BLOCK_SIZE - AR9170_INT_MAGIC_HEADER_SIZE; + tlen = AR9170_INT_MAGIC_HEADER_SIZE; + + usb_reset_in(); + + while (fw.usb.int_pending) { + rsp = dequeue_int_buf(rem); + if (!rsp) + break; + + elen = rsp->hdr.len + 4; + + memcpy(DESC_PAYLOAD_OFF(fw.usb.int_desc, tlen), rsp, elen); + + rem -= elen; + tlen += elen; + } + + if (tlen == AR9170_INT_MAGIC_HEADER_SIZE) { + DBG("attempted to send an empty int response!\n"); + goto reclaim; + } + + fw.usb.int_desc->ctrl = AR9170_CTRL_FS_BIT | AR9170_CTRL_LS_BIT; + fw.usb.int_desc->totalLen = tlen; + fw.usb.int_desc->dataSize = tlen; + + /* Put to UpQ */ + dma_put(&fw.pta.up_queue, fw.usb.int_desc); + + /* Trigger PTA UP DMA */ + set(AR9170_PTA_REG_UP_DMA_TRIGGER, 1); + usb_trigger_out(); + + return ; + +reclaim: + /* TODO: not sure what to do here */ + fw.usb.int_desc_available = 1; +} + +void send_cmd_to_host(const uint8_t len, const uint8_t type, + const uint8_t ext, const uint8_t *body) +{ + struct carl9170_cmd *resp; + +#ifdef CONFIG_CARL9170FW_DEBUG + if (unlikely(len > sizeof(resp->data))) { + DBG("CMD too long:%x %d\n", type, len); + return ; + } + + /* Element length must be a multiple of 4. */ + if (unlikely(len & 0x3)) { + DBG("CMD length not mult. of 4:%x %d\n", type, len); + return ; + } +#endif /* CONFIG_CARL9170FW_DEBUG */ + + resp = (struct carl9170_cmd *) get_int_buf(); + if (unlikely(resp == NULL)) { + /* not very helpful for NON UART users */ + DBG("out of msg buffers\n"); + return ; + } + + resp->hdr.len = len; + resp->hdr.cmd = type; + resp->hdr.ext = ext; + + memcpy(resp->data, body, len); + usb_trigger_in(); +} + +/* Turn off ADDA/RF power, PLL */ +static void turn_power_off(void) +{ + set(AR9170_PHY_REG_ACTIVE, AR9170_PHY_ACTIVE_DIS); + set(AR9170_PHY_REG_ADC_CTL, 0xa0000000 | + AR9170_PHY_ADC_CTL_OFF_PWDADC | AR9170_PHY_ADC_CTL_OFF_PWDDAC); + + /* This will also turn-off the LEDs */ + set(AR9170_GPIO_REG_PORT_DATA, 0); + set(AR9170_GPIO_REG_PORT_TYPE, 0xf); + + set(AR9170_PWR_REG_BASE, 0x40021); + + set(AR9170_MAC_REG_DMA_TRIGGER, 0); + + andl(AR9170_USB_REG_DMA_CTL, ~(AR9170_USB_DMA_CTL_ENABLE_TO_DEVICE | + AR9170_USB_DMA_CTL_ENABLE_FROM_DEVICE | + AR9170_USB_DMA_CTL_UP_PACKET_MODE | + AR9170_USB_DMA_CTL_DOWN_STREAM)); + + /* Do a software reset to PTA component */ + orl(AR9170_PTA_REG_DMA_MODE_CTRL, AR9170_PTA_DMA_MODE_CTRL_RESET); + andl(AR9170_PTA_REG_DMA_MODE_CTRL, ~AR9170_PTA_DMA_MODE_CTRL_RESET); + + orl(AR9170_PTA_REG_DMA_MODE_CTRL, AR9170_PTA_DMA_MODE_CTRL_DISABLE_USB); + + set(AR9170_MAC_REG_POWER_STATE_CTRL, + AR9170_MAC_POWER_STATE_CTRL_RESET); + + /* Reset USB FIFO */ + set(AR9170_PWR_REG_RESET, AR9170_PWR_RESET_COMMIT_RESET_MASK | + AR9170_PWR_RESET_DMA_MASK | + AR9170_PWR_RESET_WLAN_MASK); + set(AR9170_PWR_REG_RESET, 0x0); + + clock_set(AHB_20_22MHZ, false); + + set(AR9170_PWR_REG_PLL_ADDAC, 0x5163); /* 0x502b; */ + set(AR9170_PHY_REG_ADC_SERIAL_CTL, AR9170_PHY_ADC_SCTL_SEL_EXTERNAL_RADIO); + set(0x1c589c, 0); /* 7-0 */ + set(0x1c589c, 0); /* 15-8 */ + set(0x1c589c, 0); /* 23-16 */ + set(0x1c589c, 0); /* 31- */ + set(0x1c589c, 0); /* 39- */ + set(0x1c589c, 0); /* 47- */ + set(0x1c589c, 0); /* 55- */ + set(0x1c589c, 0xf8); /* 63- */ + set(0x1c589c, 0x27); /* 0x24; 71- modified */ + set(0x1c589c, 0xf9); /* 79- */ + set(0x1c589c, 0x90); /* 87- */ + set(0x1c589c, 0x04); /* 95- */ + set(0x1c589c, 0x48); /* 103- */ + set(0x1c589c, 0x19); /* 0; 111- modified */ + set(0x1c589c, 0); /* 119- */ + set(0x1c589c, 0); /* 127- */ + set(0x1c589c, 0); /* 135- */ + set(0x1c589c, 0); /* 143- */ + set(0x1c589c, 0); /* 151- */ + set(0x1c589c, 0x70); /* 159- */ + set(0x1c589c, 0x0c); /* 167- */ + set(0x1c589c, 0); /* 175- */ + set(0x1c589c, 0); /* 183-176 */ + set(0x1c589c, 0); /* 191-184 */ + set(0x1c589c, 0); /* 199- */ + set(0x1c589c, 0); /* 207- */ + set(0x1c589c, 0); /* 215- */ + set(0x1c589c, 0); /* 223- */ + set(0x1c589c, 0); /* 231- */ + set(0x1c58c4, 0); /* 233- 232 */ + set(AR9170_PHY_REG_ADC_SERIAL_CTL, AR9170_PHY_ADC_SCTL_SEL_INTERNAL_ADDAC); +} + +static void disable_watchdog(void) +{ + if (!fw.watchdog_enable) + return; + + /* write watchdog magic pattern for suspend */ + andl(AR9170_PWR_REG_WATCH_DOG_MAGIC, 0xffff); + orl(AR9170_PWR_REG_WATCH_DOG_MAGIC, 0x98760000); + + /* Disable watchdog */ + set(AR9170_TIMER_REG_WATCH_DOG, 0xffff); +} + +void __noreturn reboot(void) +{ + disable_watchdog(); + + /* Turn off power */ + turn_power_off(); + + /* clean bootloader workspace */ + memset(&dma_mem, 0, sizeof(dma_mem)); + + /* add by ygwei for work around USB PHY chirp sequence problem */ + set(0x10f100, 0x12345678); + + /* Jump to boot code */ + jump_to_bootcode(); +} + +/* service USB events and re-enable USB interrupt */ +static void usb_handler(uint8_t usb_interrupt_level1) +{ + uint8_t usb_interrupt_level2; + + if (usb_interrupt_level1 & BIT(5)) + usb_data_in(); + + if (usb_interrupt_level1 & BIT(4)) + usb_reg_out(); + + if (usb_interrupt_level1 & BIT(6)) + usb_status_in(); + + if (usb_interrupt_level1 & BIT(0)) { + usb_interrupt_level2 = getb(AR9170_USB_REG_INTR_SOURCE_0); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_SETUP) + usb_ep0setup(); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_IN) + usb_ep0tx(); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_OUT) + usb_ep0rx(); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_ABORT) { + /* Clear the command abort interrupt */ + andb(AR9170_USB_REG_INTR_SOURCE_0, (uint8_t) + ~AR9170_USB_INTR_SRC0_ABORT); + } + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_FAIL || + fw.usb.ep0_action & CARL9170_EP0_STALL) { + /* + * transmission failure. + * stall ep 0 + */ + setb(AR9170_USB_REG_CX_CONFIG_STATUS, BIT(2)); + fw.usb.ep0_action &= ~CARL9170_EP0_STALL; + } + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC0_END || + fw.usb.ep0_action & CARL9170_EP0_TRIGGER) { + /* + * transmission done. + * set DONE bit. + */ + setb(AR9170_USB_REG_CX_CONFIG_STATUS, BIT(0)); + fw.usb.ep0_action &= ~CARL9170_EP0_TRIGGER; + } + } + + if (usb_interrupt_level1 & BIT(7)) { + usb_interrupt_level2 = getb(AR9170_USB_REG_INTR_SOURCE_7); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC7_RX0BYTE) + usb_data_out0Byte(); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC7_TX0BYTE) + usb_data_in0Byte(); + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC7_USB_RESET) { + usb_reset_ack(); + reboot(); + } + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC7_USB_SUSPEND) { + usb_suspend_ack(); + + fw.suspend_mode = CARL9170_HOST_SUSPENDED; + +#ifdef CONFIG_CARL9170FW_WOL + if (!(fw.usb.device_feature & USB_DEVICE_REMOTE_WAKEUP) || + !fw.wol.cmd.flags) { + disable_watchdog(); + + /* GO_TO_SUSPEND stops the CPU clock too. */ + orb(AR9170_USB_REG_MAIN_CTRL, AR9170_USB_MAIN_CTRL_GO_TO_SUSPEND); + } else { + wol_prepare(); + } +#else /* CONFIG_CARL9170FW_WOL */ + disable_watchdog(); + + /* GO_TO_SUSPEND stops the CPU clock too. */ + orb(AR9170_USB_REG_MAIN_CTRL, AR9170_USB_MAIN_CTRL_GO_TO_SUSPEND); +#endif /* CONFIG_CARL9170FW_WOL */ + } + + if (usb_interrupt_level2 & AR9170_USB_INTR_SRC7_USB_RESUME) { + usb_resume_ack(); + + fw.suspend_mode = CARL9170_HOST_AWAKE; + set(AR9170_USB_REG_WAKE_UP, 0); + + reboot(); + } + } +} + +void handle_usb(void) +{ + uint8_t usb_interrupt_level1; + + usb_interrupt_level1 = getb(AR9170_USB_REG_INTR_GROUP); + + if (usb_interrupt_level1) + usb_handler(usb_interrupt_level1); + + if (fw.usb.int_pending > 0) + usb_trigger_in(); +} + +void usb_timer(void) +{ +} diff --git a/carl9170fw/carlfw/usb/usb.c b/carl9170fw/carlfw/usb/usb.c new file mode 100644 index 0000000..74b8f8c --- /dev/null +++ b/carl9170fw/carlfw/usb/usb.c @@ -0,0 +1,758 @@ +/* + * carl9170 firmware - used by the ar9170 wireless device + * + * USB Controller + * + * Copyright (c) 2000-2005 ZyDAS Technology Corporation + * Copyright (c) 2007-2009 Atheros Communications, Inc. + * Copyright 2009 Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#include "carl9170.h" +#include "usb.h" +#include "printf.h" +#include "rom.h" + +/* + * NB: The firmware has to write into these structures + * so don't try to make them "const". + */ + +static struct ar9170_usb_config usb_config_highspeed = { + .cfg = { + .bLength = USB_DT_CONFIG_SIZE, + .bDescriptorType = USB_DT_CONFIG, + .wTotalLength = cpu_to_le16(sizeof(usb_config_highspeed)), + .bNumInterfaces = 1, + .bConfigurationValue = 1, + .iConfiguration = 0, + .bmAttributes = USB_CONFIG_ATT_ONE | +#ifdef CONFIG_CARL9170FW_WOL + USB_CONFIG_ATT_WAKEUP | +#endif /* CONFIG_CARL9170FW_WOL */ + 0, + .bMaxPower = 0xfa, /* 500 mA */ + }, + + .intf = { + .bLength = USB_DT_INTERFACE_SIZE, + .bDescriptorType = USB_DT_INTERFACE, + .bInterfaceNumber = 0, + .bAlternateSetting = 0, + .bNumEndpoints = AR9170_USB_NUM_EXTRA_EP, + .bInterfaceClass = USB_CLASS_VENDOR_SPEC, + .bInterfaceSubClass = USB_SUBCLASS_VENDOR_SPEC, + .bInterfaceProtocol = 0, + .iInterface = 0, + }, + + .ep = { + { /* EP 1 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_OUT | AR9170_USB_EP_TX, + .bmAttributes = USB_ENDPOINT_XFER_BULK, + .wMaxPacketSize = cpu_to_le16(512), + .bInterval = 0, + }, + + { /* EP 2 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_IN | AR9170_USB_EP_RX, + .bmAttributes = USB_ENDPOINT_XFER_BULK, + .wMaxPacketSize = cpu_to_le16(512), + .bInterval = 0, + }, + + { /* EP 3 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_IN | AR9170_USB_EP_IRQ, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 1, + }, + + { /* EP 4 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_OUT | AR9170_USB_EP_CMD, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 1, + }, + }, +}; + +static struct ar9170_usb_config usb_config_fullspeed = { + .cfg = { + .bLength = USB_DT_CONFIG_SIZE, + .bDescriptorType = USB_DT_CONFIG, + .wTotalLength = cpu_to_le16(sizeof(usb_config_fullspeed)), + .bNumInterfaces = 1, + .bConfigurationValue = 1, + .iConfiguration = 0, + .bmAttributes = USB_CONFIG_ATT_ONE | +#ifdef CONFIG_CARL9170FW_WOL + USB_CONFIG_ATT_WAKEUP | +#endif /* CONFIG_CARL9170FW_WOL */ + 0, + .bMaxPower = 0xfa, /* 500 mA */ + }, + + .intf = { + .bLength = USB_DT_INTERFACE_SIZE, + .bDescriptorType = USB_DT_INTERFACE, + .bInterfaceNumber = 0, + .bAlternateSetting = 0, + .bNumEndpoints = AR9170_USB_NUM_EXTRA_EP, + .bInterfaceClass = USB_CLASS_VENDOR_SPEC, + .bInterfaceSubClass = USB_SUBCLASS_VENDOR_SPEC, + .bInterfaceProtocol = 0, + .iInterface = 0, + }, + + .ep = { + { /* EP 1 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_OUT | AR9170_USB_EP_TX, + .bmAttributes = USB_ENDPOINT_XFER_BULK, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 0, + }, + + { /* EP 2 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_IN | AR9170_USB_EP_RX, + .bmAttributes = USB_ENDPOINT_XFER_BULK, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 0, + }, + + { /* EP 3 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_IN | AR9170_USB_EP_IRQ, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 1, + }, + + { /* EP 4 */ + .bLength = USB_DT_ENDPOINT_SIZE, + .bDescriptorType = USB_DT_ENDPOINT, + .bEndpointAddress = USB_DIR_OUT | AR9170_USB_EP_CMD, + .bmAttributes = USB_ENDPOINT_XFER_INT, + .wMaxPacketSize = cpu_to_le16(64), + .bInterval = 1, + }, + }, +}; + +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH +static void usb_reset_eps(void) +{ + unsigned int i; + + /* clear all EPs' toggle bit */ + for (i = 1; i < __AR9170_USB_NUM_MAX_EP; i++) { + usb_set_input_ep_toggle(i); + usb_clear_input_ep_toggle(i); + } + + /* + * NB: I've no idea why this cannot be integrated into the + * previous loop? + */ + for (i = 1; i < __AR9170_USB_NUM_MAX_EP; i++) { + usb_set_output_ep_toggle(i); + usb_clear_output_ep_toggle(i); + } +} +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ + + +static void usb_pta_init(void) +{ + unsigned int usb_dma_ctrl = 0; + /* Set PTA mode to USB */ + andl(AR9170_PTA_REG_DMA_MODE_CTRL, + ~AR9170_PTA_DMA_MODE_CTRL_DISABLE_USB); + + /* Do a software reset to PTA component */ + orl(AR9170_PTA_REG_DMA_MODE_CTRL, AR9170_PTA_DMA_MODE_CTRL_RESET); + andl(AR9170_PTA_REG_DMA_MODE_CTRL, ~AR9170_PTA_DMA_MODE_CTRL_RESET); + + if (usb_detect_highspeed()) { + fw.usb.os_cfg_desc = &usb_config_fullspeed; + fw.usb.cfg_desc = &usb_config_highspeed; + + /* 512 Byte DMA transfers */ + usb_dma_ctrl |= AR9170_USB_DMA_CTL_HIGH_SPEED; + } else { + fw.usb.cfg_desc = &usb_config_fullspeed; + fw.usb.os_cfg_desc = &usb_config_highspeed; + } + +#ifdef CONFIG_CARL9170FW_USB_UP_STREAM +# if (CONFIG_CARL9170FW_RX_FRAME_LEN == 4096) + usb_dma_ctrl |= AR9170_USB_DMA_CTL_UP_STREAM_4K; +# elif (CONFIG_CARL9170FW_RX_FRAME_LEN == 8192) + usb_dma_ctrl |= AR9170_USB_DMA_CTL_UP_STREAM_8K; +# elif (CONFIG_CARL9170FW_RX_FRAME_LEN == 16384) + usb_dma_ctrl |= AR9170_USB_DMA_CTL_UP_STREAM_16K; +# elif (CONFIG_CARL9170FW_RX_FRAME_LEN == 32768) + usb_dma_ctrl |= AR9170_USB_DMA_CTL_UP_STREAM_32K; +# else +# error "Invalid AR9170_RX_FRAME_LEN setting" +# endif + +#else /* CONFIG_CARL9170FW_USB_UP_STREAM */ + usb_dma_ctrl |= AR9170_USB_DMA_CTL_UP_PACKET_MODE; +#endif /* CONFIG_CARL9170FW_USB_UP_STREAM */ + +#ifdef CONFIG_CARL9170FW_USB_DOWN_STREAM + /* Enable down stream mode */ + usb_dma_ctrl |= AR9170_USB_DMA_CTL_DOWN_STREAM; +#endif /* CONFIG_CARL9170FW_USB_DOWN_STREAM */ + +#ifdef CONFIG_CARL9170FW_USB_UP_STREAM + /* Set the up stream mode maximum aggregate number */ + set(AR9170_USB_REG_MAX_AGG_UPLOAD, 4); + + /* + * Set the up stream mode timeout value. + * NB: The vendor driver (otus) set 0x80? + */ + set(AR9170_USB_REG_UPLOAD_TIME_CTL, 0x80); +#endif /* CONFIG_CARL9170FW_USB_UP_STREAM */ + + /* Enable up stream and down stream */ + usb_dma_ctrl |= AR9170_USB_DMA_CTL_ENABLE_TO_DEVICE | + AR9170_USB_DMA_CTL_ENABLE_FROM_DEVICE; + + set(AR9170_USB_REG_DMA_CTL, usb_dma_ctrl); +} + +void usb_init(void) +{ + usb_pta_init(); + + fw.usb.config = 1; + /* + * The fw structure is always initialized with "0" + * during boot(); No need to waste precious bytes here. + * + * fw.usb.interface_setting = 0; + * fw.usb.alternate_interface_setting = 0; + * fw.usb.device_feature = 0; + */ + +#ifdef CONFIG_CARL9170FW_WOL + fw.usb.device_feature |= USB_DEVICE_REMOTE_WAKEUP; + usb_enable_remote_wakeup(); +#endif /* CONFIG_CARL9170FW_WOL */ +} + +#define GET_ARRAY(a, o) ((uint32_t *) (((unsigned long) data) + offset)) + +static void usb_ep0rx_data(const void *data, const unsigned int len) +{ + unsigned int offset; + uint32_t value; + + BUG_ON(len > AR9170_USB_EP_CTRL_MAX); + BUILD_BUG_ON(len > AR9170_USB_EP_CTRL_MAX); + + for (offset = 0; offset < ((len + 3) & ~3); offset += 4) { + value = get(AR9170_USB_REG_EP0_DATA); + memcpy(GET_ARRAY(data, offset), &value, + min(len - offset, (unsigned int)4)); + } +} + +static int usb_ep0tx_data(const void *data, const unsigned int len) +{ + unsigned int offset = 0, block, last_block = 0; + uint32_t value; + + BUG_ON(len > AR9170_USB_EP_CTRL_MAX); + BUILD_BUG_ON(len > AR9170_USB_EP_CTRL_MAX); + + block = min(len, (unsigned int) 4); + offset = 0; + while (offset < len) { + + if (last_block != block || block < 4) + setb(AR9170_USB_REG_FIFO_SIZE, (1 << block) - 1); + + memcpy(&value, GET_ARRAY(data, offset), block); + + set(AR9170_USB_REG_EP0_DATA, value); + + offset += block; + last_block = block = min(len - offset, (unsigned int) 4); + } + + setb(AR9170_USB_REG_FIFO_SIZE, 0xf); + + /* this will push the data to the host */ + return 1; +} +#undef GET_ARRAY + +#ifdef CONFIG_CARL9170FW_USB_STANDARD_CMDS +static int usb_get_status(const struct usb_ctrlrequest *ctrl) +{ + __le16 status = cpu_to_le16(fw.usb.device_feature); + + if ((ctrl->bRequestType & USB_DIR_MASK) != USB_DIR_IN) + return -1; + + switch (ctrl->bRequestType & USB_RECIP_MASK) { + case USB_RECIP_DEVICE: + status &= cpu_to_le16(~USB_DEVICE_SELF_POWERED); + status &= cpu_to_le16(~USB_DEVICE_REMOTE_WAKEUP); + break; + + case USB_RECIP_INTERFACE: + /* USB spec: This is reserved for future use. */ + status = cpu_to_le16(0); + break; + + case USB_RECIP_ENDPOINT: + case USB_RECIP_OTHER: + default: + break; + } + + return usb_ep0tx_data((const void *) &status, sizeof(status)); +} + +static int usb_get_string_desc(const struct usb_ctrlrequest *ctrl) +{ + const struct usb_string_descriptor *string_desc = NULL; + + switch (le16_to_cpu(ctrl->wValue) & 0xff) { + case 0x00: + string_desc = (const struct usb_string_descriptor *) + rom.hw.usb.string0_desc; + break; + + case 0x10: + string_desc = (const struct usb_string_descriptor *) + rom.hw.usb.string1_desc; + break; + + case 0x20: + string_desc = (const struct usb_string_descriptor *) + rom.hw.usb.string2_desc; + break; + + case 0x30: + string_desc = (const struct usb_string_descriptor *) + rom.hw.usb.string3_desc; + break; + + default: + break; + } + + if (string_desc) + return usb_ep0tx_data(string_desc, string_desc->bLength); + + return -1; +} + +static int usb_get_device_desc(const struct usb_ctrlrequest *ctrl __unused) +{ + return usb_ep0tx_data(&rom.hw.usb.device_desc, + rom.hw.usb.device_desc.bLength); +} + +static int usb_get_config_desc(const struct usb_ctrlrequest *ctrl __unused) +{ + fw.usb.cfg_desc->cfg.bDescriptorType = USB_DT_CONFIG; + + return usb_ep0tx_data(fw.usb.cfg_desc, + le16_to_cpu(fw.usb.cfg_desc->cfg.wTotalLength)); +} + +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH +static int usb_get_otherspeed_desc(const struct usb_ctrlrequest *ctrl __unused) +{ + + fw.usb.os_cfg_desc->cfg.bDescriptorType = USB_DT_OTHER_SPEED_CONFIG; + + return usb_ep0tx_data(fw.usb.os_cfg_desc, + le16_to_cpu(fw.usb.os_cfg_desc->cfg.wTotalLength)); +} +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ + +static int usb_get_qualifier_desc(const struct usb_ctrlrequest *ctrl __unused) +{ + struct usb_qualifier_descriptor qual; + + /* + * The qualifier descriptor shares some structural details + * with the main device descriptor. + */ + + memcpy(&qual, &rom.hw.usb.device_desc, sizeof(qual)); + + /* (Re)-Initialize fields */ + qual.bDescriptorType = USB_DT_DEVICE_QUALIFIER; + qual.bLength = sizeof(qual); + qual.bNumConfigurations = rom.hw.usb.device_desc.bNumConfigurations; + qual.bRESERVED = 0; + + return usb_ep0tx_data(&qual, qual.bLength); +} + +#define USB_CHECK_REQTYPE(ctrl, recip, dir) \ + (((ctrl->bRequestType & USB_RECIP_MASK) != recip) || \ + ((ctrl->bRequestType & USB_DIR_MASK) != dir)) + +static int usb_get_descriptor(const struct usb_ctrlrequest *ctrl) +{ + int status = -1; + + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_DEVICE, USB_DIR_IN)) + return status; + + switch (le16_to_cpu(ctrl->wValue) >> 8) { + case USB_DT_DEVICE: + status = usb_get_device_desc(ctrl); + break; + + case USB_DT_CONFIG: + status = usb_get_config_desc(ctrl); + break; + + case USB_DT_STRING: + status = usb_get_string_desc(ctrl); + break; + + case USB_DT_INTERFACE: + break; + + case USB_DT_ENDPOINT: + break; + + case USB_DT_DEVICE_QUALIFIER: + status = usb_get_qualifier_desc(ctrl); + break; + +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH + case USB_DT_OTHER_SPEED_CONFIG: + status = usb_get_otherspeed_desc(ctrl); + break; +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ + default: + break; + + } + + return status; +} + +static int usb_get_configuration(const struct usb_ctrlrequest *ctrl) +{ + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_DEVICE, USB_DIR_IN)) + return -1; + + return usb_ep0tx_data(&fw.usb.config, 1); +} + +static int usb_set_configuration(const struct usb_ctrlrequest *ctrl) +{ + unsigned int config; + + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_DEVICE, USB_DIR_OUT)) + return -1; + + config = le16_to_cpu(ctrl->wValue); + switch (config) { + case 0: + /* Disable Device */ + andb(AR9170_USB_REG_DEVICE_ADDRESS, + (uint8_t) ~(AR9170_USB_DEVICE_ADDRESS_CONFIGURE)); +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH + case 1: + fw.usb.config = config; + + if (usb_detect_highspeed()) { + /* High Speed Configuration */ + usb_init_highspeed_fifo_cfg(); + } else { + /* Full Speed Configuration */ + usb_init_fullspeed_fifo_cfg(); + } + break; + + default: + return -1; + } + /* usb_pta_init() ? */ + + usb_reset_eps(); + orb(AR9170_USB_REG_DEVICE_ADDRESS, + (AR9170_USB_DEVICE_ADDRESS_CONFIGURE)); + + usb_enable_global_int(); + usb_trigger_out(); + return 1; +#else + default: + return -1; + } +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ +} + +static int usb_set_address(const struct usb_ctrlrequest *ctrl) +{ + unsigned int address; + + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_DEVICE, USB_DIR_OUT)) + return -1; + + address = le16_to_cpu(ctrl->wValue); + + /* + * The original firmware used 0x100 (which is, of course, + * too big to fit into uint8_t). + * However based on the available information (hw.h), BIT(7) + * is used as some sort of flag and should not be + * part of the device address. + */ + if (address >= BIT(7)) + return -1; + + setb(AR9170_USB_REG_DEVICE_ADDRESS, (uint8_t) address); + return 1; +} + +static int usb_get_interface(const struct usb_ctrlrequest *ctrl) +{ + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_INTERFACE, USB_DIR_IN)) + return -1; + + if (usb_configured() == false) + return -1; + + switch (fw.usb.config) { + case 1: + break; + + default: + return -1; + } + + return usb_ep0tx_data(&fw.usb.alternate_interface_setting, 1); +} + +static int usb_manipulate_feature(const struct usb_ctrlrequest *ctrl, bool __unused clear) +{ + unsigned int feature; + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_DEVICE, USB_DIR_OUT)) + return -1; + + if (usb_configured() == false) + return -1; + + feature = le16_to_cpu(ctrl->wValue); + +#ifdef CONFIG_CARL9170FW_WOL + if (feature & USB_DEVICE_REMOTE_WAKEUP) { + if (clear) + usb_disable_remote_wakeup(); + else + usb_enable_remote_wakeup(); + } +#endif /* CONFIG_CARL9170FW_WOL */ + + if (clear) + fw.usb.device_feature &= ~feature; + else + fw.usb.device_feature |= feature; + + return 1; +} + +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH +static int usb_set_interface(const struct usb_ctrlrequest *ctrl) +{ + unsigned int intf, alt_intf; + if (USB_CHECK_REQTYPE(ctrl, USB_RECIP_INTERFACE, USB_DIR_OUT)) + return -1; + + if (usb_configured() == false) + return -1; + + intf = le16_to_cpu(ctrl->wIndex); + alt_intf = le16_to_cpu(ctrl->wValue); + + switch (intf) { + case 0: + if (alt_intf != fw.usb.cfg_desc->intf.bAlternateSetting) + return -1; + + fw.usb.interface_setting = (uint8_t) intf; + fw.usb.alternate_interface_setting = (uint8_t) alt_intf; + if (usb_detect_highspeed()) + usb_init_highspeed_fifo_cfg(); + else + usb_init_fullspeed_fifo_cfg(); + + usb_reset_eps(); + usb_enable_global_int(); + usb_trigger_out(); + return 1; + + default: + return -1; + } +} +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ +#endif /* CONFIG_CARL9170FW_USB_STANDARD_CMDS */ + +static int usb_standard_command(const struct usb_ctrlrequest *ctrl __unused) +{ + int status = -1; + +#ifdef CONFIG_CARL9170FW_USB_STANDARD_CMDS + switch (ctrl->bRequest) { + case USB_REQ_GET_STATUS: + status = usb_get_status(ctrl); + break; + + case USB_REQ_CLEAR_FEATURE: + case USB_REQ_SET_FEATURE: + usb_manipulate_feature(ctrl, ctrl->bRequest == USB_REQ_CLEAR_FEATURE); + break; + + case USB_REQ_SET_ADDRESS: + status = usb_set_address(ctrl); + break; + + case USB_REQ_GET_DESCRIPTOR: + status = usb_get_descriptor(ctrl); + break; + + case USB_REQ_SET_DESCRIPTOR: + break; + + case USB_REQ_GET_CONFIGURATION: + status = usb_get_configuration(ctrl); + break; + + case USB_REQ_SET_CONFIGURATION: + status = usb_set_configuration(ctrl); + break; + + case USB_REQ_GET_INTERFACE: + status = usb_get_interface(ctrl); + break; + + case USB_REQ_SET_INTERFACE: +#ifdef CONFIG_CARL9170FW_USB_MODESWITCH + status = usb_set_interface(ctrl); +#endif /* CONFIG_CARL9170FW_USB_MODESWITCH */ + break; + + case USB_REQ_SYNCH_FRAME: + break; + + default: + break; + + } +#endif /* CONFIG_CARL9170FW_USB_STANDARD_CMDS */ + + return status; +} + +static int usb_class_command(const struct usb_ctrlrequest *ctrl __unused) +{ + return -1; +} + +static int usb_vendor_command(const struct usb_ctrlrequest *ctrl __unused) +{ + /* + * Note: Firmware upload/boot is not implemented. + * It's impossible to replace the current image + * in place. + */ + + return -1; +} + +#undef USB_CHECK_TYPE + +void usb_ep0setup(void) +{ + struct usb_ctrlrequest ctrl; + int status = -1; + usb_ep0rx_data(&ctrl, sizeof(ctrl)); + + switch (ctrl.bRequestType & USB_TYPE_MASK) { + case USB_TYPE_STANDARD: + status = usb_standard_command(&ctrl); + break; + + case USB_TYPE_CLASS: + status = usb_class_command(&ctrl); + break; + + case USB_TYPE_VENDOR: + status = usb_vendor_command(&ctrl); + break; + + default: + break; + + } + + if (status < 0) + fw.usb.ep0_action |= CARL9170_EP0_STALL; +#ifdef CONFIG_CARL9170FW_USB_STANDARD_CMDS + if (status > 0) + fw.usb.ep0_action |= CARL9170_EP0_TRIGGER; +#endif /* CONFIG_CARL9170FW_USB_STANDARD_CMDS */ +} + +void usb_ep0rx(void) +{ + if (BUG_ON(!fw.usb.ep0_txrx_buffer || !fw.usb.ep0_txrx_len)) + return ; + + usb_ep0rx_data(fw.usb.ep0_txrx_buffer, fw.usb.ep0_txrx_len); + fw.usb.ep0_txrx_pos = fw.usb.ep0_txrx_len; +} + +void usb_ep0tx(void) +{ + if (BUG_ON(!fw.usb.ep0_txrx_buffer || !fw.usb.ep0_txrx_len)) + return ; + + usb_ep0tx_data(fw.usb.ep0_txrx_buffer, fw.usb.ep0_txrx_len); + fw.usb.ep0_txrx_pos = fw.usb.ep0_txrx_len; +} diff --git a/carl9170fw/config/CMakeLists.txt b/carl9170fw/config/CMakeLists.txt new file mode 100644 index 0000000..9e2ddeb --- /dev/null +++ b/carl9170fw/config/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 2.8) + +project(config) + +#set(CMAKE_VERBOSE_MAKEFILE ON) + +find_package(BISON REQUIRED) +find_package(FLEX REQUIRED) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../include/generated") + +LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../extra") +FIND_PACKAGE(GPERF REQUIRED) + +BISON_TARGET(zconf zconf.y zconf.tab.c COMPILE_FLAGS "-l -b zconf -p zconf -t") +FLEX_TARGET(zconfscan zconf.l zconf.lex.c COMPILE_FLAGS "-Pzconf -L") +GPERF_TARGET(zconfhash zconf.gperf zconf.hash.c) + +SET(zconf_deps ${FLEX_zconfscan_OUTPUTS} ${GPERF_zconfhash_OUTPUTS}) +SET_SOURCE_FILES_PROPERTIES(${BISON_zconf_OUTPUTS} + PROPERTIES OBJECT_DEPENDS "${zconf_deps}") + +set(conf_src conf.c ${BISON_zconf_OUTPUTS}) + +add_executable(conf ${conf_src}) diff --git a/carl9170fw/config/conf.c b/carl9170fw/config/conf.c new file mode 100644 index 0000000..6fdacb3 --- /dev/null +++ b/carl9170fw/config/conf.c @@ -0,0 +1,646 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lkc.h" + +static void conf(struct menu *menu); +static void check_conf(struct menu *menu); +static void xfgets(char *str, int size, FILE *in); + +enum input_mode { + oldaskconfig, + oldconfig, + allnoconfig, + allyesconfig, + allmodconfig, + alldefconfig, + randconfig, + defconfig, + savedefconfig, + listnewconfig, + oldnoconfig, +} input_mode = oldaskconfig; + +static int indent = 1; +static int valid_stdin = 1; +static int conf_cnt; +static char line[128]; +static struct menu *rootEntry; + +static void print_help(struct menu *menu) +{ + struct gstr help = str_new(); + + menu_get_ext_help(menu, &help); + + printf("\n%s\n", str_get(&help)); + str_free(&help); +} + +static void strip(char *str) +{ + char *p = str; + int l; + + while ((isspace(*p))) + p++; + l = strlen(p); + if (p != str) + memmove(str, p, l + 1); + if (!l) + return; + p = str + l - 1; + while ((isspace(*p))) + *p-- = 0; +} + +static void check_stdin(void) +{ + if (!valid_stdin) { + printf(_("aborted!\n\n")); + printf(_("Console input/output is redirected. ")); + printf(_("Run 'make config' to update configuration.\n\n")); + exit(1); + } +} + +static int conf_askvalue(struct symbol *sym, const char *def) +{ + enum symbol_type type = sym_get_type(sym); + + if (!sym_has_value(sym)) + printf(_("(NEW) ")); + + line[0] = '\n'; + line[1] = 0; + + if (!sym_is_changable(sym)) { + printf("%s\n", def); + line[0] = '\n'; + line[1] = 0; + return 0; + } + + switch (input_mode) { + case oldconfig: + if (sym_has_value(sym)) { + printf("%s\n", def); + return 0; + } + check_stdin(); + /* fall through */ + case oldaskconfig: + fflush(stdout); + xfgets(line, 128, stdin); + return 1; + default: + break; + } + + switch (type) { + case S_INT: + case S_HEX: + case S_STRING: + printf("%s\n", def); + return 1; + default: + ; + } + printf("%s", line); + return 1; +} + +static int conf_string(struct menu *menu) +{ + struct symbol *sym = menu->sym; + const char *def; + + while (1) { + printf("%*s%s ", indent - 1, "", _(menu->prompt->text)); + printf("(%s) ", sym->name); + def = sym_get_string_value(sym); + if (sym_get_string_value(sym)) + printf("[%s] ", def); + if (!conf_askvalue(sym, def)) + return 0; + switch (line[0]) { + case '\n': + break; + case '?': + /* print help */ + if (line[1] == '\n') { + print_help(menu); + def = NULL; + break; + } + /* fall through */ + default: + line[strlen(line)-1] = 0; + def = line; + } + if (def && sym_set_string_value(sym, def)) + return 0; + } +} + +static int conf_sym(struct menu *menu) +{ + struct symbol *sym = menu->sym; + tristate oldval, newval; + + while (1) { + printf("%*s%s ", indent - 1, "", _(menu->prompt->text)); + if (sym->name) + printf("(%s) ", sym->name); + putchar('['); + oldval = sym_get_tristate_value(sym); + switch (oldval) { + case no: + putchar('N'); + break; + case mod: + putchar('M'); + break; + case yes: + putchar('Y'); + break; + } + if (oldval != no && sym_tristate_within_range(sym, no)) + printf("/n"); + if (oldval != mod && sym_tristate_within_range(sym, mod)) + printf("/m"); + if (oldval != yes && sym_tristate_within_range(sym, yes)) + printf("/y"); + if (menu_has_help(menu)) + printf("/?"); + printf("] "); + if (!conf_askvalue(sym, sym_get_string_value(sym))) + return 0; + strip(line); + + switch (line[0]) { + case 'n': + case 'N': + newval = no; + if (!line[1] || !strcmp(&line[1], "o")) + break; + continue; + case 'm': + case 'M': + newval = mod; + if (!line[1]) + break; + continue; + case 'y': + case 'Y': + newval = yes; + if (!line[1] || !strcmp(&line[1], "es")) + break; + continue; + case 0: + newval = oldval; + break; + case '?': + goto help; + default: + continue; + } + if (sym_set_tristate_value(sym, newval)) + return 0; +help: + print_help(menu); + } +} + +static int conf_choice(struct menu *menu) +{ + struct symbol *sym, *def_sym; + struct menu *child; + bool is_new; + + sym = menu->sym; + is_new = !sym_has_value(sym); + if (sym_is_changable(sym)) { + conf_sym(menu); + sym_calc_value(sym); + switch (sym_get_tristate_value(sym)) { + case no: + return 1; + case mod: + return 0; + case yes: + break; + } + } else { + switch (sym_get_tristate_value(sym)) { + case no: + return 1; + case mod: + printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu))); + return 0; + case yes: + break; + } + } + + while (1) { + int cnt, def; + + printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu))); + def_sym = sym_get_choice_value(sym); + cnt = def = 0; + line[0] = 0; + for (child = menu->list; child; child = child->next) { + if (!menu_is_visible(child)) + continue; + if (!child->sym) { + printf("%*c %s\n", indent, '*', _(menu_get_prompt(child))); + continue; + } + cnt++; + if (child->sym == def_sym) { + def = cnt; + printf("%*c", indent, '>'); + } else + printf("%*c", indent, ' '); + printf(" %d. %s", cnt, _(menu_get_prompt(child))); + if (child->sym->name) + printf(" (%s)", child->sym->name); + if (!sym_has_value(child->sym)) + printf(_(" (NEW)")); + printf("\n"); + } + printf(_("%*schoice"), indent - 1, ""); + if (cnt == 1) { + printf("[1]: 1\n"); + goto conf_childs; + } + printf("[1-%d", cnt); + if (menu_has_help(menu)) + printf("?"); + printf("]: "); + switch (input_mode) { + case oldconfig: + if (!is_new) { + cnt = def; + printf("%d\n", cnt); + break; + } + check_stdin(); + /* fall through */ + case oldaskconfig: + fflush(stdout); + xfgets(line, 128, stdin); + strip(line); + if (line[0] == '?') { + print_help(menu); + continue; + } + if (!line[0]) + cnt = def; + else if (isdigit(line[0])) + cnt = atoi(line); + else + continue; + break; + default: + break; + } + + conf_childs: + for (child = menu->list; child; child = child->next) { + if (!child->sym || !menu_is_visible(child)) + continue; + if (!--cnt) + break; + } + if (!child) + continue; + if (line[0] && line[strlen(line) - 1] == '?') { + print_help(child); + continue; + } + sym_set_choice_value(sym, child->sym); + for (child = child->list; child; child = child->next) { + indent += 2; + conf(child); + indent -= 2; + } + return 1; + } +} + +static void conf(struct menu *menu) +{ + struct symbol *sym; + struct property *prop; + struct menu *child; + + if (!menu_is_visible(menu)) + return; + + sym = menu->sym; + prop = menu->prompt; + if (prop) { + const char *prompt; + + switch (prop->type) { + case P_MENU: + if ((input_mode == listnewconfig || + input_mode == oldnoconfig) && + rootEntry != menu) { + check_conf(menu); + return; + } + /* fall through */ + case P_COMMENT: + prompt = menu_get_prompt(menu); + if (prompt) + printf("%*c\n%*c %s\n%*c\n", + indent, '*', + indent, '*', _(prompt), + indent, '*'); + default: + ; + } + } + + if (!sym) + goto conf_childs; + + if (sym_is_choice(sym)) { + conf_choice(menu); + if (sym->curr.tri != mod) + return; + goto conf_childs; + } + + switch (sym->type) { + case S_INT: + case S_HEX: + case S_STRING: + conf_string(menu); + break; + default: + conf_sym(menu); + break; + } + +conf_childs: + if (sym) + indent += 2; + for (child = menu->list; child; child = child->next) + conf(child); + if (sym) + indent -= 2; +} + +static void check_conf(struct menu *menu) +{ + struct symbol *sym; + struct menu *child; + + if (!menu_is_visible(menu)) + return; + + sym = menu->sym; + if (sym && !sym_has_value(sym)) { + if (sym_is_changable(sym) || + (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) { + if (input_mode == listnewconfig) { + if (sym->name && !sym_is_choice_value(sym)) { + printf("%s%s\n", CONFIG_, sym->name); + } + } else if (input_mode != oldnoconfig) { + if (!conf_cnt++) + printf(_("*\n* Restart config...\n*\n")); + rootEntry = menu_get_parent_menu(menu); + conf(rootEntry); + } + } + } + + for (child = menu->list; child; child = child->next) + check_conf(child); +} + +static struct option long_opts[] = { + {"askconfig", no_argument, NULL, oldaskconfig}, + {"config", no_argument, NULL, oldconfig}, + {"defconfig", optional_argument, NULL, defconfig}, + {"savedefconfig", required_argument, NULL, savedefconfig}, + {"allnoconfig", no_argument, NULL, allnoconfig}, + {"allyesconfig", no_argument, NULL, allyesconfig}, + {"allmodconfig", no_argument, NULL, allmodconfig}, + {"alldefconfig", no_argument, NULL, alldefconfig}, + {"randconfig", no_argument, NULL, randconfig}, + {"listnewconfig", no_argument, NULL, listnewconfig}, + {"noconfig", no_argument, NULL, oldnoconfig}, + {NULL, 0, NULL, 0} +}; + +static void conf_usage(const char *progname) +{ + + printf("Usage: %s [option] \n", progname); + printf("[option] is _one_ of the following:\n"); + printf(" --listnewconfig List new options\n"); + printf(" --askconfig Start a new configuration using a line-oriented program\n"); + printf(" --config Update a configuration using a provided .config as base\n"); + printf(" --silentconfig Same as config, but quietly, additionally update deps\n"); + printf(" --noconfig Same as silentconfig but set new symbols to no\n"); + printf(" --defconfig New config with default defined in \n"); + printf(" --savedefconfig Save the minimal current configuration to \n"); + printf(" --allnoconfig New config where all options are answered with no\n"); + printf(" --allyesconfig New config where all options are answered with yes\n"); + printf(" --allmodconfig New config where all options are answered with mod\n"); + printf(" --alldefconfig New config with all symbols set to default\n"); + printf(" --randconfig New config with random answer to all options\n"); +} + +int main(int ac, char **av) +{ + const char *progname = av[0]; + int opt; + const char *name, *defconfig_file = NULL /* gcc uninit */; + struct stat tmpstat; + + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + + while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) { + input_mode = (enum input_mode)opt; + switch (opt) { + case defconfig: + case savedefconfig: + defconfig_file = optarg; + break; + case randconfig: + { + struct timeval now; + unsigned int seed; + + /* + * Use microseconds derived seed, + * compensate for systems where it may be zero + */ + gettimeofday(&now, NULL); + + seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1)); + srand(seed); + break; + } + case oldaskconfig: + case oldconfig: + case allnoconfig: + case allyesconfig: + case allmodconfig: + case alldefconfig: + case listnewconfig: + case oldnoconfig: + break; + case '?': + conf_usage(progname); + exit(1); + break; + } + } + if (ac == optind) { + printf(_("%s: Kconfig file missing\n"), av[0]); + conf_usage(progname); + exit(1); + } + name = av[optind]; + conf_parse(name); + //zconfdump(stdout); + + switch (input_mode) { + case defconfig: + if (!defconfig_file) + defconfig_file = conf_get_default_confname(); + if (conf_read(defconfig_file)) { + printf(_("***\n" + "*** Can't find default configuration \"%s\"!\n" + "***\n"), defconfig_file); + exit(1); + } + break; + case savedefconfig: + case oldaskconfig: + case oldconfig: + case listnewconfig: + case oldnoconfig: + conf_read(NULL); + break; + case allnoconfig: + case allyesconfig: + case allmodconfig: + case alldefconfig: + case randconfig: + name = getenv("KCONFIG_ALLCONFIG"); + if (name && !stat(name, &tmpstat)) { + conf_read_simple(name, S_DEF_USER); + break; + } + switch (input_mode) { + case allnoconfig: name = "allno.config"; break; + case allyesconfig: name = "allyes.config"; break; + case allmodconfig: name = "allmod.config"; break; + case alldefconfig: name = "alldef.config"; break; + case randconfig: name = "allrandom.config"; break; + default: break; + } + if (!stat(name, &tmpstat)) + conf_read_simple(name, S_DEF_USER); + else if (!stat("all.config", &tmpstat)) + conf_read_simple("all.config", S_DEF_USER); + break; + default: + break; + } + + valid_stdin = isatty(0) && isatty(1) && isatty(2); + + switch (input_mode) { + case allnoconfig: + conf_set_all_new_symbols(def_no); + break; + case allyesconfig: + conf_set_all_new_symbols(def_yes); + break; + case allmodconfig: + conf_set_all_new_symbols(def_mod); + break; + case alldefconfig: + conf_set_all_new_symbols(def_default); + break; + case randconfig: + conf_set_all_new_symbols(def_random); + break; + case defconfig: + conf_set_all_new_symbols(def_default); + break; + case savedefconfig: + break; + case oldaskconfig: + rootEntry = &rootmenu; + conf(&rootmenu); + input_mode = oldconfig; + /* fall through */ + case oldconfig: + case listnewconfig: + case oldnoconfig: + /* Update until a loop caused no more changes */ + do { + conf_cnt = 0; + check_conf(&rootmenu); + } while (conf_cnt && + (input_mode != listnewconfig && + input_mode != oldnoconfig)); + break; + } + + if (input_mode == savedefconfig) { + if (conf_write_defconfig(defconfig_file)) { + fprintf(stderr, _("n*** Error while saving defconfig to: %s\n\n"), + defconfig_file); + return 1; + } + } else if (input_mode != listnewconfig) { + /* + * build so we shall update autoconf. + */ + if (conf_write(NULL)) { + fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n")); + exit(1); + } + if (conf_write_autoconf()) { + fprintf(stderr, _("\n*** Error during update of the configuration.\n\n")); + return 1; + } + } + return 0; +} + +/* + * Helper function to facilitate fgets() by Jean Sacren. + */ +void xfgets(char *str, int size, FILE *in) +{ + if (fgets(str, size, in) == NULL) + fprintf(stderr, "\nError in reading or end of file.\n"); +} diff --git a/carl9170fw/config/confdata.c b/carl9170fw/config/confdata.c new file mode 100644 index 0000000..d45c37e --- /dev/null +++ b/carl9170fw/config/confdata.c @@ -0,0 +1,1170 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lkc.h" + +static void conf_warning(const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))); + +static void conf_message(const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))); + +static const char *conf_filename; +static int conf_lineno, conf_warnings, conf_unsaved; + +const char conf_defname[] = "include/generated/defconfig"; + +static void conf_warning(const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + fprintf(stderr, "%s:%d:warning: ", conf_filename, conf_lineno); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); + conf_warnings++; +} + +static void conf_default_message_callback(const char *fmt, va_list ap) +{ + printf("#\n# "); + vprintf(fmt, ap); + printf("\n#\n"); +} + +static void (*conf_message_callback) (const char *fmt, va_list ap) = + conf_default_message_callback; +void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap)) +{ + conf_message_callback = fn; +} + +static void conf_message(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + if (conf_message_callback) + conf_message_callback(fmt, ap); +} + +const char *conf_get_configname(void) +{ + char *name = getenv("KCONFIG_CONFIG"); + + return name ? name : ".config"; +} + +const char *conf_get_autoconfig_name(void) +{ + char *name = getenv("KCONFIG_AUTOCONFIG"); + + return name ? name : "include/generated/auto.conf"; +} + +static char *conf_expand_value(const char *in) +{ + struct symbol *sym; + const char *src; + static char res_value[SYMBOL_MAXLENGTH]; + char *dst, name[SYMBOL_MAXLENGTH]; + + res_value[0] = 0; + dst = name; + while ((src = strchr(in, '$'))) { + strncat(res_value, in, src - in); + src++; + dst = name; + while (isalnum(*src) || *src == '_') + *dst++ = *src++; + *dst = 0; + sym = sym_lookup(name, 0); + sym_calc_value(sym); + strcat(res_value, sym_get_string_value(sym)); + in = src; + } + strcat(res_value, in); + + return res_value; +} + +char *conf_get_default_confname(void) +{ + struct stat buf; + static char fullname[PATH_MAX+1]; + char *env, *name; + + name = conf_expand_value(conf_defname); + env = getenv(SRCTREE); + if (env) { + sprintf(fullname, "%s/%s", env, name); + if (!stat(fullname, &buf)) + return fullname; + } + return name; +} + +static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) +{ + char *p2; + + switch (sym->type) { + case S_TRISTATE: + if (p[0] == 'm') { + sym->def[def].tri = mod; + sym->flags |= def_flags; + break; + } + /* fall through */ + case S_BOOLEAN: + if (p[0] == 'y') { + sym->def[def].tri = yes; + sym->flags |= def_flags; + break; + } + if (p[0] == 'n') { + sym->def[def].tri = no; + sym->flags |= def_flags; + break; + } + conf_warning("symbol value '%s' invalid for %s", p, sym->name); + return 1; + case S_OTHER: + if (*p != '"') { + for (p2 = p; *p2 && !isspace(*p2); p2++) + ; + sym->type = S_STRING; + goto done; + } + /* fall through */ + case S_STRING: + if (*p++ != '"') + break; + for (p2 = p; (p2 = strpbrk(p2, "\"\\")); p2++) { + if (*p2 == '"') { + *p2 = 0; + break; + } + memmove(p2, p2 + 1, strlen(p2)); + } + if (!p2) { + conf_warning("invalid string found"); + return 1; + } + /* fall through */ + case S_INT: + case S_HEX: + done: + if (sym_string_valid(sym, p)) { + sym->def[def].val = strdup(p); + sym->flags |= def_flags; + } else { + conf_warning("symbol value '%s' invalid for %s", p, sym->name); + return 1; + } + break; + default: + ; + } + return 0; +} + +int conf_read_simple(const char *name, int def) +{ + FILE *in = NULL; + char line[1024]; + char *p, *p2; + struct symbol *sym; + int i, def_flags; + + if (name) { + in = zconf_fopen(name); + } else { + struct property *prop; + + name = conf_get_configname(); + in = zconf_fopen(name); + if (in) + goto load; + sym_add_change_count(1); + if (!sym_defconfig_list) { + if (modules_sym) + sym_calc_value(modules_sym); + return 1; + } + + for_all_defaults(sym_defconfig_list, prop) { + if (expr_calc_value(prop->visible.expr) == no || + prop->expr->type != E_SYMBOL) + continue; + name = conf_expand_value(prop->expr->left.sym->name); + in = zconf_fopen(name); + if (in) { + conf_message(_("using defaults found in %s"), + name); + goto load; + } + } + } + if (!in) + return 1; + +load: + conf_filename = name; + conf_lineno = 0; + conf_warnings = 0; + conf_unsaved = 0; + + def_flags = SYMBOL_DEF << def; + for_all_symbols(i, sym) { + sym->flags |= SYMBOL_CHANGED; + sym->flags &= ~(def_flags|SYMBOL_VALID); + if (sym_is_choice(sym)) + sym->flags |= def_flags; + switch (sym->type) { + case S_INT: + case S_HEX: + case S_STRING: + if (sym->def[def].val) + free(sym->def[def].val); + /* fall through */ + default: + sym->def[def].val = NULL; + sym->def[def].tri = no; + } + } + + while (fgets(line, sizeof(line), in)) { + conf_lineno++; + sym = NULL; + if (line[0] == '#') { + if (memcmp(line + 2, CONFIG_, strlen(CONFIG_))) + continue; + p = strchr(line + 2 + strlen(CONFIG_), ' '); + if (!p) + continue; + *p++ = 0; + if (strncmp(p, "is not set", 10)) + continue; + if (def == S_DEF_USER) { + sym = sym_find(line + 2 + strlen(CONFIG_)); + if (!sym) { + sym_add_change_count(1); + goto setsym; + } + } else { + sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); + if (sym->type == S_UNKNOWN) + sym->type = S_BOOLEAN; + } + if (sym->flags & def_flags) { + conf_warning("override: reassigning to symbol %s", sym->name); + } + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + sym->def[def].tri = no; + sym->flags |= def_flags; + break; + default: + ; + } + } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) { + p = strchr(line + strlen(CONFIG_), '='); + if (!p) + continue; + *p++ = 0; + p2 = strchr(p, '\n'); + if (p2) { + *p2-- = 0; + if (*p2 == '\r') + *p2 = 0; + } + if (def == S_DEF_USER) { + sym = sym_find(line + strlen(CONFIG_)); + if (!sym) { + sym_add_change_count(1); + goto setsym; + } + } else { + sym = sym_lookup(line + strlen(CONFIG_), 0); + if (sym->type == S_UNKNOWN) + sym->type = S_OTHER; + } + if (sym->flags & def_flags) { + conf_warning("override: reassigning to symbol %s", sym->name); + } + if (conf_set_sym_val(sym, def, def_flags, p)) + continue; + } else { + if (line[0] != '\r' && line[0] != '\n') + conf_warning("unexpected data"); + continue; + } +setsym: + if (sym && sym_is_choice_value(sym)) { + struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); + switch (sym->def[def].tri) { + case no: + break; + case mod: + if (cs->def[def].tri == yes) { + conf_warning("%s creates inconsistent choice state", sym->name); + cs->flags &= ~def_flags; + } + break; + case yes: + if (cs->def[def].tri != no) + conf_warning("override: %s changes choice state", sym->name); + cs->def[def].val = sym; + break; + } + cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); + } + } + fclose(in); + + if (modules_sym) + sym_calc_value(modules_sym); + return 0; +} + +int conf_read(const char *name) +{ + struct symbol *sym; + int i; + + sym_set_change_count(0); + + if (conf_read_simple(name, S_DEF_USER)) + return 1; + + for_all_symbols(i, sym) { + sym_calc_value(sym); + if (sym_is_choice(sym) || (sym->flags & SYMBOL_AUTO)) + continue; + if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { + /* check that calculated value agrees with saved value */ + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym)) + break; + if (!sym_is_choice(sym)) + continue; + /* fall through */ + default: + if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) + continue; + break; + } + } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) + /* no previous value and not saved */ + continue; + conf_unsaved++; + /* maybe print value in verbose mode... */ + } + + for_all_symbols(i, sym) { + if (sym_has_value(sym) && !sym_is_choice_value(sym)) { + /* Reset values of generates values, so they'll appear + * as new, if they should become visible, but that + * doesn't quite work if the Kconfig and the saved + * configuration disagree. + */ + if (sym->visible == no && !conf_unsaved) + sym->flags &= ~SYMBOL_DEF_USER; + switch (sym->type) { + case S_STRING: + case S_INT: + case S_HEX: + /* Reset a string value if it's out of range */ + if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) + break; + sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); + conf_unsaved++; + break; + default: + break; + } + } + } + + sym_add_change_count(conf_warnings || conf_unsaved); + + return 0; +} + +/* + * Kconfig configuration printer + * + * This printer is used when generating the resulting configuration after + * kconfig invocation and `defconfig' files. Unset symbol might be omitted by + * passing a non-NULL argument to the printer. + * + */ +static void +kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) +{ + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + if (*value == 'n') { + bool skip_unset = (arg != NULL); + + if (!skip_unset) + fprintf(fp, "# %s%s is not set\n", + CONFIG_, sym->name); + return; + } + break; + default: + break; + } + + fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value); +} + +static void +kconfig_print_cmake_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) +{ + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + if (*value == 'n') { + bool skip_unset = (arg != NULL); + + if (!skip_unset) + fprintf(fp, "set(%s%s false)\n", + CONFIG_, sym->name, value); + return; + } else if (*value == 'm') { + abort(); + } else { + fprintf(fp, "set(%s%s true)\n", CONFIG_, sym->name, value); + } + break; + case S_HEX: { + const char *prefix = ""; + + if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) + prefix = "0x"; + fprintf(fp, "set(%s%s %s%s)\n", + CONFIG_, sym->name, prefix, value); + break; + } + case S_STRING: + case S_INT: + fprintf(fp, "set(%s%s %s)\n", + CONFIG_, sym->name, value); + break; + default: + break; + } + +} + +static void +kconfig_print_comment(FILE *fp, const char *value, void *arg) +{ + const char *p = value; + size_t l; + + for (;;) { + l = strcspn(p, "\n"); + fprintf(fp, "#"); + if (l) { + fprintf(fp, " "); + xfwrite(p, l, 1, fp); + p += l; + } + fprintf(fp, "\n"); + if (*p++ == '\0') + break; + } +} + +static struct conf_printer kconfig_printer_cb = +{ + .print_symbol = kconfig_print_symbol, + .print_comment = kconfig_print_comment, +}; + +static struct conf_printer kconfig_printer_cmake_cb = +{ + .print_symbol = kconfig_print_cmake_symbol, + .print_comment = kconfig_print_comment, +}; + +/* + * Header printer + * + * This printer is used when generating the `include/generated/autoconf.h' file. + */ +static void +header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) +{ + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: { + const char *suffix = ""; + + switch (*value) { + case 'n': + break; + case 'm': + suffix = "_MODULE"; + /* fall through */ + default: + fprintf(fp, "#define %s%s%s 1\n", + CONFIG_, sym->name, suffix); + } + break; + } + case S_HEX: { + const char *prefix = ""; + + if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) + prefix = "0x"; + fprintf(fp, "#define %s%s %s%s\n", + CONFIG_, sym->name, prefix, value); + break; + } + case S_STRING: + case S_INT: + fprintf(fp, "#define %s%s %s\n", + CONFIG_, sym->name, value); + break; + default: + break; + } + +} + +static void +header_print_comment(FILE *fp, const char *value, void *arg) +{ + const char *p = value; + size_t l; + + fprintf(fp, "/*\n"); + for (;;) { + l = strcspn(p, "\n"); + fprintf(fp, " *"); + if (l) { + fprintf(fp, " "); + xfwrite(p, l, 1, fp); + p += l; + } + fprintf(fp, "\n"); + if (*p++ == '\0') + break; + } + fprintf(fp, " */\n"); +} + +static struct conf_printer header_printer_cb = +{ + .print_symbol = header_print_symbol, + .print_comment = header_print_comment, +}; + +/* + * Tristate printer + * + * This printer is used when generating the `include/generated/tristate.conf' file. + */ +static void +tristate_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) +{ + + if (sym->type == S_TRISTATE && *value != 'n') + fprintf(fp, "%s%s=%c\n", CONFIG_, sym->name, (char)toupper(*value)); +} + +static struct conf_printer tristate_printer_cb = +{ + .print_symbol = tristate_print_symbol, + .print_comment = kconfig_print_comment, +}; + +static void conf_write_symbol(FILE *fp, struct symbol *sym, + struct conf_printer *printer, void *printer_arg) +{ + const char *str; + + switch (sym->type) { + case S_OTHER: + case S_UNKNOWN: + break; + case S_STRING: + str = sym_get_string_value(sym); + str = sym_escape_string_value(str); + printer->print_symbol(fp, sym, str, printer_arg); + free((void *)str); + break; + default: + str = sym_get_string_value(sym); + printer->print_symbol(fp, sym, str, printer_arg); + } +} + +static void +conf_write_heading(FILE *fp, struct conf_printer *printer, void *printer_arg) +{ + char buf[256]; + + snprintf(buf, sizeof(buf), + "\n" + "Automatically generated file; DO NOT EDIT.\n" + "%s\n", + rootmenu.prompt->text); + + printer->print_comment(fp, buf, printer_arg); +} + +/* + * Write out a minimal config. + * All values that has default values are skipped as this is redundant. + */ +int conf_write_defconfig(const char *filename) +{ + struct symbol *sym; + struct menu *menu; + FILE *out; + + out = fopen(filename, "w"); + if (!out) + return 1; + + sym_clear_all_valid(); + + /* Traverse all menus to find all relevant symbols */ + menu = rootmenu.list; + + while (menu != NULL) + { + sym = menu->sym; + if (sym == NULL) { + if (!menu_is_visible(menu)) + goto next_menu; + } else if (!sym_is_choice(sym)) { + sym_calc_value(sym); + if (!(sym->flags & SYMBOL_WRITE)) + goto next_menu; + sym->flags &= ~SYMBOL_WRITE; + /* If we cannot change the symbol - skip */ + if (!sym_is_changable(sym)) + goto next_menu; + /* If symbol equals to default value - skip */ + if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) + goto next_menu; + + /* + * If symbol is a choice value and equals to the + * default for a choice - skip. + * But only if value is bool and equal to "y" and + * choice is not "optional". + * (If choice is "optional" then all values can be "n") + */ + if (sym_is_choice_value(sym)) { + struct symbol *cs; + struct symbol *ds; + + cs = prop_get_symbol(sym_get_choice_prop(sym)); + ds = sym_choice_default(cs); + if (!sym_is_optional(cs) && sym == ds) { + if ((sym->type == S_BOOLEAN) && + sym_get_tristate_value(sym) == yes) + goto next_menu; + } + } + conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); + } +next_menu: + if (menu->list != NULL) { + menu = menu->list; + } + else if (menu->next != NULL) { + menu = menu->next; + } else { + while ((menu = menu->parent)) { + if (menu->next != NULL) { + menu = menu->next; + break; + } + } + } + } + fclose(out); + return 0; +} + +int conf_write(const char *name) +{ + FILE *out; + struct symbol *sym; + struct menu *menu; + const char *basename; + const char *str; + char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; + char *env; + + dirname[0] = 0; + if (name && name[0]) { + struct stat st; + char *slash; + + if (!stat(name, &st) && S_ISDIR(st.st_mode)) { + strcpy(dirname, name); + strcat(dirname, "/"); + basename = conf_get_configname(); + } else if ((slash = strrchr(name, '/'))) { + int size = slash - name + 1; + memcpy(dirname, name, size); + dirname[size] = 0; + if (slash[1]) + basename = slash + 1; + else + basename = conf_get_configname(); + } else + basename = name; + } else + basename = conf_get_configname(); + + sprintf(newname, "%s%s", dirname, basename); + env = getenv("KCONFIG_OVERWRITECONFIG"); + if (!env || !*env) { + sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid()); + out = fopen(tmpname, "w"); + } else { + *tmpname = 0; + out = fopen(newname, "w"); + } + if (!out) + return 1; + + conf_write_heading(out, &kconfig_printer_cb, NULL); + + if (!conf_get_changed()) + sym_clear_all_valid(); + + menu = rootmenu.list; + while (menu) { + sym = menu->sym; + if (!sym) { + if (!menu_is_visible(menu)) + goto next; + str = menu_get_prompt(menu); + fprintf(out, "\n" + "#\n" + "# %s\n" + "#\n", str); + } else if (!(sym->flags & SYMBOL_CHOICE)) { + sym_calc_value(sym); + if (!(sym->flags & SYMBOL_WRITE)) + goto next; + sym->flags &= ~SYMBOL_WRITE; + + conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); + } + +next: + if (menu->list) { + menu = menu->list; + continue; + } + if (menu->next) + menu = menu->next; + else while ((menu = menu->parent)) { + if (menu->next) { + menu = menu->next; + break; + } + } + } + fclose(out); + + if (*tmpname) { + strcat(dirname, basename); + strcat(dirname, ".old"); + rename(newname, dirname); + if (rename(tmpname, newname)) + return 1; + } + + conf_message(_("configuration written to %s"), newname); + + sym_set_change_count(0); + + return 0; +} + +static int conf_split_config(void) +{ + const char *name; + char path[PATH_MAX+1]; + char *s, *d, c; + struct symbol *sym; + struct stat sb; + int res, i, fd; + + name = conf_get_autoconfig_name(); + conf_read_simple(name, S_DEF_AUTO); + + if (chdir("include/generated")) + return 1; + + res = 0; + for_all_symbols(i, sym) { + sym_calc_value(sym); + if ((sym->flags & SYMBOL_AUTO) || !sym->name) + continue; + if (sym->flags & SYMBOL_WRITE) { + if (sym->flags & SYMBOL_DEF_AUTO) { + /* + * symbol has old and new value, + * so compare them... + */ + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + if (sym_get_tristate_value(sym) == + sym->def[S_DEF_AUTO].tri) + continue; + break; + case S_STRING: + case S_HEX: + case S_INT: + if (!strcmp(sym_get_string_value(sym), + sym->def[S_DEF_AUTO].val)) + continue; + break; + default: + break; + } + } else { + /* + * If there is no old value, only 'no' (unset) + * is allowed as new value. + */ + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + if (sym_get_tristate_value(sym) == no) + continue; + break; + default: + break; + } + } + } else if (!(sym->flags & SYMBOL_DEF_AUTO)) + /* There is neither an old nor a new value. */ + continue; + /* else + * There is an old value, but no new value ('no' (unset) + * isn't saved in auto.conf, so the old value is always + * different from 'no'). + */ + + /* Replace all '_' and append ".h" */ + s = sym->name; + d = path; + while ((c = *s++)) { + c = tolower(c); + *d++ = (c == '_') ? '/' : c; + } + strcpy(d, ".h"); + + /* Assume directory path already exists. */ + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (fd == -1) { + if (errno != ENOENT) { + res = 1; + break; + } + /* + * Create directory components, + * unless they exist already. + */ + d = path; + while ((d = strchr(d, '/'))) { + *d = 0; + if (stat(path, &sb) && mkdir(path, 0755)) { + res = 1; + goto out; + } + *d++ = '/'; + } + /* Try it again. */ + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (fd == -1) { + res = 1; + break; + } + } + close(fd); + } +out: + if (chdir("../..")) + return 1; + + return res; +} + +int conf_write_autoconf(void) +{ + struct symbol *sym; + const char *name; + FILE *out, *tristate, *out_h, *out_c; + int i; + + sym_clear_all_valid(); + + file_write_dep("include/generated/auto.conf.cmd"); + + if (conf_split_config()) + return 1; + + out = fopen(".tmpconfig", "w"); + if (!out) + return 1; + + tristate = fopen(".tmpconfig_tristate", "w"); + if (!tristate) { + fclose(out); + return 1; + } + + out_h = fopen(".tmpconfig.h", "w"); + if (!out_h) { + fclose(out); + fclose(tristate); + return 1; + } + + out_c = fopen(".tmpconfig.cmake", "w"); + if (!out_c) { + fclose(out); + fclose(tristate); + fclose(out_h); + } + + conf_write_heading(out, &kconfig_printer_cb, NULL); + + conf_write_heading(tristate, &tristate_printer_cb, NULL); + + conf_write_heading(out_h, &header_printer_cb, NULL); + + conf_write_heading(out_c, &kconfig_printer_cmake_cb, NULL); + + for_all_symbols(i, sym) { + sym_calc_value(sym); + if (!(sym->flags & SYMBOL_WRITE) || !sym->name) + continue; + + /* write symbol to auto.conf, tristate and header files */ + conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1); + + conf_write_symbol(tristate, sym, &tristate_printer_cb, (void *)1); + + conf_write_symbol(out_h, sym, &header_printer_cb, NULL); + + conf_write_symbol(out_c, sym, &kconfig_printer_cmake_cb, NULL); + } + fclose(out); + fclose(tristate); + fclose(out_h); + fclose(out_c); + + name = getenv("KCONFIG_AUTOHEADER"); + if (!name) + name = "include/generated/autoconf.h"; + if (rename(".tmpconfig.h", name)) + return 1; + name = getenv("KCONFIG_TRISTATE"); + if (!name) + name = "include/generated/tristate.conf"; + if (rename(".tmpconfig_tristate", name)) + return 1; + name = getenv("KCONFIG_CMAKE"); + if (!name) + name = "config.cmake"; + if (rename(".tmpconfig.cmake", name)) + return 1; + name = conf_get_autoconfig_name(); + /* + * This must be the last step, kbuild has a dependency on auto.conf + * and this marks the successful completion of the previous steps. + */ + if (rename(".tmpconfig", name)) + return 1; + + return 0; +} + +static int sym_change_count; +static void (*conf_changed_callback)(void); + +void sym_set_change_count(int count) +{ + int _sym_change_count = sym_change_count; + sym_change_count = count; + if (conf_changed_callback && + (bool)_sym_change_count != (bool)count) + conf_changed_callback(); +} + +void sym_add_change_count(int count) +{ + sym_set_change_count(count + sym_change_count); +} + +bool conf_get_changed(void) +{ + return sym_change_count; +} + +void conf_set_changed_callback(void (*fn)(void)) +{ + conf_changed_callback = fn; +} + +static void randomize_choice_values(struct symbol *csym) +{ + struct property *prop; + struct symbol *sym; + struct expr *e; + int cnt, def; + + /* + * If choice is mod then we may have more items selected + * and if no then no-one. + * In both cases stop. + */ + if (csym->curr.tri != yes) + return; + + prop = sym_get_choice_prop(csym); + + /* count entries in choice block */ + cnt = 0; + expr_list_for_each_sym(prop->expr, e, sym) + cnt++; + + /* + * find a random value and set it to yes, + * set the rest to no so we have only one set + */ + def = (rand() % cnt); + + cnt = 0; + expr_list_for_each_sym(prop->expr, e, sym) { + if (def == cnt++) { + sym->def[S_DEF_USER].tri = yes; + csym->def[S_DEF_USER].val = sym; + } + else { + sym->def[S_DEF_USER].tri = no; + } + } + csym->flags |= SYMBOL_DEF_USER; + /* clear VALID to get value calculated */ + csym->flags &= ~(SYMBOL_VALID); +} + +static void set_all_choice_values(struct symbol *csym) +{ + struct property *prop; + struct symbol *sym; + struct expr *e; + + prop = sym_get_choice_prop(csym); + + /* + * Set all non-assinged choice values to no + */ + expr_list_for_each_sym(prop->expr, e, sym) { + if (!sym_has_value(sym)) + sym->def[S_DEF_USER].tri = no; + } + csym->flags |= SYMBOL_DEF_USER; + /* clear VALID to get value calculated */ + csym->flags &= ~(SYMBOL_VALID); +} + +void conf_set_all_new_symbols(enum conf_def_mode mode) +{ + struct symbol *sym, *csym; + int i, cnt; + + for_all_symbols(i, sym) { + if (sym_has_value(sym)) + continue; + switch (sym_get_type(sym)) { + case S_BOOLEAN: + case S_TRISTATE: + switch (mode) { + case def_yes: + sym->def[S_DEF_USER].tri = yes; + break; + case def_mod: + sym->def[S_DEF_USER].tri = mod; + break; + case def_no: + sym->def[S_DEF_USER].tri = no; + break; + case def_random: + cnt = sym_get_type(sym) == S_TRISTATE ? 3 : 2; + sym->def[S_DEF_USER].tri = (tristate)(rand() % cnt); + break; + default: + continue; + } + if (!(sym_is_choice(sym) && mode == def_random)) + sym->flags |= SYMBOL_DEF_USER; + break; + default: + break; + } + + } + + sym_clear_all_valid(); + + /* + * We have different type of choice blocks. + * If curr.tri equals to mod then we can select several + * choice symbols in one block. + * In this case we do nothing. + * If curr.tri equals yes then only one symbol can be + * selected in a choice block and we set it to yes, + * and the rest to no. + */ + for_all_symbols(i, csym) { + if (sym_has_value(csym) || !sym_is_choice(csym)) + continue; + + sym_calc_value(csym); + if (mode == def_random) + randomize_choice_values(csym); + else + set_all_choice_values(csym); + } +} diff --git a/carl9170fw/config/expr.c b/carl9170fw/config/expr.c new file mode 100644 index 0000000..290ce41 --- /dev/null +++ b/carl9170fw/config/expr.c @@ -0,0 +1,1168 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include + +#include "lkc.h" + +#define DEBUG_EXPR 0 + +struct expr *expr_alloc_symbol(struct symbol *sym) +{ + struct expr *e = calloc(1, sizeof(*e)); + e->type = E_SYMBOL; + e->left.sym = sym; + return e; +} + +struct expr *expr_alloc_one(enum expr_type type, struct expr *ce) +{ + struct expr *e = calloc(1, sizeof(*e)); + e->type = type; + e->left.expr = ce; + return e; +} + +struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2) +{ + struct expr *e = calloc(1, sizeof(*e)); + e->type = type; + e->left.expr = e1; + e->right.expr = e2; + return e; +} + +struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2) +{ + struct expr *e = calloc(1, sizeof(*e)); + e->type = type; + e->left.sym = s1; + e->right.sym = s2; + return e; +} + +struct expr *expr_alloc_and(struct expr *e1, struct expr *e2) +{ + if (!e1) + return e2; + return e2 ? expr_alloc_two(E_AND, e1, e2) : e1; +} + +struct expr *expr_alloc_or(struct expr *e1, struct expr *e2) +{ + if (!e1) + return e2; + return e2 ? expr_alloc_two(E_OR, e1, e2) : e1; +} + +struct expr *expr_copy(const struct expr *org) +{ + struct expr *e; + + if (!org) + return NULL; + + e = malloc(sizeof(*org)); + memcpy(e, org, sizeof(*org)); + switch (org->type) { + case E_SYMBOL: + e->left = org->left; + break; + case E_NOT: + e->left.expr = expr_copy(org->left.expr); + break; + case E_EQUAL: + case E_UNEQUAL: + e->left.sym = org->left.sym; + e->right.sym = org->right.sym; + break; + case E_AND: + case E_OR: + case E_LIST: + e->left.expr = expr_copy(org->left.expr); + e->right.expr = expr_copy(org->right.expr); + break; + default: + printf("can't copy type %d\n", e->type); + free(e); + e = NULL; + break; + } + + return e; +} + +void expr_free(struct expr *e) +{ + if (!e) + return; + + switch (e->type) { + case E_SYMBOL: + break; + case E_NOT: + expr_free(e->left.expr); + return; + case E_EQUAL: + case E_UNEQUAL: + break; + case E_OR: + case E_AND: + expr_free(e->left.expr); + expr_free(e->right.expr); + break; + default: + printf("how to free type %d?\n", e->type); + break; + } + free(e); +} + +static int trans_count; + +#define e1 (*ep1) +#define e2 (*ep2) + +static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct expr **ep2) +{ + if (e1->type == type) { + __expr_eliminate_eq(type, &e1->left.expr, &e2); + __expr_eliminate_eq(type, &e1->right.expr, &e2); + return; + } + if (e2->type == type) { + __expr_eliminate_eq(type, &e1, &e2->left.expr); + __expr_eliminate_eq(type, &e1, &e2->right.expr); + return; + } + if (e1->type == E_SYMBOL && e2->type == E_SYMBOL && + e1->left.sym == e2->left.sym && + (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no)) + return; + if (!expr_eq(e1, e2)) + return; + trans_count++; + expr_free(e1); expr_free(e2); + switch (type) { + case E_OR: + e1 = expr_alloc_symbol(&symbol_no); + e2 = expr_alloc_symbol(&symbol_no); + break; + case E_AND: + e1 = expr_alloc_symbol(&symbol_yes); + e2 = expr_alloc_symbol(&symbol_yes); + break; + default: + ; + } +} + +void expr_eliminate_eq(struct expr **ep1, struct expr **ep2) +{ + if (!e1 || !e2) + return; + switch (e1->type) { + case E_OR: + case E_AND: + __expr_eliminate_eq(e1->type, ep1, ep2); + default: + ; + } + if (e1->type != e2->type) switch (e2->type) { + case E_OR: + case E_AND: + __expr_eliminate_eq(e2->type, ep1, ep2); + default: + ; + } + e1 = expr_eliminate_yn(e1); + e2 = expr_eliminate_yn(e2); +} + +#undef e1 +#undef e2 + +int expr_eq(struct expr *e1, struct expr *e2) +{ + int res, old_count; + + if (e1->type != e2->type) + return 0; + switch (e1->type) { + case E_EQUAL: + case E_UNEQUAL: + return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym; + case E_SYMBOL: + return e1->left.sym == e2->left.sym; + case E_NOT: + return expr_eq(e1->left.expr, e2->left.expr); + case E_AND: + case E_OR: + e1 = expr_copy(e1); + e2 = expr_copy(e2); + old_count = trans_count; + expr_eliminate_eq(&e1, &e2); + res = (e1->type == E_SYMBOL && e2->type == E_SYMBOL && + e1->left.sym == e2->left.sym); + expr_free(e1); + expr_free(e2); + trans_count = old_count; + return res; + case E_LIST: + case E_RANGE: + case E_NONE: + /* panic */; + } + + if (DEBUG_EXPR) { + expr_fprint(e1, stdout); + printf(" = "); + expr_fprint(e2, stdout); + printf(" ?\n"); + } + + return 0; +} + +struct expr *expr_eliminate_yn(struct expr *e) +{ + struct expr *tmp; + + if (e) switch (e->type) { + case E_AND: + e->left.expr = expr_eliminate_yn(e->left.expr); + e->right.expr = expr_eliminate_yn(e->right.expr); + if (e->left.expr->type == E_SYMBOL) { + if (e->left.expr->left.sym == &symbol_no) { + expr_free(e->left.expr); + expr_free(e->right.expr); + e->type = E_SYMBOL; + e->left.sym = &symbol_no; + e->right.expr = NULL; + return e; + } else if (e->left.expr->left.sym == &symbol_yes) { + free(e->left.expr); + tmp = e->right.expr; + *e = *(e->right.expr); + free(tmp); + return e; + } + } + if (e->right.expr->type == E_SYMBOL) { + if (e->right.expr->left.sym == &symbol_no) { + expr_free(e->left.expr); + expr_free(e->right.expr); + e->type = E_SYMBOL; + e->left.sym = &symbol_no; + e->right.expr = NULL; + return e; + } else if (e->right.expr->left.sym == &symbol_yes) { + free(e->right.expr); + tmp = e->left.expr; + *e = *(e->left.expr); + free(tmp); + return e; + } + } + break; + case E_OR: + e->left.expr = expr_eliminate_yn(e->left.expr); + e->right.expr = expr_eliminate_yn(e->right.expr); + if (e->left.expr->type == E_SYMBOL) { + if (e->left.expr->left.sym == &symbol_no) { + free(e->left.expr); + tmp = e->right.expr; + *e = *(e->right.expr); + free(tmp); + return e; + } else if (e->left.expr->left.sym == &symbol_yes) { + expr_free(e->left.expr); + expr_free(e->right.expr); + e->type = E_SYMBOL; + e->left.sym = &symbol_yes; + e->right.expr = NULL; + return e; + } + } + if (e->right.expr->type == E_SYMBOL) { + if (e->right.expr->left.sym == &symbol_no) { + free(e->right.expr); + tmp = e->left.expr; + *e = *(e->left.expr); + free(tmp); + return e; + } else if (e->right.expr->left.sym == &symbol_yes) { + expr_free(e->left.expr); + expr_free(e->right.expr); + e->type = E_SYMBOL; + e->left.sym = &symbol_yes; + e->right.expr = NULL; + return e; + } + } + break; + default: + ; + } + return e; +} + +/* + * bool FOO!=n => FOO + */ +struct expr *expr_trans_bool(struct expr *e) +{ + if (!e) + return NULL; + switch (e->type) { + case E_AND: + case E_OR: + case E_NOT: + e->left.expr = expr_trans_bool(e->left.expr); + e->right.expr = expr_trans_bool(e->right.expr); + break; + case E_UNEQUAL: + // FOO!=n -> FOO + if (e->left.sym->type == S_TRISTATE) { + if (e->right.sym == &symbol_no) { + e->type = E_SYMBOL; + e->right.sym = NULL; + } + } + break; + default: + ; + } + return e; +} + +/* + * e1 || e2 -> ? + */ +static struct expr *expr_join_or(struct expr *e1, struct expr *e2) +{ + struct expr *tmp; + struct symbol *sym1, *sym2; + + if (expr_eq(e1, e2)) + return expr_copy(e1); + if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT) + return NULL; + if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT) + return NULL; + if (e1->type == E_NOT) { + tmp = e1->left.expr; + if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL) + return NULL; + sym1 = tmp->left.sym; + } else + sym1 = e1->left.sym; + if (e2->type == E_NOT) { + if (e2->left.expr->type != E_SYMBOL) + return NULL; + sym2 = e2->left.expr->left.sym; + } else + sym2 = e2->left.sym; + if (sym1 != sym2) + return NULL; + if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE) + return NULL; + if (sym1->type == S_TRISTATE) { + if (e1->type == E_EQUAL && e2->type == E_EQUAL && + ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || + (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { + // (a='y') || (a='m') -> (a!='n') + return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_no); + } + if (e1->type == E_EQUAL && e2->type == E_EQUAL && + ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || + (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) { + // (a='y') || (a='n') -> (a!='m') + return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_mod); + } + if (e1->type == E_EQUAL && e2->type == E_EQUAL && + ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || + (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) { + // (a='m') || (a='n') -> (a!='y') + return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes); + } + } + if (sym1->type == S_BOOLEAN && sym1 == sym2) { + if ((e1->type == E_NOT && e1->left.expr->type == E_SYMBOL && e2->type == E_SYMBOL) || + (e2->type == E_NOT && e2->left.expr->type == E_SYMBOL && e1->type == E_SYMBOL)) + return expr_alloc_symbol(&symbol_yes); + } + + if (DEBUG_EXPR) { + printf("optimize ("); + expr_fprint(e1, stdout); + printf(") || ("); + expr_fprint(e2, stdout); + printf(")?\n"); + } + return NULL; +} + +static struct expr *expr_join_and(struct expr *e1, struct expr *e2) +{ + struct expr *tmp; + struct symbol *sym1, *sym2; + + if (expr_eq(e1, e2)) + return expr_copy(e1); + if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT) + return NULL; + if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT) + return NULL; + if (e1->type == E_NOT) { + tmp = e1->left.expr; + if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL) + return NULL; + sym1 = tmp->left.sym; + } else + sym1 = e1->left.sym; + if (e2->type == E_NOT) { + if (e2->left.expr->type != E_SYMBOL) + return NULL; + sym2 = e2->left.expr->left.sym; + } else + sym2 = e2->left.sym; + if (sym1 != sym2) + return NULL; + if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE) + return NULL; + + if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || + (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) + // (a) && (a='y') -> (a='y') + return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); + + if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) || + (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no)) + // (a) && (a!='n') -> (a) + return expr_alloc_symbol(sym1); + + if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) || + (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod)) + // (a) && (a!='m') -> (a='y') + return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); + + if (sym1->type == S_TRISTATE) { + if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) { + // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' + sym2 = e1->right.sym; + if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) + return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) + : expr_alloc_symbol(&symbol_no); + } + if (e1->type == E_UNEQUAL && e2->type == E_EQUAL) { + // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' + sym2 = e2->right.sym; + if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) + return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) + : expr_alloc_symbol(&symbol_no); + } + if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && + ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || + (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) + // (a!='y') && (a!='n') -> (a='m') + return expr_alloc_comp(E_EQUAL, sym1, &symbol_mod); + + if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && + ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || + (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) + // (a!='y') && (a!='m') -> (a='n') + return expr_alloc_comp(E_EQUAL, sym1, &symbol_no); + + if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && + ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || + (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) + // (a!='m') && (a!='n') -> (a='m') + return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); + + if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || + (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) || + (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) || + (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes)) + return NULL; + } + + if (DEBUG_EXPR) { + printf("optimize ("); + expr_fprint(e1, stdout); + printf(") && ("); + expr_fprint(e2, stdout); + printf(")?\n"); + } + return NULL; +} + +static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr **ep2) +{ +#define e1 (*ep1) +#define e2 (*ep2) + struct expr *tmp; + + if (e1->type == type) { + expr_eliminate_dups1(type, &e1->left.expr, &e2); + expr_eliminate_dups1(type, &e1->right.expr, &e2); + return; + } + if (e2->type == type) { + expr_eliminate_dups1(type, &e1, &e2->left.expr); + expr_eliminate_dups1(type, &e1, &e2->right.expr); + return; + } + if (e1 == e2) + return; + + switch (e1->type) { + case E_OR: case E_AND: + expr_eliminate_dups1(e1->type, &e1, &e1); + default: + ; + } + + switch (type) { + case E_OR: + tmp = expr_join_or(e1, e2); + if (tmp) { + expr_free(e1); expr_free(e2); + e1 = expr_alloc_symbol(&symbol_no); + e2 = tmp; + trans_count++; + } + break; + case E_AND: + tmp = expr_join_and(e1, e2); + if (tmp) { + expr_free(e1); expr_free(e2); + e1 = expr_alloc_symbol(&symbol_yes); + e2 = tmp; + trans_count++; + } + break; + default: + ; + } +#undef e1 +#undef e2 +} + +static void expr_eliminate_dups2(enum expr_type type, struct expr **ep1, struct expr **ep2) +{ +#define e1 (*ep1) +#define e2 (*ep2) + struct expr *tmp, *tmp1, *tmp2; + + if (e1->type == type) { + expr_eliminate_dups2(type, &e1->left.expr, &e2); + expr_eliminate_dups2(type, &e1->right.expr, &e2); + return; + } + if (e2->type == type) { + expr_eliminate_dups2(type, &e1, &e2->left.expr); + expr_eliminate_dups2(type, &e1, &e2->right.expr); + } + if (e1 == e2) + return; + + switch (e1->type) { + case E_OR: + expr_eliminate_dups2(e1->type, &e1, &e1); + // (FOO || BAR) && (!FOO && !BAR) -> n + tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); + tmp2 = expr_copy(e2); + tmp = expr_extract_eq_and(&tmp1, &tmp2); + if (expr_is_yes(tmp1)) { + expr_free(e1); + e1 = expr_alloc_symbol(&symbol_no); + trans_count++; + } + expr_free(tmp2); + expr_free(tmp1); + expr_free(tmp); + break; + case E_AND: + expr_eliminate_dups2(e1->type, &e1, &e1); + // (FOO && BAR) || (!FOO || !BAR) -> y + tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); + tmp2 = expr_copy(e2); + tmp = expr_extract_eq_or(&tmp1, &tmp2); + if (expr_is_no(tmp1)) { + expr_free(e1); + e1 = expr_alloc_symbol(&symbol_yes); + trans_count++; + } + expr_free(tmp2); + expr_free(tmp1); + expr_free(tmp); + break; + default: + ; + } +#undef e1 +#undef e2 +} + +struct expr *expr_eliminate_dups(struct expr *e) +{ + int oldcount; + if (!e) + return e; + + oldcount = trans_count; + while (1) { + trans_count = 0; + switch (e->type) { + case E_OR: case E_AND: + expr_eliminate_dups1(e->type, &e, &e); + expr_eliminate_dups2(e->type, &e, &e); + default: + ; + } + if (!trans_count) + break; + e = expr_eliminate_yn(e); + } + trans_count = oldcount; + return e; +} + +struct expr *expr_transform(struct expr *e) +{ + struct expr *tmp; + + if (!e) + return NULL; + switch (e->type) { + case E_EQUAL: + case E_UNEQUAL: + case E_SYMBOL: + case E_LIST: + break; + default: + e->left.expr = expr_transform(e->left.expr); + e->right.expr = expr_transform(e->right.expr); + } + + switch (e->type) { + case E_EQUAL: + if (e->left.sym->type != S_BOOLEAN) + break; + if (e->right.sym == &symbol_no) { + e->type = E_NOT; + e->left.expr = expr_alloc_symbol(e->left.sym); + e->right.sym = NULL; + break; + } + if (e->right.sym == &symbol_mod) { + printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name); + e->type = E_SYMBOL; + e->left.sym = &symbol_no; + e->right.sym = NULL; + break; + } + if (e->right.sym == &symbol_yes) { + e->type = E_SYMBOL; + e->right.sym = NULL; + break; + } + break; + case E_UNEQUAL: + if (e->left.sym->type != S_BOOLEAN) + break; + if (e->right.sym == &symbol_no) { + e->type = E_SYMBOL; + e->right.sym = NULL; + break; + } + if (e->right.sym == &symbol_mod) { + printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name); + e->type = E_SYMBOL; + e->left.sym = &symbol_yes; + e->right.sym = NULL; + break; + } + if (e->right.sym == &symbol_yes) { + e->type = E_NOT; + e->left.expr = expr_alloc_symbol(e->left.sym); + e->right.sym = NULL; + break; + } + break; + case E_NOT: + switch (e->left.expr->type) { + case E_NOT: + // !!a -> a + tmp = e->left.expr->left.expr; + free(e->left.expr); + free(e); + e = tmp; + e = expr_transform(e); + break; + case E_EQUAL: + case E_UNEQUAL: + // !a='x' -> a!='x' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL; + break; + case E_OR: + // !(a || b) -> !a && !b + tmp = e->left.expr; + e->type = E_AND; + e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); + tmp->type = E_NOT; + tmp->right.expr = NULL; + e = expr_transform(e); + break; + case E_AND: + // !(a && b) -> !a || !b + tmp = e->left.expr; + e->type = E_OR; + e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); + tmp->type = E_NOT; + tmp->right.expr = NULL; + e = expr_transform(e); + break; + case E_SYMBOL: + if (e->left.expr->left.sym == &symbol_yes) { + // !'y' -> 'n' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = E_SYMBOL; + e->left.sym = &symbol_no; + break; + } + if (e->left.expr->left.sym == &symbol_mod) { + // !'m' -> 'm' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = E_SYMBOL; + e->left.sym = &symbol_mod; + break; + } + if (e->left.expr->left.sym == &symbol_no) { + // !'n' -> 'y' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = E_SYMBOL; + e->left.sym = &symbol_yes; + break; + } + break; + default: + ; + } + break; + default: + ; + } + return e; +} + +int expr_contains_symbol(struct expr *dep, struct symbol *sym) +{ + if (!dep) + return 0; + + switch (dep->type) { + case E_AND: + case E_OR: + return expr_contains_symbol(dep->left.expr, sym) || + expr_contains_symbol(dep->right.expr, sym); + case E_SYMBOL: + return dep->left.sym == sym; + case E_EQUAL: + case E_UNEQUAL: + return dep->left.sym == sym || + dep->right.sym == sym; + case E_NOT: + return expr_contains_symbol(dep->left.expr, sym); + default: + ; + } + return 0; +} + +bool expr_depends_symbol(struct expr *dep, struct symbol *sym) +{ + if (!dep) + return false; + + switch (dep->type) { + case E_AND: + return expr_depends_symbol(dep->left.expr, sym) || + expr_depends_symbol(dep->right.expr, sym); + case E_SYMBOL: + return dep->left.sym == sym; + case E_EQUAL: + if (dep->left.sym == sym) { + if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod) + return true; + } + break; + case E_UNEQUAL: + if (dep->left.sym == sym) { + if (dep->right.sym == &symbol_no) + return true; + } + break; + default: + ; + } + return false; +} + +struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2) +{ + struct expr *tmp = NULL; + expr_extract_eq(E_AND, &tmp, ep1, ep2); + if (tmp) { + *ep1 = expr_eliminate_yn(*ep1); + *ep2 = expr_eliminate_yn(*ep2); + } + return tmp; +} + +struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2) +{ + struct expr *tmp = NULL; + expr_extract_eq(E_OR, &tmp, ep1, ep2); + if (tmp) { + *ep1 = expr_eliminate_yn(*ep1); + *ep2 = expr_eliminate_yn(*ep2); + } + return tmp; +} + +void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2) +{ +#define e1 (*ep1) +#define e2 (*ep2) + if (e1->type == type) { + expr_extract_eq(type, ep, &e1->left.expr, &e2); + expr_extract_eq(type, ep, &e1->right.expr, &e2); + return; + } + if (e2->type == type) { + expr_extract_eq(type, ep, ep1, &e2->left.expr); + expr_extract_eq(type, ep, ep1, &e2->right.expr); + return; + } + if (expr_eq(e1, e2)) { + *ep = *ep ? expr_alloc_two(type, *ep, e1) : e1; + expr_free(e2); + if (type == E_AND) { + e1 = expr_alloc_symbol(&symbol_yes); + e2 = expr_alloc_symbol(&symbol_yes); + } else if (type == E_OR) { + e1 = expr_alloc_symbol(&symbol_no); + e2 = expr_alloc_symbol(&symbol_no); + } + } +#undef e1 +#undef e2 +} + +struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym) +{ + struct expr *e1, *e2; + + if (!e) { + e = expr_alloc_symbol(sym); + if (type == E_UNEQUAL) + e = expr_alloc_one(E_NOT, e); + return e; + } + switch (e->type) { + case E_AND: + e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); + e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); + if (sym == &symbol_yes) + e = expr_alloc_two(E_AND, e1, e2); + if (sym == &symbol_no) + e = expr_alloc_two(E_OR, e1, e2); + if (type == E_UNEQUAL) + e = expr_alloc_one(E_NOT, e); + return e; + case E_OR: + e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym); + e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym); + if (sym == &symbol_yes) + e = expr_alloc_two(E_OR, e1, e2); + if (sym == &symbol_no) + e = expr_alloc_two(E_AND, e1, e2); + if (type == E_UNEQUAL) + e = expr_alloc_one(E_NOT, e); + return e; + case E_NOT: + return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym); + case E_UNEQUAL: + case E_EQUAL: + if (type == E_EQUAL) { + if (sym == &symbol_yes) + return expr_copy(e); + if (sym == &symbol_mod) + return expr_alloc_symbol(&symbol_no); + if (sym == &symbol_no) + return expr_alloc_one(E_NOT, expr_copy(e)); + } else { + if (sym == &symbol_yes) + return expr_alloc_one(E_NOT, expr_copy(e)); + if (sym == &symbol_mod) + return expr_alloc_symbol(&symbol_yes); + if (sym == &symbol_no) + return expr_copy(e); + } + break; + case E_SYMBOL: + return expr_alloc_comp(type, e->left.sym, sym); + case E_LIST: + case E_RANGE: + case E_NONE: + /* panic */; + } + return NULL; +} + +tristate expr_calc_value(struct expr *e) +{ + tristate val1, val2; + const char *str1, *str2; + + if (!e) + return yes; + + switch (e->type) { + case E_SYMBOL: + sym_calc_value(e->left.sym); + return e->left.sym->curr.tri; + case E_AND: + val1 = expr_calc_value(e->left.expr); + val2 = expr_calc_value(e->right.expr); + return EXPR_AND(val1, val2); + case E_OR: + val1 = expr_calc_value(e->left.expr); + val2 = expr_calc_value(e->right.expr); + return EXPR_OR(val1, val2); + case E_NOT: + val1 = expr_calc_value(e->left.expr); + return EXPR_NOT(val1); + case E_EQUAL: + sym_calc_value(e->left.sym); + sym_calc_value(e->right.sym); + str1 = sym_get_string_value(e->left.sym); + str2 = sym_get_string_value(e->right.sym); + return !strcmp(str1, str2) ? yes : no; + case E_UNEQUAL: + sym_calc_value(e->left.sym); + sym_calc_value(e->right.sym); + str1 = sym_get_string_value(e->left.sym); + str2 = sym_get_string_value(e->right.sym); + return !strcmp(str1, str2) ? no : yes; + default: + printf("expr_calc_value: %d?\n", e->type); + return no; + } +} + +int expr_compare_type(enum expr_type t1, enum expr_type t2) +{ +#if 0 + return 1; +#else + if (t1 == t2) + return 0; + switch (t1) { + case E_EQUAL: + case E_UNEQUAL: + if (t2 == E_NOT) + return 1; + case E_NOT: + if (t2 == E_AND) + return 1; + case E_AND: + if (t2 == E_OR) + return 1; + case E_OR: + if (t2 == E_LIST) + return 1; + case E_LIST: + if (t2 == 0) + return 1; + default: + return -1; + } + printf("[%dgt%d?]", t1, t2); + return 0; +#endif +} + +static inline struct expr * +expr_get_leftmost_symbol(const struct expr *e) +{ + + if (e == NULL) + return NULL; + + while (e->type != E_SYMBOL) + e = e->left.expr; + + return expr_copy(e); +} + +/* + * Given expression `e1' and `e2', returns the leaf of the longest + * sub-expression of `e1' not containing 'e2. + */ +struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2) +{ + struct expr *ret; + + switch (e1->type) { + case E_OR: + return expr_alloc_and( + expr_simplify_unmet_dep(e1->left.expr, e2), + expr_simplify_unmet_dep(e1->right.expr, e2)); + case E_AND: { + struct expr *e; + e = expr_alloc_and(expr_copy(e1), expr_copy(e2)); + e = expr_eliminate_dups(e); + ret = (!expr_eq(e, e1)) ? e1 : NULL; + expr_free(e); + break; + } + default: + ret = e1; + break; + } + + return expr_get_leftmost_symbol(ret); +} + +void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken) +{ + if (!e) { + fn(data, NULL, "y"); + return; + } + + if (expr_compare_type(prevtoken, e->type) > 0) + fn(data, NULL, "("); + switch (e->type) { + case E_SYMBOL: + if (e->left.sym->name) + fn(data, e->left.sym, e->left.sym->name); + else + fn(data, NULL, ""); + break; + case E_NOT: + fn(data, NULL, "!"); + expr_print(e->left.expr, fn, data, E_NOT); + break; + case E_EQUAL: + if (e->left.sym->name) + fn(data, e->left.sym, e->left.sym->name); + else + fn(data, NULL, ""); + fn(data, NULL, "="); + fn(data, e->right.sym, e->right.sym->name); + break; + case E_UNEQUAL: + if (e->left.sym->name) + fn(data, e->left.sym, e->left.sym->name); + else + fn(data, NULL, ""); + fn(data, NULL, "!="); + fn(data, e->right.sym, e->right.sym->name); + break; + case E_OR: + expr_print(e->left.expr, fn, data, E_OR); + fn(data, NULL, " || "); + expr_print(e->right.expr, fn, data, E_OR); + break; + case E_AND: + expr_print(e->left.expr, fn, data, E_AND); + fn(data, NULL, " && "); + expr_print(e->right.expr, fn, data, E_AND); + break; + case E_LIST: + fn(data, e->right.sym, e->right.sym->name); + if (e->left.expr) { + fn(data, NULL, " ^ "); + expr_print(e->left.expr, fn, data, E_LIST); + } + break; + case E_RANGE: + fn(data, NULL, "["); + fn(data, e->left.sym, e->left.sym->name); + fn(data, NULL, " "); + fn(data, e->right.sym, e->right.sym->name); + fn(data, NULL, "]"); + break; + default: + { + char buf[32]; + sprintf(buf, "", e->type); + fn(data, NULL, buf); + break; + } + } + if (expr_compare_type(prevtoken, e->type) > 0) + fn(data, NULL, ")"); +} + +static void expr_print_file_helper(void *data, struct symbol *sym, const char *str) +{ + xfwrite(str, strlen(str), 1, data); +} + +void expr_fprint(struct expr *e, FILE *out) +{ + expr_print(e, expr_print_file_helper, out, E_NONE); +} + +static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str) +{ + struct gstr *gs = (struct gstr*)data; + const char *sym_str = NULL; + + if (sym) + sym_str = sym_get_string_value(sym); + + if (gs->max_width) { + unsigned extra_length = strlen(str); + const char *last_cr = strrchr(gs->s, '\n'); + unsigned last_line_length; + + if (sym_str) + extra_length += 4 + strlen(sym_str); + + if (!last_cr) + last_cr = gs->s; + + last_line_length = strlen(gs->s) - (last_cr - gs->s); + + if ((last_line_length + extra_length) > gs->max_width) + str_append(gs, "\\\n"); + } + + str_append(gs, str); + if (sym && sym->type != S_UNKNOWN) + str_printf(gs, " [=%s]", sym_str); +} + +void expr_gstr_print(struct expr *e, struct gstr *gs) +{ + expr_print(e, expr_print_gstr_helper, gs, E_NONE); +} diff --git a/carl9170fw/config/expr.h b/carl9170fw/config/expr.h new file mode 100644 index 0000000..d4ecce8 --- /dev/null +++ b/carl9170fw/config/expr.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#ifndef EXPR_H +#define EXPR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#ifndef __cplusplus +#include +#endif + +struct file { + struct file *next; + struct file *parent; + const char *name; + int lineno; +}; + +typedef enum tristate { + no, mod, yes +} tristate; + +enum expr_type { + E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_LIST, E_SYMBOL, E_RANGE +}; + +union expr_data { + struct expr *expr; + struct symbol *sym; +}; + +struct expr { + enum expr_type type; + union expr_data left, right; +}; + +#define EXPR_OR(dep1, dep2) (((dep1)>(dep2))?(dep1):(dep2)) +#define EXPR_AND(dep1, dep2) (((dep1)<(dep2))?(dep1):(dep2)) +#define EXPR_NOT(dep) (2-(dep)) + +#define expr_list_for_each_sym(l, e, s) \ + for (e = (l); e && (s = e->right.sym); e = e->left.expr) + +struct expr_value { + struct expr *expr; + tristate tri; +}; + +struct symbol_value { + void *val; + tristate tri; +}; + +enum symbol_type { + S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER +}; + +/* enum values are used as index to symbol.def[] */ +enum { + S_DEF_USER, /* main user value */ + S_DEF_AUTO, /* values read from auto.conf */ + S_DEF_DEF3, /* Reserved for UI usage */ + S_DEF_DEF4, /* Reserved for UI usage */ + S_DEF_COUNT +}; + +struct symbol { + struct symbol *next; + char *name; + enum symbol_type type; + struct symbol_value curr; + struct symbol_value def[S_DEF_COUNT]; + tristate visible; + int flags; + struct property *prop; + struct expr_value dir_dep; + struct expr_value rev_dep; +}; + +#define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER) + +#define SYMBOL_CONST 0x0001 /* symbol is const */ +#define SYMBOL_CHECK 0x0008 /* used during dependency checking */ +#define SYMBOL_CHOICE 0x0010 /* start of a choice block (null name) */ +#define SYMBOL_CHOICEVAL 0x0020 /* used as a value in a choice block */ +#define SYMBOL_VALID 0x0080 /* set when symbol.curr is calculated */ +#define SYMBOL_OPTIONAL 0x0100 /* choice is optional - values can be 'n' */ +#define SYMBOL_WRITE 0x0200 /* ? */ +#define SYMBOL_CHANGED 0x0400 /* ? */ +#define SYMBOL_AUTO 0x1000 /* value from environment variable */ +#define SYMBOL_CHECKED 0x2000 /* used during dependency checking */ +#define SYMBOL_WARNED 0x8000 /* warning has been issued */ + +/* Set when symbol.def[] is used */ +#define SYMBOL_DEF 0x10000 /* First bit of SYMBOL_DEF */ +#define SYMBOL_DEF_USER 0x10000 /* symbol.def[S_DEF_USER] is valid */ +#define SYMBOL_DEF_AUTO 0x20000 /* symbol.def[S_DEF_AUTO] is valid */ +#define SYMBOL_DEF3 0x40000 /* symbol.def[S_DEF_3] is valid */ +#define SYMBOL_DEF4 0x80000 /* symbol.def[S_DEF_4] is valid */ + +#define SYMBOL_MAXLENGTH 256 +#define SYMBOL_HASHSIZE 9973 + +/* A property represent the config options that can be associated + * with a config "symbol". + * Sample: + * config FOO + * default y + * prompt "foo prompt" + * select BAR + * config BAZ + * int "BAZ Value" + * range 1..255 + */ +enum prop_type { + P_UNKNOWN, + P_PROMPT, /* prompt "foo prompt" or "BAZ Value" */ + P_COMMENT, /* text associated with a comment */ + P_MENU, /* prompt associated with a menuconfig option */ + P_DEFAULT, /* default y */ + P_CHOICE, /* choice value */ + P_SELECT, /* select BAR */ + P_RANGE, /* range 7..100 (for a symbol) */ + P_ENV, /* value from environment variable */ + P_SYMBOL, /* where a symbol is defined */ +}; + +struct property { + struct property *next; /* next property - null if last */ + struct symbol *sym; /* the symbol for which the property is associated */ + enum prop_type type; /* type of property */ + const char *text; /* the prompt value - P_PROMPT, P_MENU, P_COMMENT */ + struct expr_value visible; + struct expr *expr; /* the optional conditional part of the property */ + struct menu *menu; /* the menu the property are associated with + * valid for: P_SELECT, P_RANGE, P_CHOICE, + * P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */ + struct file *file; /* what file was this property defined */ + int lineno; /* what lineno was this property defined */ +}; + +#define for_all_properties(sym, st, tok) \ + for (st = sym->prop; st; st = st->next) \ + if (st->type == (tok)) +#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT) +#define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE) +#define for_all_prompts(sym, st) \ + for (st = sym->prop; st; st = st->next) \ + if (st->text) + +struct menu { + struct menu *next; + struct menu *parent; + struct menu *list; + struct symbol *sym; + struct property *prompt; + struct expr *visibility; + struct expr *dep; + unsigned int flags; + char *help; + struct file *file; + int lineno; + void *data; +}; + +#define MENU_CHANGED 0x0001 +#define MENU_ROOT 0x0002 + +extern struct file *file_list; +extern struct file *current_file; +struct file *lookup_file(const char *name); + +extern struct symbol symbol_yes, symbol_no, symbol_mod; +extern struct symbol *modules_sym; +extern struct symbol *sym_defconfig_list; +extern int cdebug; +struct expr *expr_alloc_symbol(struct symbol *sym); +struct expr *expr_alloc_one(enum expr_type type, struct expr *ce); +struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2); +struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2); +struct expr *expr_alloc_and(struct expr *e1, struct expr *e2); +struct expr *expr_alloc_or(struct expr *e1, struct expr *e2); +struct expr *expr_copy(const struct expr *org); +void expr_free(struct expr *e); +int expr_eq(struct expr *e1, struct expr *e2); +void expr_eliminate_eq(struct expr **ep1, struct expr **ep2); +tristate expr_calc_value(struct expr *e); +struct expr *expr_eliminate_yn(struct expr *e); +struct expr *expr_trans_bool(struct expr *e); +struct expr *expr_eliminate_dups(struct expr *e); +struct expr *expr_transform(struct expr *e); +int expr_contains_symbol(struct expr *dep, struct symbol *sym); +bool expr_depends_symbol(struct expr *dep, struct symbol *sym); +struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2); +struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2); +void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2); +struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym); +struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2); + +void expr_fprint(struct expr *e, FILE *out); +struct gstr; /* forward */ +void expr_gstr_print(struct expr *e, struct gstr *gs); + +static inline int expr_is_yes(struct expr *e) +{ + return !e || (e->type == E_SYMBOL && e->left.sym == &symbol_yes); +} + +static inline int expr_is_no(struct expr *e) +{ + return e && (e->type == E_SYMBOL && e->left.sym == &symbol_no); +} + +#ifdef __cplusplus +} +#endif + +#endif /* EXPR_H */ diff --git a/carl9170fw/config/lkc.h b/carl9170fw/config/lkc.h new file mode 100644 index 0000000..c18f2bd --- /dev/null +++ b/carl9170fw/config/lkc.h @@ -0,0 +1,190 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#ifndef LKC_H +#define LKC_H + +#include "expr.h" + +#ifndef KBUILD_NO_NLS +# include +#else +static inline const char *gettext(const char *txt) { return txt; } +static inline void textdomain(const char *domainname) {} +static inline void bindtextdomain(const char *name, const char *dir) {} +static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c; } +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define P(name,type,arg) extern type name arg +#include "lkc_proto.h" +#undef P + +#define SRCTREE "srctree" + +#ifndef PACKAGE +#define PACKAGE "linux" +#endif + +#define LOCALEDIR "/usr/share/locale" + +#define _(text) gettext(text) +#define N_(text) (text) + +#ifndef CONFIG_ +#define CONFIG_ "CONFIG_" +#endif + +#define TF_COMMAND 0x0001 +#define TF_PARAM 0x0002 +#define TF_OPTION 0x0004 + +enum conf_def_mode { + def_default, + def_yes, + def_mod, + def_no, + def_random +}; + +#define T_OPT_MODULES 1 +#define T_OPT_DEFCONFIG_LIST 2 +#define T_OPT_ENV 3 + +struct kconf_id { + int name; + int token; + unsigned int flags; + enum symbol_type stype; +}; + +extern int zconfdebug; + +int zconfparse(void); +void zconfdump(FILE *out); +void zconf_starthelp(void); +FILE *zconf_fopen(const char *name); +void zconf_initscan(const char *name); +void zconf_nextfile(const char *name); +int zconf_lineno(void); +const char *zconf_curname(void); + +/* confdata.c */ +const char *conf_get_configname(void); +const char *conf_get_autoconfig_name(void); +char *conf_get_default_confname(void); +void sym_set_change_count(int count); +void sym_add_change_count(int count); +void conf_set_all_new_symbols(enum conf_def_mode mode); + +struct conf_printer { + void (*print_symbol)(FILE *, struct symbol *, const char *, void *); + void (*print_comment)(FILE *, const char *, void *); +}; + +/* confdata.c and expr.c */ +static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out) +{ + assert(len != 0); + + if (fwrite(str, len, count, out) != count) + fprintf(stderr, "Error in writing or end of file.\n"); +} + +/* menu.c */ +void _menu_init(void); +void menu_warn(struct menu *menu, const char *fmt, ...); +struct menu *menu_add_menu(void); +void menu_end_menu(void); +void menu_add_entry(struct symbol *sym); +void menu_end_entry(void); +void menu_add_dep(struct expr *dep); +void menu_add_visibility(struct expr *dep); +struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep); +struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep); +void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep); +void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep); +void menu_add_option(int token, char *arg); +void menu_finalize(struct menu *parent); +void menu_set_type(int type); + +/* util.c */ +struct file *file_lookup(const char *name); +int file_write_dep(const char *name); + +struct gstr { + size_t len; + char *s; + /* + * when max_width is not zero long lines in string s (if any) get + * wrapped not to exceed the max_width value + */ + int max_width; +}; +struct gstr str_new(void); +struct gstr str_assign(const char *s); +void str_free(struct gstr *gs); +void str_append(struct gstr *gs, const char *s); +void str_printf(struct gstr *gs, const char *fmt, ...); +const char *str_get(struct gstr *gs); + +/* symbol.c */ +extern struct expr *sym_env_list; + +void sym_init(void); +void sym_clear_all_valid(void); +void sym_set_all_changed(void); +void sym_set_changed(struct symbol *sym); +struct symbol *sym_choice_default(struct symbol *sym); +const char *sym_get_string_default(struct symbol *sym); +struct symbol *sym_check_deps(struct symbol *sym); +struct property *prop_alloc(enum prop_type type, struct symbol *sym); +struct symbol *prop_get_symbol(struct property *prop); +struct property *sym_get_env_prop(struct symbol *sym); + +static inline tristate sym_get_tristate_value(struct symbol *sym) +{ + return sym->curr.tri; +} + + +static inline struct symbol *sym_get_choice_value(struct symbol *sym) +{ + return (struct symbol *)sym->curr.val; +} + +static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval) +{ + return sym_set_tristate_value(chval, yes); +} + +static inline bool sym_is_choice(struct symbol *sym) +{ + return sym->flags & SYMBOL_CHOICE ? true : false; +} + +static inline bool sym_is_choice_value(struct symbol *sym) +{ + return sym->flags & SYMBOL_CHOICEVAL ? true : false; +} + +static inline bool sym_is_optional(struct symbol *sym) +{ + return sym->flags & SYMBOL_OPTIONAL ? true : false; +} + +static inline bool sym_has_value(struct symbol *sym) +{ + return sym->flags & SYMBOL_DEF_USER ? true : false; +} + +#ifdef __cplusplus +} +#endif + +#endif /* LKC_H */ diff --git a/carl9170fw/config/lkc_proto.h b/carl9170fw/config/lkc_proto.h new file mode 100644 index 0000000..47fe9c3 --- /dev/null +++ b/carl9170fw/config/lkc_proto.h @@ -0,0 +1,54 @@ +#include + +/* confdata.c */ +P(conf_parse,void,(const char *name)); +P(conf_read,int,(const char *name)); +P(conf_read_simple,int,(const char *name, int)); +P(conf_write_defconfig,int,(const char *name)); +P(conf_write,int,(const char *name)); +P(conf_write_autoconf,int,(void)); +P(conf_get_changed,bool,(void)); +P(conf_set_changed_callback, void,(void (*fn)(void))); +P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap))); + +/* menu.c */ +P(rootmenu,struct menu,); + +P(menu_is_visible, bool, (struct menu *menu)); +P(menu_has_prompt, bool, (struct menu *menu)); +P(menu_get_prompt,const char *,(struct menu *menu)); +P(menu_get_root_menu,struct menu *,(struct menu *menu)); +P(menu_get_parent_menu,struct menu *,(struct menu *menu)); +P(menu_has_help,bool,(struct menu *menu)); +P(menu_get_help,const char *,(struct menu *menu)); +P(get_symbol_str, void, (struct gstr *r, struct symbol *sym)); +P(get_relations_str, struct gstr, (struct symbol **sym_arr)); +P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help)); + +/* symbol.c */ +P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]); + +P(sym_lookup,struct symbol *,(const char *name, int flags)); +P(sym_find,struct symbol *,(const char *name)); +P(sym_expand_string_value,const char *,(const char *in)); +P(sym_escape_string_value, const char *,(const char *in)); +P(sym_re_search,struct symbol **,(const char *pattern)); +P(sym_type_name,const char *,(enum symbol_type type)); +P(sym_calc_value,void,(struct symbol *sym)); +P(sym_get_type,enum symbol_type,(struct symbol *sym)); +P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri)); +P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri)); +P(sym_toggle_tristate_value,tristate,(struct symbol *sym)); +P(sym_string_valid,bool,(struct symbol *sym, const char *newval)); +P(sym_string_within_range,bool,(struct symbol *sym, const char *str)); +P(sym_set_string_value,bool,(struct symbol *sym, const char *newval)); +P(sym_is_changable,bool,(struct symbol *sym)); +P(sym_get_choice_prop,struct property *,(struct symbol *sym)); +P(sym_get_default_prop,struct property *,(struct symbol *sym)); +P(sym_get_string_value,const char *,(struct symbol *sym)); + +P(prop_get_type_name,const char *,(enum prop_type type)); + +/* expr.c */ +P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2)); +P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken)); diff --git a/carl9170fw/config/menu.c b/carl9170fw/config/menu.c new file mode 100644 index 0000000..8c2a97e --- /dev/null +++ b/carl9170fw/config/menu.c @@ -0,0 +1,607 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include + +#include "lkc.h" + +static const char nohelp_text[] = "There is no help available for this option."; + +struct menu rootmenu; +static struct menu **last_entry_ptr; + +struct file *file_list; +struct file *current_file; + +void menu_warn(struct menu *menu, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + fprintf(stderr, "%s:%d:warning: ", menu->file->name, menu->lineno); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); +} + +static void prop_warn(struct property *prop, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); +} + +void _menu_init(void) +{ + current_entry = current_menu = &rootmenu; + last_entry_ptr = &rootmenu.list; +} + +void menu_add_entry(struct symbol *sym) +{ + struct menu *menu; + + menu = malloc(sizeof(*menu)); + memset(menu, 0, sizeof(*menu)); + menu->sym = sym; + menu->parent = current_menu; + menu->file = current_file; + menu->lineno = zconf_lineno(); + + *last_entry_ptr = menu; + last_entry_ptr = &menu->next; + current_entry = menu; + if (sym) + menu_add_symbol(P_SYMBOL, sym, NULL); +} + +void menu_end_entry(void) +{ +} + +struct menu *menu_add_menu(void) +{ + menu_end_entry(); + last_entry_ptr = ¤t_entry->list; + return current_menu = current_entry; +} + +void menu_end_menu(void) +{ + last_entry_ptr = ¤t_menu->next; + current_menu = current_menu->parent; +} + +static struct expr *menu_check_dep(struct expr *e) +{ + if (!e) + return e; + + switch (e->type) { + case E_NOT: + e->left.expr = menu_check_dep(e->left.expr); + break; + case E_OR: + case E_AND: + e->left.expr = menu_check_dep(e->left.expr); + e->right.expr = menu_check_dep(e->right.expr); + break; + case E_SYMBOL: + /* change 'm' into 'm' && MODULES */ + if (e->left.sym == &symbol_mod) + return expr_alloc_and(e, expr_alloc_symbol(modules_sym)); + break; + default: + break; + } + return e; +} + +void menu_add_dep(struct expr *dep) +{ + current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep)); +} + +void menu_set_type(int type) +{ + struct symbol *sym = current_entry->sym; + + if (sym->type == type) + return; + if (sym->type == S_UNKNOWN) { + sym->type = type; + return; + } + menu_warn(current_entry, "type of '%s' redefined from '%s' to '%s'", + sym->name ? sym->name : "", + sym_type_name(sym->type), sym_type_name(type)); +} + +struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep) +{ + struct property *prop = prop_alloc(type, current_entry->sym); + + prop->menu = current_entry; + prop->expr = expr; + prop->visible.expr = menu_check_dep(dep); + + if (prompt) { + if (isspace(*prompt)) { + prop_warn(prop, "leading whitespace ignored"); + while (isspace(*prompt)) + prompt++; + } + if (current_entry->prompt && current_entry != &rootmenu) + prop_warn(prop, "prompt redefined"); + + /* Apply all upper menus' visibilities to actual prompts. */ + if(type == P_PROMPT) { + struct menu *menu = current_entry; + + while ((menu = menu->parent) != NULL) { + if (!menu->visibility) + continue; + prop->visible.expr + = expr_alloc_and(prop->visible.expr, + menu->visibility); + } + } + + current_entry->prompt = prop; + } + prop->text = prompt; + + return prop; +} + +struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep) +{ + return menu_add_prop(type, prompt, NULL, dep); +} + +void menu_add_visibility(struct expr *expr) +{ + current_entry->visibility = expr_alloc_and(current_entry->visibility, + expr); +} + +void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep) +{ + menu_add_prop(type, NULL, expr, dep); +} + +void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep) +{ + menu_add_prop(type, NULL, expr_alloc_symbol(sym), dep); +} + +void menu_add_option(int token, char *arg) +{ + struct property *prop; + + switch (token) { + case T_OPT_MODULES: + prop = prop_alloc(P_DEFAULT, modules_sym); + prop->expr = expr_alloc_symbol(current_entry->sym); + break; + case T_OPT_DEFCONFIG_LIST: + if (!sym_defconfig_list) + sym_defconfig_list = current_entry->sym; + else if (sym_defconfig_list != current_entry->sym) + zconf_error("trying to redefine defconfig symbol"); + break; + case T_OPT_ENV: + prop_add_env(arg); + break; + } +} + +static int menu_validate_number(struct symbol *sym, struct symbol *sym2) +{ + return sym2->type == S_INT || sym2->type == S_HEX || + (sym2->type == S_UNKNOWN && sym_string_valid(sym, sym2->name)); +} + +static void sym_check_prop(struct symbol *sym) +{ + struct property *prop; + struct symbol *sym2; + for (prop = sym->prop; prop; prop = prop->next) { + switch (prop->type) { + case P_DEFAULT: + if ((sym->type == S_STRING || sym->type == S_INT || sym->type == S_HEX) && + prop->expr->type != E_SYMBOL) + prop_warn(prop, + "default for config symbol '%s'" + " must be a single symbol", sym->name); + if (prop->expr->type != E_SYMBOL) + break; + sym2 = prop_get_symbol(prop); + if (sym->type == S_HEX || sym->type == S_INT) { + if (!menu_validate_number(sym, sym2)) + prop_warn(prop, + "'%s': number is invalid", + sym->name); + } + break; + case P_SELECT: + sym2 = prop_get_symbol(prop); + if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE) + prop_warn(prop, + "config symbol '%s' uses select, but is " + "not boolean or tristate", sym->name); + else if (sym2->type != S_UNKNOWN && + sym2->type != S_BOOLEAN && + sym2->type != S_TRISTATE) + prop_warn(prop, + "'%s' has wrong type. 'select' only " + "accept arguments of boolean and " + "tristate type", sym2->name); + break; + case P_RANGE: + if (sym->type != S_INT && sym->type != S_HEX) + prop_warn(prop, "range is only allowed " + "for int or hex symbols"); + if (!menu_validate_number(sym, prop->expr->left.sym) || + !menu_validate_number(sym, prop->expr->right.sym)) + prop_warn(prop, "range is invalid"); + break; + default: + ; + } + } +} + +void menu_finalize(struct menu *parent) +{ + struct menu *menu, *last_menu; + struct symbol *sym; + struct property *prop; + struct expr *parentdep, *basedep, *dep, *dep2, **ep; + + sym = parent->sym; + if (parent->list) { + if (sym && sym_is_choice(sym)) { + if (sym->type == S_UNKNOWN) { + /* find the first choice value to find out choice type */ + current_entry = parent; + for (menu = parent->list; menu; menu = menu->next) { + if (menu->sym && menu->sym->type != S_UNKNOWN) { + menu_set_type(menu->sym->type); + break; + } + } + } + /* set the type of the remaining choice values */ + for (menu = parent->list; menu; menu = menu->next) { + current_entry = menu; + if (menu->sym && menu->sym->type == S_UNKNOWN) + menu_set_type(sym->type); + } + parentdep = expr_alloc_symbol(sym); + } else if (parent->prompt) + parentdep = parent->prompt->visible.expr; + else + parentdep = parent->dep; + + for (menu = parent->list; menu; menu = menu->next) { + basedep = expr_transform(menu->dep); + basedep = expr_alloc_and(expr_copy(parentdep), basedep); + basedep = expr_eliminate_dups(basedep); + menu->dep = basedep; + if (menu->sym) + prop = menu->sym->prop; + else + prop = menu->prompt; + for (; prop; prop = prop->next) { + if (prop->menu != menu) + continue; + dep = expr_transform(prop->visible.expr); + dep = expr_alloc_and(expr_copy(basedep), dep); + dep = expr_eliminate_dups(dep); + if (menu->sym && menu->sym->type != S_TRISTATE) + dep = expr_trans_bool(dep); + prop->visible.expr = dep; + if (prop->type == P_SELECT) { + struct symbol *es = prop_get_symbol(prop); + es->rev_dep.expr = expr_alloc_or(es->rev_dep.expr, + expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep))); + } + } + } + for (menu = parent->list; menu; menu = menu->next) + menu_finalize(menu); + } else if (sym) { + basedep = parent->prompt ? parent->prompt->visible.expr : NULL; + basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no); + basedep = expr_eliminate_dups(expr_transform(basedep)); + last_menu = NULL; + for (menu = parent->next; menu; menu = menu->next) { + dep = menu->prompt ? menu->prompt->visible.expr : menu->dep; + if (!expr_contains_symbol(dep, sym)) + break; + if (expr_depends_symbol(dep, sym)) + goto next; + dep = expr_trans_compare(dep, E_UNEQUAL, &symbol_no); + dep = expr_eliminate_dups(expr_transform(dep)); + dep2 = expr_copy(basedep); + expr_eliminate_eq(&dep, &dep2); + expr_free(dep); + if (!expr_is_yes(dep2)) { + expr_free(dep2); + break; + } + expr_free(dep2); + next: + menu_finalize(menu); + menu->parent = parent; + last_menu = menu; + } + if (last_menu) { + parent->list = parent->next; + parent->next = last_menu->next; + last_menu->next = NULL; + } + + sym->dir_dep.expr = expr_alloc_or(sym->dir_dep.expr, parent->dep); + } + for (menu = parent->list; menu; menu = menu->next) { + if (sym && sym_is_choice(sym) && + menu->sym && !sym_is_choice_value(menu->sym)) { + current_entry = menu; + menu->sym->flags |= SYMBOL_CHOICEVAL; + if (!menu->prompt) + menu_warn(menu, "choice value must have a prompt"); + for (prop = menu->sym->prop; prop; prop = prop->next) { + if (prop->type == P_DEFAULT) + prop_warn(prop, "defaults for choice " + "values not supported"); + if (prop->menu == menu) + continue; + if (prop->type == P_PROMPT && + prop->menu->parent->sym != sym) + prop_warn(prop, "choice value used outside its choice group"); + } + /* Non-tristate choice values of tristate choices must + * depend on the choice being set to Y. The choice + * values' dependencies were propagated to their + * properties above, so the change here must be re- + * propagated. + */ + if (sym->type == S_TRISTATE && menu->sym->type != S_TRISTATE) { + basedep = expr_alloc_comp(E_EQUAL, sym, &symbol_yes); + menu->dep = expr_alloc_and(basedep, menu->dep); + for (prop = menu->sym->prop; prop; prop = prop->next) { + if (prop->menu != menu) + continue; + prop->visible.expr = expr_alloc_and(expr_copy(basedep), + prop->visible.expr); + } + } + menu_add_symbol(P_CHOICE, sym, NULL); + prop = sym_get_choice_prop(sym); + for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr) + ; + *ep = expr_alloc_one(E_LIST, NULL); + (*ep)->right.sym = menu->sym; + } + if (menu->list && (!menu->prompt || !menu->prompt->text)) { + for (last_menu = menu->list; ; last_menu = last_menu->next) { + last_menu->parent = parent; + if (!last_menu->next) + break; + } + last_menu->next = menu->next; + menu->next = menu->list; + menu->list = NULL; + } + } + + if (sym && !(sym->flags & SYMBOL_WARNED)) { + if (sym->type == S_UNKNOWN) + menu_warn(parent, "config symbol defined without type"); + + if (sym_is_choice(sym) && !parent->prompt) + menu_warn(parent, "choice must have a prompt"); + + /* Check properties connected to this symbol */ + sym_check_prop(sym); + sym->flags |= SYMBOL_WARNED; + } + + if (sym && !sym_is_optional(sym) && parent->prompt) { + sym->rev_dep.expr = expr_alloc_or(sym->rev_dep.expr, + expr_alloc_and(parent->prompt->visible.expr, + expr_alloc_symbol(&symbol_mod))); + } +} + +bool menu_has_prompt(struct menu *menu) +{ + if (!menu->prompt) + return false; + return true; +} + +bool menu_is_visible(struct menu *menu) +{ + struct menu *child; + struct symbol *sym; + tristate visible; + + if (!menu->prompt) + return false; + + if (menu->visibility) { + if (expr_calc_value(menu->visibility) == no) + return no; + } + + sym = menu->sym; + if (sym) { + sym_calc_value(sym); + visible = menu->prompt->visible.tri; + } else + visible = menu->prompt->visible.tri = expr_calc_value(menu->prompt->visible.expr); + + if (visible != no) + return true; + + if (!sym || sym_get_tristate_value(menu->sym) == no) + return false; + + for (child = menu->list; child; child = child->next) { + if (menu_is_visible(child)) { + if (sym) + sym->flags |= SYMBOL_DEF_USER; + return true; + } + } + + return false; +} + +const char *menu_get_prompt(struct menu *menu) +{ + if (menu->prompt) + return menu->prompt->text; + else if (menu->sym) + return menu->sym->name; + return NULL; +} + +struct menu *menu_get_root_menu(struct menu *menu) +{ + return &rootmenu; +} + +struct menu *menu_get_parent_menu(struct menu *menu) +{ + enum prop_type type; + + for (; menu != &rootmenu; menu = menu->parent) { + type = menu->prompt ? menu->prompt->type : 0; + if (type == P_MENU) + break; + } + return menu; +} + +bool menu_has_help(struct menu *menu) +{ + return menu->help != NULL; +} + +const char *menu_get_help(struct menu *menu) +{ + if (menu->help) + return menu->help; + else + return ""; +} + +static void get_prompt_str(struct gstr *r, struct property *prop) +{ + int i, j; + struct menu *submenu[8], *menu; + + str_printf(r, _("Prompt: %s\n"), _(prop->text)); + str_printf(r, _(" Defined at %s:%d\n"), prop->menu->file->name, + prop->menu->lineno); + if (!expr_is_yes(prop->visible.expr)) { + str_append(r, _(" Depends on: ")); + expr_gstr_print(prop->visible.expr, r); + str_append(r, "\n"); + } + menu = prop->menu->parent; + for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent) + submenu[i++] = menu; + if (i > 0) { + str_printf(r, _(" Location:\n")); + for (j = 4; --i >= 0; j += 2) { + menu = submenu[i]; + str_printf(r, "%*c-> %s", j, ' ', _(menu_get_prompt(menu))); + if (menu->sym) { + str_printf(r, " (%s [=%s])", menu->sym->name ? + menu->sym->name : _(""), + sym_get_string_value(menu->sym)); + } + str_append(r, "\n"); + } + } +} + +void get_symbol_str(struct gstr *r, struct symbol *sym) +{ + bool hit; + struct property *prop; + + if (sym && sym->name) { + str_printf(r, "Symbol: %s [=%s]\n", sym->name, + sym_get_string_value(sym)); + str_printf(r, "Type : %s\n", sym_type_name(sym->type)); + if (sym->type == S_INT || sym->type == S_HEX) { + prop = sym_get_range_prop(sym); + if (prop) { + str_printf(r, "Range : "); + expr_gstr_print(prop->expr, r); + str_append(r, "\n"); + } + } + } + for_all_prompts(sym, prop) + get_prompt_str(r, prop); + hit = false; + for_all_properties(sym, prop, P_SELECT) { + if (!hit) { + str_append(r, " Selects: "); + hit = true; + } else + str_printf(r, " && "); + expr_gstr_print(prop->expr, r); + } + if (hit) + str_append(r, "\n"); + if (sym->rev_dep.expr) { + str_append(r, _(" Selected by: ")); + expr_gstr_print(sym->rev_dep.expr, r); + str_append(r, "\n"); + } + str_append(r, "\n\n"); +} + +struct gstr get_relations_str(struct symbol **sym_arr) +{ + struct symbol *sym; + struct gstr res = str_new(); + int i; + + for (i = 0; sym_arr && (sym = sym_arr[i]); i++) + get_symbol_str(&res, sym); + if (!i) + str_append(&res, _("No matches found.\n")); + return res; +} + + +void menu_get_ext_help(struct menu *menu, struct gstr *help) +{ + struct symbol *sym = menu->sym; + const char *help_text = nohelp_text; + + if (menu_has_help(menu)) { + if (sym->name) + str_printf(help, "%s%s:\n\n", CONFIG_, sym->name); + help_text = menu_get_help(menu); + } + str_printf(help, "%s\n", _(help_text)); + if (sym) + get_symbol_str(help, sym); +} diff --git a/carl9170fw/config/symbol.c b/carl9170fw/config/symbol.c new file mode 100644 index 0000000..22a3c40 --- /dev/null +++ b/carl9170fw/config/symbol.c @@ -0,0 +1,1310 @@ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include + +#include "lkc.h" + +struct symbol symbol_yes = { + .name = "y", + .curr = { "y", yes }, + .flags = SYMBOL_CONST|SYMBOL_VALID, +}, symbol_mod = { + .name = "m", + .curr = { "m", mod }, + .flags = SYMBOL_CONST|SYMBOL_VALID, +}, symbol_no = { + .name = "n", + .curr = { "n", no }, + .flags = SYMBOL_CONST|SYMBOL_VALID, +}, symbol_empty = { + .name = "", + .curr = { "", no }, + .flags = SYMBOL_VALID, +}; + +struct symbol *sym_defconfig_list; +struct symbol *modules_sym; +tristate modules_val; + +struct expr *sym_env_list; + +static void sym_add_default(struct symbol *sym, const char *def) +{ + struct property *prop = prop_alloc(P_DEFAULT, sym); + + prop->expr = expr_alloc_symbol(sym_lookup(def, SYMBOL_CONST)); +} + +void sym_init(void) +{ + struct symbol *sym; + struct utsname uts; + static bool inited = false; + + if (inited) + return; + inited = true; + + uname(&uts); + + sym = sym_lookup("UNAME_RELEASE", 0); + sym->type = S_STRING; + sym->flags |= SYMBOL_AUTO; + sym_add_default(sym, uts.release); +} + +enum symbol_type sym_get_type(struct symbol *sym) +{ + enum symbol_type type = sym->type; + + if (type == S_TRISTATE) { + if (sym_is_choice_value(sym) && sym->visible == yes) + type = S_BOOLEAN; + else if (modules_val == no) + type = S_BOOLEAN; + } + return type; +} + +const char *sym_type_name(enum symbol_type type) +{ + switch (type) { + case S_BOOLEAN: + return "boolean"; + case S_TRISTATE: + return "tristate"; + case S_INT: + return "integer"; + case S_HEX: + return "hex"; + case S_STRING: + return "string"; + case S_UNKNOWN: + return "unknown"; + case S_OTHER: + break; + } + return "???"; +} + +struct property *sym_get_choice_prop(struct symbol *sym) +{ + struct property *prop; + + for_all_choices(sym, prop) + return prop; + return NULL; +} + +struct property *sym_get_env_prop(struct symbol *sym) +{ + struct property *prop; + + for_all_properties(sym, prop, P_ENV) + return prop; + return NULL; +} + +struct property *sym_get_default_prop(struct symbol *sym) +{ + struct property *prop; + + for_all_defaults(sym, prop) { + prop->visible.tri = expr_calc_value(prop->visible.expr); + if (prop->visible.tri != no) + return prop; + } + return NULL; +} + +static struct property *sym_get_range_prop(struct symbol *sym) +{ + struct property *prop; + + for_all_properties(sym, prop, P_RANGE) { + prop->visible.tri = expr_calc_value(prop->visible.expr); + if (prop->visible.tri != no) + return prop; + } + return NULL; +} + +static int sym_get_range_val(struct symbol *sym, int base) +{ + sym_calc_value(sym); + switch (sym->type) { + case S_INT: + base = 10; + break; + case S_HEX: + base = 16; + break; + default: + break; + } + return strtol(sym->curr.val, NULL, base); +} + +static void sym_validate_range(struct symbol *sym) +{ + struct property *prop; + int base, val, val2; + char str[64]; + + switch (sym->type) { + case S_INT: + base = 10; + break; + case S_HEX: + base = 16; + break; + default: + return; + } + prop = sym_get_range_prop(sym); + if (!prop) + return; + val = strtol(sym->curr.val, NULL, base); + val2 = sym_get_range_val(prop->expr->left.sym, base); + if (val >= val2) { + val2 = sym_get_range_val(prop->expr->right.sym, base); + if (val <= val2) + return; + } + if (sym->type == S_INT) + sprintf(str, "%d", val2); + else + sprintf(str, "0x%x", val2); + sym->curr.val = strdup(str); +} + +static void sym_calc_visibility(struct symbol *sym) +{ + struct property *prop; + tristate tri; + + /* any prompt visible? */ + tri = no; + for_all_prompts(sym, prop) { + prop->visible.tri = expr_calc_value(prop->visible.expr); + tri = EXPR_OR(tri, prop->visible.tri); + } + if (tri == mod && (sym->type != S_TRISTATE || modules_val == no)) + tri = yes; + if (sym->visible != tri) { + sym->visible = tri; + sym_set_changed(sym); + } + if (sym_is_choice_value(sym)) + return; + /* defaulting to "yes" if no explicit "depends on" are given */ + tri = yes; + if (sym->dir_dep.expr) + tri = expr_calc_value(sym->dir_dep.expr); + if (tri == mod) + tri = yes; + if (sym->dir_dep.tri != tri) { + sym->dir_dep.tri = tri; + sym_set_changed(sym); + } + tri = no; + if (sym->rev_dep.expr) + tri = expr_calc_value(sym->rev_dep.expr); + if (tri == mod && sym_get_type(sym) == S_BOOLEAN) + tri = yes; + if (sym->rev_dep.tri != tri) { + sym->rev_dep.tri = tri; + sym_set_changed(sym); + } +} + +/* + * Find the default symbol for a choice. + * First try the default values for the choice symbol + * Next locate the first visible choice value + * Return NULL if none was found + */ +struct symbol *sym_choice_default(struct symbol *sym) +{ + struct symbol *def_sym; + struct property *prop; + struct expr *e; + + /* any of the defaults visible? */ + for_all_defaults(sym, prop) { + prop->visible.tri = expr_calc_value(prop->visible.expr); + if (prop->visible.tri == no) + continue; + def_sym = prop_get_symbol(prop); + if (def_sym->visible != no) + return def_sym; + } + + /* just get the first visible value */ + prop = sym_get_choice_prop(sym); + expr_list_for_each_sym(prop->expr, e, def_sym) + if (def_sym->visible != no) + return def_sym; + + /* failed to locate any defaults */ + return NULL; +} + +static struct symbol *sym_calc_choice(struct symbol *sym) +{ + struct symbol *def_sym; + struct property *prop; + struct expr *e; + int flags; + + /* first calculate all choice values' visibilities */ + flags = sym->flags; + prop = sym_get_choice_prop(sym); + expr_list_for_each_sym(prop->expr, e, def_sym) { + sym_calc_visibility(def_sym); + if (def_sym->visible != no) + flags &= def_sym->flags; + } + + sym->flags &= flags | ~SYMBOL_DEF_USER; + + /* is the user choice visible? */ + def_sym = sym->def[S_DEF_USER].val; + if (def_sym && def_sym->visible != no) + return def_sym; + + def_sym = sym_choice_default(sym); + + if (def_sym == NULL) + /* no choice? reset tristate value */ + sym->curr.tri = no; + + return def_sym; +} + +void sym_calc_value(struct symbol *sym) +{ + struct symbol_value newval, oldval; + struct property *prop; + struct expr *e; + + if (!sym) + return; + + if (sym->flags & SYMBOL_VALID) + return; + sym->flags |= SYMBOL_VALID; + + oldval = sym->curr; + + switch (sym->type) { + case S_INT: + case S_HEX: + case S_STRING: + newval = symbol_empty.curr; + break; + case S_BOOLEAN: + case S_TRISTATE: + newval = symbol_no.curr; + break; + default: + sym->curr.val = sym->name; + sym->curr.tri = no; + return; + } + if (!sym_is_choice_value(sym)) + sym->flags &= ~SYMBOL_WRITE; + + sym_calc_visibility(sym); + + /* set default if recursively called */ + sym->curr = newval; + + switch (sym_get_type(sym)) { + case S_BOOLEAN: + case S_TRISTATE: + if (sym_is_choice_value(sym) && sym->visible == yes) { + prop = sym_get_choice_prop(sym); + newval.tri = (prop_get_symbol(prop)->curr.val == sym) ? yes : no; + } else { + if (sym->visible != no) { + /* if the symbol is visible use the user value + * if available, otherwise try the default value + */ + sym->flags |= SYMBOL_WRITE; + if (sym_has_value(sym)) { + newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri, + sym->visible); + goto calc_newval; + } + } + if (sym->rev_dep.tri != no) + sym->flags |= SYMBOL_WRITE; + if (!sym_is_choice(sym)) { + prop = sym_get_default_prop(sym); + if (prop) { + sym->flags |= SYMBOL_WRITE; + newval.tri = EXPR_AND(expr_calc_value(prop->expr), + prop->visible.tri); + } + } + calc_newval: + if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) { + struct expr *e; + e = expr_simplify_unmet_dep(sym->rev_dep.expr, + sym->dir_dep.expr); + fprintf(stderr, "warning: ("); + expr_fprint(e, stderr); + fprintf(stderr, ") selects %s which has unmet direct dependencies (", + sym->name); + expr_fprint(sym->dir_dep.expr, stderr); + fprintf(stderr, ")\n"); + expr_free(e); + } + newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri); + } + if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN) + newval.tri = yes; + break; + case S_STRING: + case S_HEX: + case S_INT: + if (sym->visible != no) { + sym->flags |= SYMBOL_WRITE; + if (sym_has_value(sym)) { + newval.val = sym->def[S_DEF_USER].val; + break; + } + } + prop = sym_get_default_prop(sym); + if (prop) { + struct symbol *ds = prop_get_symbol(prop); + if (ds) { + sym->flags |= SYMBOL_WRITE; + sym_calc_value(ds); + newval.val = ds->curr.val; + } + } + break; + default: + ; + } + + sym->curr = newval; + if (sym_is_choice(sym) && newval.tri == yes) + sym->curr.val = sym_calc_choice(sym); + sym_validate_range(sym); + + if (memcmp(&oldval, &sym->curr, sizeof(oldval))) { + sym_set_changed(sym); + if (modules_sym == sym) { + sym_set_all_changed(); + modules_val = modules_sym->curr.tri; + } + } + + if (sym_is_choice(sym)) { + struct symbol *choice_sym; + + prop = sym_get_choice_prop(sym); + expr_list_for_each_sym(prop->expr, e, choice_sym) { + if ((sym->flags & SYMBOL_WRITE) && + choice_sym->visible != no) + choice_sym->flags |= SYMBOL_WRITE; + if (sym->flags & SYMBOL_CHANGED) + sym_set_changed(choice_sym); + } + } + + if (sym->flags & SYMBOL_AUTO) + sym->flags &= ~SYMBOL_WRITE; +} + +void sym_clear_all_valid(void) +{ + struct symbol *sym; + int i; + + for_all_symbols(i, sym) + sym->flags &= ~SYMBOL_VALID; + sym_add_change_count(1); + if (modules_sym) + sym_calc_value(modules_sym); +} + +void sym_set_changed(struct symbol *sym) +{ + struct property *prop; + + sym->flags |= SYMBOL_CHANGED; + for (prop = sym->prop; prop; prop = prop->next) { + if (prop->menu) + prop->menu->flags |= MENU_CHANGED; + } +} + +void sym_set_all_changed(void) +{ + struct symbol *sym; + int i; + + for_all_symbols(i, sym) + sym_set_changed(sym); +} + +bool sym_tristate_within_range(struct symbol *sym, tristate val) +{ + int type = sym_get_type(sym); + + if (sym->visible == no) + return false; + + if (type != S_BOOLEAN && type != S_TRISTATE) + return false; + + if (type == S_BOOLEAN && val == mod) + return false; + if (sym->visible <= sym->rev_dep.tri) + return false; + if (sym_is_choice_value(sym) && sym->visible == yes) + return val == yes; + return val >= sym->rev_dep.tri && val <= sym->visible; +} + +bool sym_set_tristate_value(struct symbol *sym, tristate val) +{ + tristate oldval = sym_get_tristate_value(sym); + + if (oldval != val && !sym_tristate_within_range(sym, val)) + return false; + + if (!(sym->flags & SYMBOL_DEF_USER)) { + sym->flags |= SYMBOL_DEF_USER; + sym_set_changed(sym); + } + /* + * setting a choice value also resets the new flag of the choice + * symbol and all other choice values. + */ + if (sym_is_choice_value(sym) && val == yes) { + struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); + struct property *prop; + struct expr *e; + + cs->def[S_DEF_USER].val = sym; + cs->flags |= SYMBOL_DEF_USER; + prop = sym_get_choice_prop(cs); + for (e = prop->expr; e; e = e->left.expr) { + if (e->right.sym->visible != no) + e->right.sym->flags |= SYMBOL_DEF_USER; + } + } + + sym->def[S_DEF_USER].tri = val; + if (oldval != val) + sym_clear_all_valid(); + + return true; +} + +tristate sym_toggle_tristate_value(struct symbol *sym) +{ + tristate oldval, newval; + + oldval = newval = sym_get_tristate_value(sym); + do { + switch (newval) { + case no: + newval = mod; + break; + case mod: + newval = yes; + break; + case yes: + newval = no; + break; + } + if (sym_set_tristate_value(sym, newval)) + break; + } while (oldval != newval); + return newval; +} + +bool sym_string_valid(struct symbol *sym, const char *str) +{ + signed char ch; + + switch (sym->type) { + case S_STRING: + return true; + case S_INT: + ch = *str++; + if (ch == '-') + ch = *str++; + if (!isdigit(ch)) + return false; + if (ch == '0' && *str != 0) + return false; + while ((ch = *str++)) { + if (!isdigit(ch)) + return false; + } + return true; + case S_HEX: + if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X')) + str += 2; + ch = *str++; + do { + if (!isxdigit(ch)) + return false; + } while ((ch = *str++)); + return true; + case S_BOOLEAN: + case S_TRISTATE: + switch (str[0]) { + case 'y': case 'Y': + case 'm': case 'M': + case 'n': case 'N': + return true; + } + return false; + default: + return false; + } +} + +bool sym_string_within_range(struct symbol *sym, const char *str) +{ + struct property *prop; + int val; + + switch (sym->type) { + case S_STRING: + return sym_string_valid(sym, str); + case S_INT: + if (!sym_string_valid(sym, str)) + return false; + prop = sym_get_range_prop(sym); + if (!prop) + return true; + val = strtol(str, NULL, 10); + return val >= sym_get_range_val(prop->expr->left.sym, 10) && + val <= sym_get_range_val(prop->expr->right.sym, 10); + case S_HEX: + if (!sym_string_valid(sym, str)) + return false; + prop = sym_get_range_prop(sym); + if (!prop) + return true; + val = strtol(str, NULL, 16); + return val >= sym_get_range_val(prop->expr->left.sym, 16) && + val <= sym_get_range_val(prop->expr->right.sym, 16); + case S_BOOLEAN: + case S_TRISTATE: + switch (str[0]) { + case 'y': case 'Y': + return sym_tristate_within_range(sym, yes); + case 'm': case 'M': + return sym_tristate_within_range(sym, mod); + case 'n': case 'N': + return sym_tristate_within_range(sym, no); + } + return false; + default: + return false; + } +} + +bool sym_set_string_value(struct symbol *sym, const char *newval) +{ + const char *oldval; + char *val; + int size; + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + switch (newval[0]) { + case 'y': case 'Y': + return sym_set_tristate_value(sym, yes); + case 'm': case 'M': + return sym_set_tristate_value(sym, mod); + case 'n': case 'N': + return sym_set_tristate_value(sym, no); + } + return false; + default: + ; + } + + if (!sym_string_within_range(sym, newval)) + return false; + + if (!(sym->flags & SYMBOL_DEF_USER)) { + sym->flags |= SYMBOL_DEF_USER; + sym_set_changed(sym); + } + + oldval = sym->def[S_DEF_USER].val; + size = strlen(newval) + 1; + if (sym->type == S_HEX && (newval[0] != '0' || (newval[1] != 'x' && newval[1] != 'X'))) { + size += 2; + sym->def[S_DEF_USER].val = val = malloc(size); + *val++ = '0'; + *val++ = 'x'; + } else if (!oldval || strcmp(oldval, newval)) + sym->def[S_DEF_USER].val = val = malloc(size); + else + return true; + + strcpy(val, newval); + free((void *)oldval); + sym_clear_all_valid(); + + return true; +} + +/* + * Find the default value associated to a symbol. + * For tristate symbol handle the modules=n case + * in which case "m" becomes "y". + * If the symbol does not have any default then fallback + * to the fixed default values. + */ +const char *sym_get_string_default(struct symbol *sym) +{ + struct property *prop; + struct symbol *ds; + const char *str; + tristate val; + + sym_calc_visibility(sym); + sym_calc_value(modules_sym); + val = symbol_no.curr.tri; + str = symbol_empty.curr.val; + + /* If symbol has a default value look it up */ + prop = sym_get_default_prop(sym); + if (prop != NULL) { + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + /* The visibility may limit the value from yes => mod */ + val = EXPR_AND(expr_calc_value(prop->expr), prop->visible.tri); + break; + default: + /* + * The following fails to handle the situation + * where a default value is further limited by + * the valid range. + */ + ds = prop_get_symbol(prop); + if (ds != NULL) { + sym_calc_value(ds); + str = (const char *)ds->curr.val; + } + } + } + + /* Handle select statements */ + val = EXPR_OR(val, sym->rev_dep.tri); + + /* transpose mod to yes if modules are not enabled */ + if (val == mod) + if (!sym_is_choice_value(sym) && modules_sym->curr.tri == no) + val = yes; + + /* transpose mod to yes if type is bool */ + if (sym->type == S_BOOLEAN && val == mod) + val = yes; + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + switch (val) { + case no: return "n"; + case mod: return "m"; + case yes: return "y"; + } + case S_INT: + case S_HEX: + return str; + case S_STRING: + return str; + case S_OTHER: + case S_UNKNOWN: + break; + } + return ""; +} + +const char *sym_get_string_value(struct symbol *sym) +{ + tristate val; + + switch (sym->type) { + case S_BOOLEAN: + case S_TRISTATE: + val = sym_get_tristate_value(sym); + switch (val) { + case no: + return "n"; + case mod: + sym_calc_value(modules_sym); + return (modules_sym->curr.tri == no) ? "n" : "m"; + case yes: + return "y"; + } + break; + default: + ; + } + return (const char *)sym->curr.val; +} + +bool sym_is_changable(struct symbol *sym) +{ + return sym->visible > sym->rev_dep.tri; +} + +static unsigned strhash(const char *s) +{ + /* fnv32 hash */ + unsigned hash = 2166136261U; + for (; *s; s++) + hash = (hash ^ *s) * 0x01000193; + return hash; +} + +struct symbol *sym_lookup(const char *name, int flags) +{ + struct symbol *symbol; + char *new_name; + int hash; + + if (name) { + if (name[0] && !name[1]) { + switch (name[0]) { + case 'y': return &symbol_yes; + case 'm': return &symbol_mod; + case 'n': return &symbol_no; + } + } + hash = strhash(name) % SYMBOL_HASHSIZE; + + for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) { + if (symbol->name && + !strcmp(symbol->name, name) && + (flags ? symbol->flags & flags + : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE)))) + return symbol; + } + new_name = strdup(name); + } else { + new_name = NULL; + hash = 0; + } + + symbol = malloc(sizeof(*symbol)); + memset(symbol, 0, sizeof(*symbol)); + symbol->name = new_name; + symbol->type = S_UNKNOWN; + symbol->flags |= flags; + + symbol->next = symbol_hash[hash]; + symbol_hash[hash] = symbol; + + return symbol; +} + +struct symbol *sym_find(const char *name) +{ + struct symbol *symbol = NULL; + int hash = 0; + + if (!name) + return NULL; + + if (name[0] && !name[1]) { + switch (name[0]) { + case 'y': return &symbol_yes; + case 'm': return &symbol_mod; + case 'n': return &symbol_no; + } + } + hash = strhash(name) % SYMBOL_HASHSIZE; + + for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) { + if (symbol->name && + !strcmp(symbol->name, name) && + !(symbol->flags & SYMBOL_CONST)) + break; + } + + return symbol; +} + +/* + * Expand symbol's names embedded in the string given in argument. Symbols' + * name to be expanded shall be prefixed by a '$'. Unknown symbol expands to + * the empty string. + */ +const char *sym_expand_string_value(const char *in) +{ + const char *src; + char *res; + size_t reslen; + + reslen = strlen(in) + 1; + res = malloc(reslen); + res[0] = '\0'; + + while ((src = strchr(in, '$'))) { + char *p, name[SYMBOL_MAXLENGTH]; + const char *symval = ""; + struct symbol *sym; + size_t newlen; + + strncat(res, in, src - in); + src++; + + p = name; + while (isalnum(*src) || *src == '_') + *p++ = *src++; + *p = '\0'; + + sym = sym_find(name); + if (sym != NULL) { + sym_calc_value(sym); + symval = sym_get_string_value(sym); + } + + newlen = strlen(res) + strlen(symval) + strlen(src) + 1; + if (newlen > reslen) { + reslen = newlen; + res = realloc(res, reslen); + } + + strcat(res, symval); + in = src; + } + strcat(res, in); + + return res; +} + +const char *sym_escape_string_value(const char *in) +{ + const char *p; + size_t reslen; + char *res; + size_t l; + + reslen = strlen(in) + strlen("\"\"") + 1; + + p = in; + for (;;) { + l = strcspn(p, "\"\\"); + p += l; + + if (p[0] == '\0') + break; + + reslen++; + p++; + } + + res = malloc(reslen); + res[0] = '\0'; + + strcat(res, "\""); + + p = in; + for (;;) { + l = strcspn(p, "\"\\"); + strncat(res, p, l); + p += l; + + if (p[0] == '\0') + break; + + strcat(res, "\\"); + strncat(res, p++, 1); + } + + strcat(res, "\""); + return res; +} + +struct symbol **sym_re_search(const char *pattern) +{ + struct symbol *sym, **sym_arr = NULL; + int i, cnt, size; + regex_t re; + + cnt = size = 0; + /* Skip if empty */ + if (strlen(pattern) == 0) + return NULL; + if (regcomp(&re, pattern, REG_EXTENDED|REG_NOSUB|REG_ICASE)) + return NULL; + + for_all_symbols(i, sym) { + if (sym->flags & SYMBOL_CONST || !sym->name) + continue; + if (regexec(&re, sym->name, 0, NULL, 0)) + continue; + if (cnt + 1 >= size) { + void *tmp = sym_arr; + size += 16; + sym_arr = realloc(sym_arr, size * sizeof(struct symbol *)); + if (!sym_arr) { + free(tmp); + return NULL; + } + } + sym_calc_value(sym); + sym_arr[cnt++] = sym; + } + if (sym_arr) + sym_arr[cnt] = NULL; + regfree(&re); + + return sym_arr; +} + +/* + * When we check for recursive dependencies we use a stack to save + * current state so we can print out relevant info to user. + * The entries are located on the call stack so no need to free memory. + * Note inser() remove() must always match to properly clear the stack. + */ +static struct dep_stack { + struct dep_stack *prev, *next; + struct symbol *sym; + struct property *prop; + struct expr *expr; +} *check_top; + +static void dep_stack_insert(struct dep_stack *stack, struct symbol *sym) +{ + memset(stack, 0, sizeof(*stack)); + if (check_top) + check_top->next = stack; + stack->prev = check_top; + stack->sym = sym; + check_top = stack; +} + +static void dep_stack_remove(void) +{ + check_top = check_top->prev; + if (check_top) + check_top->next = NULL; +} + +/* + * Called when we have detected a recursive dependency. + * check_top point to the top of the stact so we use + * the ->prev pointer to locate the bottom of the stack. + */ +static void sym_check_print_recursive(struct symbol *last_sym) +{ + struct dep_stack *stack; + struct symbol *sym, *next_sym; + struct menu *menu = NULL; + struct property *prop; + struct dep_stack cv_stack; + + if (sym_is_choice_value(last_sym)) { + dep_stack_insert(&cv_stack, last_sym); + last_sym = prop_get_symbol(sym_get_choice_prop(last_sym)); + } + + for (stack = check_top; stack != NULL; stack = stack->prev) + if (stack->sym == last_sym) + break; + if (!stack) { + fprintf(stderr, "unexpected recursive dependency error\n"); + return; + } + + for (; stack; stack = stack->next) { + sym = stack->sym; + next_sym = stack->next ? stack->next->sym : last_sym; + prop = stack->prop; + if (prop == NULL) + prop = stack->sym->prop; + + /* for choice values find the menu entry (used below) */ + if (sym_is_choice(sym) || sym_is_choice_value(sym)) { + for (prop = sym->prop; prop; prop = prop->next) { + menu = prop->menu; + if (prop->menu) + break; + } + } + if (stack->sym == last_sym) + fprintf(stderr, "%s:%d:error: recursive dependency detected!\n", + prop->file->name, prop->lineno); + if (stack->expr) { + fprintf(stderr, "%s:%d:\tsymbol %s %s value contains %s\n", + prop->file->name, prop->lineno, + sym->name ? sym->name : "", + prop_get_type_name(prop->type), + next_sym->name ? next_sym->name : ""); + } else if (stack->prop) { + fprintf(stderr, "%s:%d:\tsymbol %s depends on %s\n", + prop->file->name, prop->lineno, + sym->name ? sym->name : "", + next_sym->name ? next_sym->name : ""); + } else if (sym_is_choice(sym)) { + fprintf(stderr, "%s:%d:\tchoice %s contains symbol %s\n", + menu->file->name, menu->lineno, + sym->name ? sym->name : "", + next_sym->name ? next_sym->name : ""); + } else if (sym_is_choice_value(sym)) { + fprintf(stderr, "%s:%d:\tsymbol %s is part of choice %s\n", + menu->file->name, menu->lineno, + sym->name ? sym->name : "", + next_sym->name ? next_sym->name : ""); + } else { + fprintf(stderr, "%s:%d:\tsymbol %s is selected by %s\n", + prop->file->name, prop->lineno, + sym->name ? sym->name : "", + next_sym->name ? next_sym->name : ""); + } + } + + if (check_top == &cv_stack) + dep_stack_remove(); +} + +static struct symbol *sym_check_expr_deps(struct expr *e) +{ + struct symbol *sym; + + if (!e) + return NULL; + switch (e->type) { + case E_OR: + case E_AND: + sym = sym_check_expr_deps(e->left.expr); + if (sym) + return sym; + return sym_check_expr_deps(e->right.expr); + case E_NOT: + return sym_check_expr_deps(e->left.expr); + case E_EQUAL: + case E_UNEQUAL: + sym = sym_check_deps(e->left.sym); + if (sym) + return sym; + return sym_check_deps(e->right.sym); + case E_SYMBOL: + return sym_check_deps(e->left.sym); + default: + break; + } + printf("Oops! How to check %d?\n", e->type); + return NULL; +} + +/* return NULL when dependencies are OK */ +static struct symbol *sym_check_sym_deps(struct symbol *sym) +{ + struct symbol *sym2; + struct property *prop; + struct dep_stack stack; + + dep_stack_insert(&stack, sym); + + sym2 = sym_check_expr_deps(sym->rev_dep.expr); + if (sym2) + goto out; + + for (prop = sym->prop; prop; prop = prop->next) { + if (prop->type == P_CHOICE || prop->type == P_SELECT) + continue; + stack.prop = prop; + sym2 = sym_check_expr_deps(prop->visible.expr); + if (sym2) + break; + if (prop->type != P_DEFAULT || sym_is_choice(sym)) + continue; + stack.expr = prop->expr; + sym2 = sym_check_expr_deps(prop->expr); + if (sym2) + break; + stack.expr = NULL; + } + +out: + dep_stack_remove(); + + return sym2; +} + +static struct symbol *sym_check_choice_deps(struct symbol *choice) +{ + struct symbol *sym, *sym2; + struct property *prop; + struct expr *e; + struct dep_stack stack; + + dep_stack_insert(&stack, choice); + + prop = sym_get_choice_prop(choice); + expr_list_for_each_sym(prop->expr, e, sym) + sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED); + + choice->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED); + sym2 = sym_check_sym_deps(choice); + choice->flags &= ~SYMBOL_CHECK; + if (sym2) + goto out; + + expr_list_for_each_sym(prop->expr, e, sym) { + sym2 = sym_check_sym_deps(sym); + if (sym2) + break; + } +out: + expr_list_for_each_sym(prop->expr, e, sym) + sym->flags &= ~SYMBOL_CHECK; + + if (sym2 && sym_is_choice_value(sym2) && + prop_get_symbol(sym_get_choice_prop(sym2)) == choice) + sym2 = choice; + + dep_stack_remove(); + + return sym2; +} + +struct symbol *sym_check_deps(struct symbol *sym) +{ + struct symbol *sym2; + struct property *prop; + + if (sym->flags & SYMBOL_CHECK) { + sym_check_print_recursive(sym); + return sym; + } + if (sym->flags & SYMBOL_CHECKED) + return NULL; + + if (sym_is_choice_value(sym)) { + struct dep_stack stack; + + /* for choice groups start the check with main choice symbol */ + dep_stack_insert(&stack, sym); + prop = sym_get_choice_prop(sym); + sym2 = sym_check_deps(prop_get_symbol(prop)); + dep_stack_remove(); + } else if (sym_is_choice(sym)) { + sym2 = sym_check_choice_deps(sym); + } else { + sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED); + sym2 = sym_check_sym_deps(sym); + sym->flags &= ~SYMBOL_CHECK; + } + + if (sym2 && sym2 == sym) + sym2 = NULL; + + return sym2; +} + +struct property *prop_alloc(enum prop_type type, struct symbol *sym) +{ + struct property *prop; + struct property **propp; + + prop = malloc(sizeof(*prop)); + memset(prop, 0, sizeof(*prop)); + prop->type = type; + prop->sym = sym; + prop->file = current_file; + prop->lineno = zconf_lineno(); + + /* append property to the prop list of symbol */ + if (sym) { + for (propp = &sym->prop; *propp; propp = &(*propp)->next) + ; + *propp = prop; + } + + return prop; +} + +struct symbol *prop_get_symbol(struct property *prop) +{ + if (prop->expr && (prop->expr->type == E_SYMBOL || + prop->expr->type == E_LIST)) + return prop->expr->left.sym; + return NULL; +} + +const char *prop_get_type_name(enum prop_type type) +{ + switch (type) { + case P_PROMPT: + return "prompt"; + case P_ENV: + return "env"; + case P_COMMENT: + return "comment"; + case P_MENU: + return "menu"; + case P_DEFAULT: + return "default"; + case P_CHOICE: + return "choice"; + case P_SELECT: + return "select"; + case P_RANGE: + return "range"; + case P_SYMBOL: + return "symbol"; + case P_UNKNOWN: + break; + } + return "unknown"; +} + +static void prop_add_env(const char *env) +{ + struct symbol *sym, *sym2; + struct property *prop; + char *p; + + sym = current_entry->sym; + sym->flags |= SYMBOL_AUTO; + for_all_properties(sym, prop, P_ENV) { + sym2 = prop_get_symbol(prop); + if (strcmp(sym2->name, env)) + menu_warn(current_entry, "redefining environment symbol from %s", + sym2->name); + return; + } + + prop = prop_alloc(P_ENV, sym); + prop->expr = expr_alloc_symbol(sym_lookup(env, SYMBOL_CONST)); + + sym_env_list = expr_alloc_one(E_LIST, sym_env_list); + sym_env_list->right.sym = sym; + + p = getenv(env); + if (p) + sym_add_default(sym, p); + else + menu_warn(current_entry, "environment variable %s undefined", env); +} diff --git a/carl9170fw/config/util.c b/carl9170fw/config/util.c new file mode 100644 index 0000000..d0b8b23 --- /dev/null +++ b/carl9170fw/config/util.c @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2002-2005 Roman Zippel + * Copyright (C) 2002-2005 Sam Ravnborg + * + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include "lkc.h" + +/* file already present in list? If not add it */ +struct file *file_lookup(const char *name) +{ + struct file *file; + const char *file_name = sym_expand_string_value(name); + + for (file = file_list; file; file = file->next) { + if (!strcmp(name, file->name)) { + free((void *)file_name); + return file; + } + } + + file = malloc(sizeof(*file)); + memset(file, 0, sizeof(*file)); + file->name = file_name; + file->next = file_list; + file_list = file; + return file; +} + +/* write a dependency file as used by kbuild to track dependencies */ +int file_write_dep(const char *name) +{ + struct symbol *sym, *env_sym; + struct expr *e; + struct file *file; + FILE *out; + + if (!name) + name = ".kconfig.d"; + out = fopen("..config.tmp", "w"); + if (!out) + return 1; + fprintf(out, "deps_config := \\\n"); + for (file = file_list; file; file = file->next) { + if (file->next) + fprintf(out, "\t%s \\\n", file->name); + else + fprintf(out, "\t%s\n", file->name); + } + fprintf(out, "\n%s: \\\n" + "\t$(deps_config)\n\n", conf_get_autoconfig_name()); + + expr_list_for_each_sym(sym_env_list, e, sym) { + struct property *prop; + const char *value; + + prop = sym_get_env_prop(sym); + env_sym = prop_get_symbol(prop); + if (!env_sym) + continue; + value = getenv(env_sym->name); + if (!value) + value = ""; + fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value); + fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name()); + fprintf(out, "endif\n"); + } + + fprintf(out, "\n$(deps_config): ;\n"); + fclose(out); + rename("..config.tmp", name); + return 0; +} + + +/* Allocate initial growable string */ +struct gstr str_new(void) +{ + struct gstr gs; + gs.s = malloc(sizeof(char) * 64); + gs.len = 64; + gs.max_width = 0; + strcpy(gs.s, "\0"); + return gs; +} + +/* Allocate and assign growable string */ +struct gstr str_assign(const char *s) +{ + struct gstr gs; + gs.s = strdup(s); + gs.len = strlen(s) + 1; + gs.max_width = 0; + return gs; +} + +/* Free storage for growable string */ +void str_free(struct gstr *gs) +{ + if (gs->s) + free(gs->s); + gs->s = NULL; + gs->len = 0; +} + +/* Append to growable string */ +void str_append(struct gstr *gs, const char *s) +{ + size_t l; + if (s) { + l = strlen(gs->s) + strlen(s) + 1; + if (l > gs->len) { + gs->s = realloc(gs->s, l); + gs->len = l; + } + strcat(gs->s, s); + } +} + +/* Append printf formatted string to growable string */ +void str_printf(struct gstr *gs, const char *fmt, ...) +{ + va_list ap; + char s[10000]; /* big enough... */ + va_start(ap, fmt); + vsnprintf(s, sizeof(s), fmt, ap); + str_append(gs, s); + va_end(ap); +} + +/* Retrieve value of growable string */ +const char *str_get(struct gstr *gs) +{ + return gs->s; +} + diff --git a/carl9170fw/config/zconf.gperf b/carl9170fw/config/zconf.gperf new file mode 100644 index 0000000..dd8ec26 --- /dev/null +++ b/carl9170fw/config/zconf.gperf @@ -0,0 +1,47 @@ +%language=ANSI-C +%define hash-function-name kconf_id_hash +%define lookup-function-name kconf_id_lookup +%define string-pool-name kconf_id_strings +%compare-strncmp +%enum +%pic +%struct-type + +struct kconf_id; + +struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); + +%% +mainmenu, T_MAINMENU, TF_COMMAND +menu, T_MENU, TF_COMMAND +endmenu, T_ENDMENU, TF_COMMAND +source, T_SOURCE, TF_COMMAND +choice, T_CHOICE, TF_COMMAND +endchoice, T_ENDCHOICE, TF_COMMAND +comment, T_COMMENT, TF_COMMAND +config, T_CONFIG, TF_COMMAND +menuconfig, T_MENUCONFIG, TF_COMMAND +help, T_HELP, TF_COMMAND +if, T_IF, TF_COMMAND|TF_PARAM +endif, T_ENDIF, TF_COMMAND +depends, T_DEPENDS, TF_COMMAND +optional, T_OPTIONAL, TF_COMMAND +default, T_DEFAULT, TF_COMMAND, S_UNKNOWN +prompt, T_PROMPT, TF_COMMAND +tristate, T_TYPE, TF_COMMAND, S_TRISTATE +def_tristate, T_DEFAULT, TF_COMMAND, S_TRISTATE +bool, T_TYPE, TF_COMMAND, S_BOOLEAN +boolean, T_TYPE, TF_COMMAND, S_BOOLEAN +def_bool, T_DEFAULT, TF_COMMAND, S_BOOLEAN +int, T_TYPE, TF_COMMAND, S_INT +hex, T_TYPE, TF_COMMAND, S_HEX +string, T_TYPE, TF_COMMAND, S_STRING +select, T_SELECT, TF_COMMAND +range, T_RANGE, TF_COMMAND +visible, T_VISIBLE, TF_COMMAND +option, T_OPTION, TF_COMMAND +on, T_ON, TF_PARAM +modules, T_OPT_MODULES, TF_OPTION +defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION +env, T_OPT_ENV, TF_OPTION +%% diff --git a/carl9170fw/config/zconf.l b/carl9170fw/config/zconf.l new file mode 100644 index 0000000..a2b2895 --- /dev/null +++ b/carl9170fw/config/zconf.l @@ -0,0 +1,364 @@ +%option nostdinit noyywrap never-interactive full ecs +%option 8bit nodefault perf-report perf-report +%option noinput +%x COMMAND HELP STRING PARAM +%{ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include + +#include "lkc.h" + +#define START_STRSIZE 16 + +static struct { + struct file *file; + int lineno; +} current_pos; + +static char *text; +static int text_size, text_asize; + +struct buffer { + struct buffer *parent; + YY_BUFFER_STATE state; +}; + +struct buffer *current_buf; + +static int last_ts, first_ts; + +static void zconf_endhelp(void); +static void zconf_endfile(void); + +static void new_string(void) +{ + text = malloc(START_STRSIZE); + text_asize = START_STRSIZE; + text_size = 0; + *text = 0; +} + +static void append_string(const char *str, int size) +{ + int new_size = text_size + size + 1; + if (new_size > text_asize) { + new_size += START_STRSIZE - 1; + new_size &= -START_STRSIZE; + text = realloc(text, new_size); + text_asize = new_size; + } + memcpy(text + text_size, str, size); + text_size += size; + text[text_size] = 0; +} + +static void alloc_string(const char *str, int size) +{ + text = malloc(size + 1); + memcpy(text, str, size); + text[size] = 0; +} +%} + +ws [ \n\t] +n [A-Za-z0-9_] + +%% + int str = 0; + int ts, i; + +[ \t]*#.*\n | +[ \t]*\n { + current_file->lineno++; + return T_EOL; +} +[ \t]*#.* + + +[ \t]+ { + BEGIN(COMMAND); +} + +. { + unput(yytext[0]); + BEGIN(COMMAND); +} + + +{ + {n}+ { + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); + BEGIN(PARAM); + current_pos.file = current_file; + current_pos.lineno = current_file->lineno; + if (id && id->flags & TF_COMMAND) { + zconflval.id = id; + return id->token; + } + alloc_string(yytext, yyleng); + zconflval.string = text; + return T_WORD; + } + . + \n { + BEGIN(INITIAL); + current_file->lineno++; + return T_EOL; + } +} + +{ + "&&" return T_AND; + "||" return T_OR; + "(" return T_OPEN_PAREN; + ")" return T_CLOSE_PAREN; + "!" return T_NOT; + "=" return T_EQUAL; + "!=" return T_UNEQUAL; + \"|\' { + str = yytext[0]; + new_string(); + BEGIN(STRING); + } + \n BEGIN(INITIAL); current_file->lineno++; return T_EOL; + --- /* ignore */ + ({n}|[-/.])+ { + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); + if (id && id->flags & TF_PARAM) { + zconflval.id = id; + return id->token; + } + alloc_string(yytext, yyleng); + zconflval.string = text; + return T_WORD; + } + #.* /* comment */ + \\\n current_file->lineno++; + . + <> { + BEGIN(INITIAL); + } +} + +{ + [^'"\\\n]+/\n { + append_string(yytext, yyleng); + zconflval.string = text; + return T_WORD_QUOTE; + } + [^'"\\\n]+ { + append_string(yytext, yyleng); + } + \\.?/\n { + append_string(yytext + 1, yyleng - 1); + zconflval.string = text; + return T_WORD_QUOTE; + } + \\.? { + append_string(yytext + 1, yyleng - 1); + } + \'|\" { + if (str == yytext[0]) { + BEGIN(PARAM); + zconflval.string = text; + return T_WORD_QUOTE; + } else + append_string(yytext, 1); + } + \n { + printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno()); + current_file->lineno++; + BEGIN(INITIAL); + return T_EOL; + } + <> { + BEGIN(INITIAL); + } +} + +{ + [ \t]+ { + ts = 0; + for (i = 0; i < yyleng; i++) { + if (yytext[i] == '\t') + ts = (ts & ~7) + 8; + else + ts++; + } + last_ts = ts; + if (first_ts) { + if (ts < first_ts) { + zconf_endhelp(); + return T_HELPTEXT; + } + ts -= first_ts; + while (ts > 8) { + append_string(" ", 8); + ts -= 8; + } + append_string(" ", ts); + } + } + [ \t]*\n/[^ \t\n] { + current_file->lineno++; + zconf_endhelp(); + return T_HELPTEXT; + } + [ \t]*\n { + current_file->lineno++; + append_string("\n", 1); + } + [^ \t\n].* { + while (yyleng) { + if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t')) + break; + yyleng--; + } + append_string(yytext, yyleng); + if (!first_ts) + first_ts = last_ts; + } + <> { + zconf_endhelp(); + return T_HELPTEXT; + } +} + +<> { + if (current_file) { + zconf_endfile(); + return T_EOL; + } + fclose(yyin); + yyterminate(); +} + +%% +void zconf_starthelp(void) +{ + new_string(); + last_ts = first_ts = 0; + BEGIN(HELP); +} + +static void zconf_endhelp(void) +{ + zconflval.string = text; + BEGIN(INITIAL); +} + + +/* + * Try to open specified file with following names: + * ./name + * $(srctree)/name + * The latter is used when srctree is separate from objtree + * when compiling the firmware. + * Return NULL if file is not found. + */ +FILE *zconf_fopen(const char *name) +{ + char *env, fullname[PATH_MAX+1]; + FILE *f; + + f = fopen(name, "r"); + if (!f && name != NULL && name[0] != '/') { + env = getenv(SRCTREE); + if (env) { + sprintf(fullname, "%s/%s", env, name); + f = fopen(fullname, "r"); + } + } + return f; +} + +void zconf_initscan(const char *name) +{ + yyin = zconf_fopen(name); + if (!yyin) { + printf("can't find file %s\n", name); + exit(1); + } + + current_buf = malloc(sizeof(*current_buf)); + memset(current_buf, 0, sizeof(*current_buf)); + + current_file = file_lookup(name); + current_file->lineno = 1; +} + +void zconf_nextfile(const char *name) +{ + struct file *iter; + struct file *file = file_lookup(name); + struct buffer *buf = malloc(sizeof(*buf)); + memset(buf, 0, sizeof(*buf)); + + current_buf->state = YY_CURRENT_BUFFER; + yyin = zconf_fopen(file->name); + if (!yyin) { + printf("%s:%d: can't open file \"%s\"\n", + zconf_curname(), zconf_lineno(), file->name); + exit(1); + } + yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); + buf->parent = current_buf; + current_buf = buf; + + for (iter = current_file->parent; iter; iter = iter->parent ) { + if (!strcmp(current_file->name,iter->name) ) { + printf("%s:%d: recursive inclusion detected. " + "Inclusion path:\n current file : '%s'\n", + zconf_curname(), zconf_lineno(), + zconf_curname()); + iter = current_file->parent; + while (iter && \ + strcmp(iter->name,current_file->name)) { + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno-1); + iter = iter->parent; + } + if (iter) + printf(" included from: '%s:%d'\n", + iter->name, iter->lineno+1); + exit(1); + } + } + file->lineno = 1; + file->parent = current_file; + current_file = file; +} + +static void zconf_endfile(void) +{ + struct buffer *parent; + + current_file = current_file->parent; + + parent = current_buf->parent; + if (parent) { + fclose(yyin); + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer(parent->state); + } + free(current_buf); + current_buf = parent; +} + +int zconf_lineno(void) +{ + return current_pos.lineno; +} + +const char *zconf_curname(void) +{ + return current_pos.file ? current_pos.file->name : ""; +} diff --git a/carl9170fw/config/zconf.y b/carl9170fw/config/zconf.y new file mode 100644 index 0000000..b957a7c --- /dev/null +++ b/carl9170fw/config/zconf.y @@ -0,0 +1,740 @@ +%{ +/* + * Copyright (C) 2002 Roman Zippel + * Released under the terms of the GNU GPL v2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include "lkc.h" + +#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) + +#define PRINTD 0x0001 +#define DEBUG_PARSE 0x0002 + +int cdebug = PRINTD; + +extern int zconflex(void); +static void zconfprint(const char *err, ...); +static void zconf_error(const char *err, ...); +static void zconferror(const char *err); +static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken); + +struct symbol *symbol_hash[SYMBOL_HASHSIZE]; + +static struct menu *current_menu, *current_entry; + +%} +%expect 30 + +%union +{ + char *string; + struct file *file; + struct symbol *symbol; + struct expr *expr; + struct menu *menu; + const struct kconf_id *id; +} + +%token T_MAINMENU +%token T_MENU +%token T_ENDMENU +%token T_SOURCE +%token T_CHOICE +%token T_ENDCHOICE +%token T_COMMENT +%token T_CONFIG +%token T_MENUCONFIG +%token T_HELP +%token T_HELPTEXT +%token T_IF +%token T_ENDIF +%token T_DEPENDS +%token T_OPTIONAL +%token T_PROMPT +%token T_TYPE +%token T_DEFAULT +%token T_SELECT +%token T_RANGE +%token T_VISIBLE +%token T_OPTION +%token T_ON +%token T_WORD +%token T_WORD_QUOTE +%token T_UNEQUAL +%token T_CLOSE_PAREN +%token T_OPEN_PAREN +%token T_EOL + +%left T_OR +%left T_AND +%left T_EQUAL T_UNEQUAL +%nonassoc T_NOT + +%type prompt +%type symbol +%type expr +%type if_expr +%type end +%type option_name +%type if_entry menu_entry choice_entry +%type symbol_option_arg word_opt + +%destructor { + fprintf(stderr, "%s:%d: missing end statement for this entry\n", + $$->file->name, $$->lineno); + if (current_menu == $$) + menu_end_menu(); +} if_entry menu_entry choice_entry + +%{ +/* Include zconf.hash.c here so it can see the token constants. */ +#include "zconf.hash.c" +%} + +%% +input: nl start | start; + +start: mainmenu_stmt stmt_list | stmt_list; + +stmt_list: + /* empty */ + | stmt_list common_stmt + | stmt_list choice_stmt + | stmt_list menu_stmt + | stmt_list end { zconf_error("unexpected end statement"); } + | stmt_list T_WORD error T_EOL { zconf_error("unknown statement \"%s\"", $2); } + | stmt_list option_name error T_EOL +{ + zconf_error("unexpected option \"%s\"", kconf_id_strings + $2->name); +} + | stmt_list error T_EOL { zconf_error("invalid statement"); } +; + +option_name: + T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT | T_VISIBLE +; + +common_stmt: + T_EOL + | if_stmt + | comment_stmt + | config_stmt + | menuconfig_stmt + | source_stmt +; + +option_error: + T_WORD error T_EOL { zconf_error("unknown option \"%s\"", $1); } + | error T_EOL { zconf_error("invalid option"); } +; + + +/* config/menuconfig entry */ + +config_entry_start: T_CONFIG T_WORD T_EOL +{ + struct symbol *sym = sym_lookup($2, 0); + sym->flags |= SYMBOL_OPTIONAL; + menu_add_entry(sym); + printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2); +}; + +config_stmt: config_entry_start config_option_list +{ + menu_end_entry(); + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +}; + +menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL +{ + struct symbol *sym = sym_lookup($2, 0); + sym->flags |= SYMBOL_OPTIONAL; + menu_add_entry(sym); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2); +}; + +menuconfig_stmt: menuconfig_entry_start config_option_list +{ + if (current_entry->prompt) + current_entry->prompt->type = P_MENU; + else + zconfprint("warning: menuconfig statement without prompt"); + menu_end_entry(); + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +}; + +config_option_list: + /* empty */ + | config_option_list config_option + | config_option_list symbol_option + | config_option_list depends + | config_option_list help + | config_option_list option_error + | config_option_list T_EOL +; + +config_option: T_TYPE prompt_stmt_opt T_EOL +{ + menu_set_type($1->stype); + printd(DEBUG_PARSE, "%s:%d:type(%u)\n", + zconf_curname(), zconf_lineno(), + $1->stype); +}; + +config_option: T_PROMPT prompt if_expr T_EOL +{ + menu_add_prompt(P_PROMPT, $2, $3); + printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); +}; + +config_option: T_DEFAULT expr if_expr T_EOL +{ + menu_add_expr(P_DEFAULT, $2, $3); + if ($1->stype != S_UNKNOWN) + menu_set_type($1->stype); + printd(DEBUG_PARSE, "%s:%d:default(%u)\n", + zconf_curname(), zconf_lineno(), + $1->stype); +}; + +config_option: T_SELECT T_WORD if_expr T_EOL +{ + menu_add_symbol(P_SELECT, sym_lookup($2, 0), $3); + printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); +}; + +config_option: T_RANGE symbol symbol if_expr T_EOL +{ + menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4); + printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); +}; + +symbol_option: T_OPTION symbol_option_list T_EOL +; + +symbol_option_list: + /* empty */ + | symbol_option_list T_WORD symbol_option_arg +{ + const struct kconf_id *id = kconf_id_lookup($2, strlen($2)); + if (id && id->flags & TF_OPTION) + menu_add_option(id->token, $3); + else + zconfprint("warning: ignoring unknown option %s", $2); + free($2); +}; + +symbol_option_arg: + /* empty */ { $$ = NULL; } + | T_EQUAL prompt { $$ = $2; } +; + +/* choice entry */ + +choice: T_CHOICE word_opt T_EOL +{ + struct symbol *sym = sym_lookup($2, SYMBOL_CHOICE); + sym->flags |= SYMBOL_AUTO; + menu_add_entry(sym); + menu_add_expr(P_CHOICE, NULL, NULL); + printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); +}; + +choice_entry: choice choice_option_list +{ + $$ = menu_add_menu(); +}; + +choice_end: end +{ + if (zconf_endtoken($1, T_CHOICE, T_ENDCHOICE)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); + } +}; + +choice_stmt: choice_entry choice_block choice_end +; + +choice_option_list: + /* empty */ + | choice_option_list choice_option + | choice_option_list depends + | choice_option_list help + | choice_option_list T_EOL + | choice_option_list option_error +; + +choice_option: T_PROMPT prompt if_expr T_EOL +{ + menu_add_prompt(P_PROMPT, $2, $3); + printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); +}; + +choice_option: T_TYPE prompt_stmt_opt T_EOL +{ + if ($1->stype == S_BOOLEAN || $1->stype == S_TRISTATE) { + menu_set_type($1->stype); + printd(DEBUG_PARSE, "%s:%d:type(%u)\n", + zconf_curname(), zconf_lineno(), + $1->stype); + } else + YYERROR; +}; + +choice_option: T_OPTIONAL T_EOL +{ + current_entry->sym->flags |= SYMBOL_OPTIONAL; + printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); +}; + +choice_option: T_DEFAULT T_WORD if_expr T_EOL +{ + if ($1->stype == S_UNKNOWN) { + menu_add_symbol(P_DEFAULT, sym_lookup($2, 0), $3); + printd(DEBUG_PARSE, "%s:%d:default\n", + zconf_curname(), zconf_lineno()); + } else + YYERROR; +}; + +choice_block: + /* empty */ + | choice_block common_stmt +; + +/* if entry */ + +if_entry: T_IF expr nl +{ + printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); + menu_add_entry(NULL); + menu_add_dep($2); + $$ = menu_add_menu(); +}; + +if_end: end +{ + if (zconf_endtoken($1, T_IF, T_ENDIF)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); + } +}; + +if_stmt: if_entry if_block if_end +; + +if_block: + /* empty */ + | if_block common_stmt + | if_block menu_stmt + | if_block choice_stmt +; + +/* mainmenu entry */ + +mainmenu_stmt: T_MAINMENU prompt nl +{ + menu_add_prompt(P_MENU, $2, NULL); +}; + +/* menu entry */ + +menu: T_MENU prompt T_EOL +{ + menu_add_entry(NULL); + menu_add_prompt(P_MENU, $2, NULL); + printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); +}; + +menu_entry: menu visibility_list depends_list +{ + $$ = menu_add_menu(); +}; + +menu_end: end +{ + if (zconf_endtoken($1, T_MENU, T_ENDMENU)) { + menu_end_menu(); + printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); + } +}; + +menu_stmt: menu_entry menu_block menu_end +; + +menu_block: + /* empty */ + | menu_block common_stmt + | menu_block menu_stmt + | menu_block choice_stmt +; + +source_stmt: T_SOURCE prompt T_EOL +{ + printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2); + zconf_nextfile($2); +}; + +/* comment entry */ + +comment: T_COMMENT prompt T_EOL +{ + menu_add_entry(NULL); + menu_add_prompt(P_COMMENT, $2, NULL); + printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); +}; + +comment_stmt: comment depends_list +{ + menu_end_entry(); +}; + +/* help option */ + +help_start: T_HELP T_EOL +{ + printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); + zconf_starthelp(); +}; + +help: help_start T_HELPTEXT +{ + current_entry->help = $2; +}; + +/* depends option */ + +depends_list: + /* empty */ + | depends_list depends + | depends_list T_EOL + | depends_list option_error +; + +depends: T_DEPENDS T_ON expr T_EOL +{ + menu_add_dep($3); + printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); +}; + +/* visibility option */ + +visibility_list: + /* empty */ + | visibility_list visible + | visibility_list T_EOL +; + +visible: T_VISIBLE if_expr +{ + menu_add_visibility($2); +}; + +/* prompt statement */ + +prompt_stmt_opt: + /* empty */ + | prompt if_expr +{ + menu_add_prompt(P_PROMPT, $1, $2); +}; + +prompt: T_WORD + | T_WORD_QUOTE +; + +end: T_ENDMENU T_EOL { $$ = $1; } + | T_ENDCHOICE T_EOL { $$ = $1; } + | T_ENDIF T_EOL { $$ = $1; } +; + +nl: + T_EOL + | nl T_EOL +; + +if_expr: /* empty */ { $$ = NULL; } + | T_IF expr { $$ = $2; } +; + +expr: symbol { $$ = expr_alloc_symbol($1); } + | symbol T_EQUAL symbol { $$ = expr_alloc_comp(E_EQUAL, $1, $3); } + | symbol T_UNEQUAL symbol { $$ = expr_alloc_comp(E_UNEQUAL, $1, $3); } + | T_OPEN_PAREN expr T_CLOSE_PAREN { $$ = $2; } + | T_NOT expr { $$ = expr_alloc_one(E_NOT, $2); } + | expr T_OR expr { $$ = expr_alloc_two(E_OR, $1, $3); } + | expr T_AND expr { $$ = expr_alloc_two(E_AND, $1, $3); } +; + +symbol: T_WORD { $$ = sym_lookup($1, 0); free($1); } + | T_WORD_QUOTE { $$ = sym_lookup($1, SYMBOL_CONST); free($1); } +; + +word_opt: /* empty */ { $$ = NULL; } + | T_WORD + +%% + +void conf_parse(const char *name) +{ + struct symbol *sym; + int i; + + zconf_initscan(name); + + sym_init(); + _menu_init(); + modules_sym = sym_lookup(NULL, 0); + modules_sym->type = S_BOOLEAN; + modules_sym->flags |= SYMBOL_AUTO; + rootmenu.prompt = menu_add_prompt(P_MENU, "CARL9170 Firmware Configuration", NULL); + + if (getenv("ZCONF_DEBUG")) + zconfdebug = 1; + zconfparse(); + if (zconfnerrs) + exit(1); + if (!modules_sym->prop) { + struct property *prop; + + prop = prop_alloc(P_DEFAULT, modules_sym); + prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0)); + } + + rootmenu.prompt->text = _(rootmenu.prompt->text); + rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text); + + menu_finalize(&rootmenu); + for_all_symbols(i, sym) { + if (sym_check_deps(sym)) + zconfnerrs++; + } + if (zconfnerrs) + exit(1); + sym_set_change_count(1); +} + +static const char *zconf_tokenname(int token) +{ + switch (token) { + case T_MENU: return "menu"; + case T_ENDMENU: return "endmenu"; + case T_CHOICE: return "choice"; + case T_ENDCHOICE: return "endchoice"; + case T_IF: return "if"; + case T_ENDIF: return "endif"; + case T_DEPENDS: return "depends"; + case T_VISIBLE: return "visible"; + } + return ""; +} + +static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken) +{ + if (id->token != endtoken) { + zconf_error("unexpected '%s' within %s block", + kconf_id_strings + id->name, zconf_tokenname(starttoken)); + zconfnerrs++; + return false; + } + if (current_menu->file != current_file) { + zconf_error("'%s' in different file than '%s'", + kconf_id_strings + id->name, zconf_tokenname(starttoken)); + fprintf(stderr, "%s:%d: location of the '%s'\n", + current_menu->file->name, current_menu->lineno, + zconf_tokenname(starttoken)); + zconfnerrs++; + return false; + } + return true; +} + +static void zconfprint(const char *err, ...) +{ + va_list ap; + + fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); + va_start(ap, err); + vfprintf(stderr, err, ap); + va_end(ap); + fprintf(stderr, "\n"); +} + +static void zconf_error(const char *err, ...) +{ + va_list ap; + + zconfnerrs++; + fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); + va_start(ap, err); + vfprintf(stderr, err, ap); + va_end(ap); + fprintf(stderr, "\n"); +} + +static void zconferror(const char *err) +{ + fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err); +} + +static void print_quoted_string(FILE *out, const char *str) +{ + const char *p; + int len; + + putc('"', out); + while ((p = strchr(str, '"'))) { + len = p - str; + if (len) + fprintf(out, "%.*s", len, str); + fputs("\\\"", out); + str = p + 1; + } + fputs(str, out); + putc('"', out); +} + +static void print_symbol(FILE *out, struct menu *menu) +{ + struct symbol *sym = menu->sym; + struct property *prop; + + if (sym_is_choice(sym)) + fprintf(out, "\nchoice\n"); + else + fprintf(out, "\nconfig %s\n", sym->name); + switch (sym->type) { + case S_BOOLEAN: + fputs(" boolean\n", out); + break; + case S_TRISTATE: + fputs(" tristate\n", out); + break; + case S_STRING: + fputs(" string\n", out); + break; + case S_INT: + fputs(" integer\n", out); + break; + case S_HEX: + fputs(" hex\n", out); + break; + default: + fputs(" ???\n", out); + break; + } + for (prop = sym->prop; prop; prop = prop->next) { + if (prop->menu != menu) + continue; + switch (prop->type) { + case P_PROMPT: + fputs(" prompt ", out); + print_quoted_string(out, prop->text); + if (!expr_is_yes(prop->visible.expr)) { + fputs(" if ", out); + expr_fprint(prop->visible.expr, out); + } + fputc('\n', out); + break; + case P_DEFAULT: + fputs( " default ", out); + expr_fprint(prop->expr, out); + if (!expr_is_yes(prop->visible.expr)) { + fputs(" if ", out); + expr_fprint(prop->visible.expr, out); + } + fputc('\n', out); + break; + case P_CHOICE: + fputs(" #choice value\n", out); + break; + case P_SELECT: + fputs( " select ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; + case P_RANGE: + fputs( " range ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; + case P_MENU: + fputs( " menu ", out); + print_quoted_string(out, prop->text); + fputc('\n', out); + break; + default: + fprintf(out, " unknown prop %d!\n", prop->type); + break; + } + } + if (menu->help) { + int len = strlen(menu->help); + while (menu->help[--len] == '\n') + menu->help[len] = 0; + fprintf(out, " help\n%s\n", menu->help); + } +} + +void zconfdump(FILE *out) +{ + struct property *prop; + struct symbol *sym; + struct menu *menu; + + menu = rootmenu.list; + while (menu) { + if ((sym = menu->sym)) + print_symbol(out, menu); + else if ((prop = menu->prompt)) { + switch (prop->type) { + case P_COMMENT: + fputs("\ncomment ", out); + print_quoted_string(out, prop->text); + fputs("\n", out); + break; + case P_MENU: + fputs("\nmenu ", out); + print_quoted_string(out, prop->text); + fputs("\n", out); + break; + default: + ; + } + if (!expr_is_yes(prop->visible.expr)) { + fputs(" depends ", out); + expr_fprint(prop->visible.expr, out); + fputc('\n', out); + } + } + + if (menu->list) + menu = menu->list; + else if (menu->next) + menu = menu->next; + else while ((menu = menu->parent)) { + if (menu->prompt && menu->prompt->type == P_MENU) + fputs("\nendmenu\n", out); + if (menu->next) { + menu = menu->next; + break; + } + } + } +} + +#include "zconf.lex.c" +#include "util.c" +#include "confdata.c" +#include "expr.c" +#include "symbol.c" +#include "menu.c" diff --git a/carl9170fw/extra/FindGPERF.cmake b/carl9170fw/extra/FindGPERF.cmake new file mode 100644 index 0000000..baf8749 --- /dev/null +++ b/carl9170fw/extra/FindGPERF.cmake @@ -0,0 +1,160 @@ +# - Find gperf executable and provides a macro to generate custom build rules +# +# The module defines the following variables: +# GPERF_FOUND - true is gperf executable is found +# GPERF_EXECUTABLE - the path to the gperf executable +# GPERF_VERSION - the version of gperf +# GPERF_LIBRARIES - The gperf libraries +# +# The minimum required version of gperf can be specified using the +# standard syntax, e.g. FIND_PACKAGE(GPERF 2.5.13) +# +# +# If gperf is found on the system, the module provides the macro: +# GPERF_TARGET(Name GperfInput GperfOutput [COMPILE_FLAGS ]) +# which creates a custom command to generate the file from +# the file. If COMPILE_FLAGS option is specified, the next +# parameter is added to the gperf command line. Name is an alias used to +# get details of this custom command. Indeed the macro defines the +# following variables: +# GPERF_${Name}_DEFINED - true is the macro ran successfully +# GPERF_${Name}_OUTPUTS - the source file generated by the custom rule, an +# alias for GperfOutput +# GPERF_${Name}_INPUT - the gperf source file, an alias for ${GperfInput} +# +# Gperf scanners oftenly use tokens defined by Bison: the code generated +# by Gperf depends of the header generated by Bison. This module also +# defines a macro: +# ADD_GPERF_BISON_DEPENDENCY(GperfTarget BisonTarget) +# which adds the required dependency between a scanner and a parser +# where and are the first parameters of +# respectively GPERF_TARGET and BISON_TARGET macros. +# +# ==================================================================== +# Example: +# +# find_package(GPERF) +# +# GPERF_TARGET(MyHash hash.gperf ${CMAKE_CURRENT_BINARY_DIR}/hash.c) +# +# ==================================================================== + +#============================================================================= +# Copyright 2009 Kitware, Inc. +# Copyright 2006 Tristan Carel +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cmake_minimum_required(VERSION 2.8.4) + +FIND_PROGRAM(GPERF_EXECUTABLE gperf DOC "path to the gperf executable") +MARK_AS_ADVANCED(GPERF_EXECUTABLE) + +FIND_LIBRARY(FL_LIBRARY NAMES fl + DOC "path to the fl library") +MARK_AS_ADVANCED(FL_LIBRARY) +SET(GPERF_LIBRARIES ${FL_LIBRARY}) + +IF(GPERF_EXECUTABLE) + + EXECUTE_PROCESS(COMMAND ${GPERF_EXECUTABLE} --version + OUTPUT_VARIABLE GPERF_version_output + ERROR_VARIABLE GPERF_version_error + RESULT_VARIABLE GPERF_version_result + OUTPUT_STRIP_TRAILING_WHITESPACE) + + SET(ENV{LC_ALL} ${_Bison_SAVED_LC_ALL}) + + IF(NOT ${GPERF_version_result} EQUAL 0) + MESSAGE(SEND_ERROR "Command \"${GPERF_EXECUTABLE} --version\" failed with output:\n${GPERF_version_error}") + ELSE() + STRING(REGEX REPLACE "^GNU gperf ([^\n]+)\n.*" "\\1" + GPERF_VERSION "${GPERF_version_output}") + ENDIF() + + #============================================================ + # GPERF_TARGET (public macro) + #============================================================ + # + MACRO(GPERF_TARGET Name Input Output) + SET(GPERF_TARGET_usage "GPERF_TARGET( [COMPILE_FLAGS ]") + IF(${ARGC} GREATER 3) + IF(${ARGC} EQUAL 5) + IF("${ARGV3}" STREQUAL "COMPILE_FLAGS") + SET(GPERF_EXECUTABLE_opts "${ARGV4}") + SEPARATE_ARGUMENTS(GPERF_EXECUTABLE_opts) + ELSE() + MESSAGE(SEND_ERROR ${GPERF_TARGET_usage}) + ENDIF() + ELSE() + MESSAGE(SEND_ERROR ${GPERF_TARGET_usage}) + ENDIF() + ENDIF() + + ADD_CUSTOM_COMMAND(OUTPUT ${Output} + COMMAND ${GPERF_EXECUTABLE} + ARGS ${GPERF_EXECUTABLE_opts} < ${Input} > ${Output} + DEPENDS ${Input} + COMMENT "[GPERF][${Name}] Building hash with gperf ${GPERF_VERSION}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + + SET(GPERF_${Name}_DEFINED TRUE) + SET(GPERF_${Name}_OUTPUTS ${Output}) + SET(GPERF_${Name}_INPUT ${Input}) + SET(GPERF_${Name}_COMPILE_FLAGS ${GPERF_EXECUTABLE_opts}) + ENDMACRO(GPERF_TARGET) + #============================================================ + + + #============================================================ + # ADD_GPERF_BISON_DEPENDENCY (public macro) + #============================================================ + # + MACRO(ADD_GPERF_BISON_DEPENDENCY GperfTarget BisonTarget) + + IF(NOT GPERF_${GperfTarget}_OUTPUTS) + MESSAGE(SEND_ERROR "Gperf target `${GperfTarget}' does not exists.") + ENDIF() + + IF(NOT BISON_${BisonTarget}_OUTPUT_HEADER) + MESSAGE(SEND_ERROR "Bison target `${BisonTarget}' does not exists.") + ENDIF() + + SET_SOURCE_FILES_PROPERTIES(${GPERF_${GperfTarget}_OUTPUTS} + PROPERTIES OBJECT_DEPENDS ${BISON_${BisonTarget}_OUTPUT_HEADER}) + ENDMACRO(ADD_GPERF_BISON_DEPENDENCY) + #============================================================ + +ENDIF(GPERF_EXECUTABLE) + +INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GPERF REQUIRED_VARS GPERF_EXECUTABLE + VERSION_VAR GPERF_VERSION) + +# FindGPERF.cmake ends here diff --git a/carl9170fw/extra/FindPackageHandleStandardArgs.cmake b/carl9170fw/extra/FindPackageHandleStandardArgs.cmake new file mode 100644 index 0000000..ec3440c --- /dev/null +++ b/carl9170fw/extra/FindPackageHandleStandardArgs.cmake @@ -0,0 +1,278 @@ +# FIND_PACKAGE_HANDLE_STANDARD_ARGS( ... ) +# +# This function is intended to be used in FindXXX.cmake modules files. +# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE(). +# It also sets the _FOUND variable. +# The package is considered found if all variables ... listed contain +# valid results, e.g. valid filepaths. +# +# There are two modes of this function. The first argument in both modes is +# the name of the Find-module where it is called (in original casing). +# +# The first simple mode looks like this: +# FIND_PACKAGE_HANDLE_STANDARD_ARGS( (DEFAULT_MSG|"Custom failure message") ... ) +# If the variables to are all valid, then _FOUND +# will be set to TRUE. +# If DEFAULT_MSG is given as second argument, then the function will generate +# itself useful success and error messages. You can also supply a custom error message +# for the failure case. This is not recommended. +# +# The second mode is more powerful and also supports version checking: +# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS ...] +# [VERSION_VAR +# [CONFIG_MODE] +# [FAIL_MESSAGE "Custom failure message"] ) +# +# As above, if through are all valid, _FOUND +# will be set to TRUE. +# After REQUIRED_VARS the variables which are required for this package are listed. +# Following VERSION_VAR the name of the variable can be specified which holds +# the version of the package which has been found. If this is done, this version +# will be checked against the (potentially) specified required version used +# in the find_package() call. The EXACT keyword is also handled. The default +# messages include information about the required version and the version +# which has been actually found, both if the version is ok or not. +# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for +# a find_package(... NO_MODULE) call, in this case all the information +# provided by the config-mode of find_package() will be evaluated +# automatically. +# Via FAIL_MESSAGE a custom failure message can be specified, if this is not +# used, the default message will be displayed. +# +# Example for mode 1: +# +# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) +# +# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and +# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE. +# If it is not found and REQUIRED was used, it fails with FATAL_ERROR, +# independent whether QUIET was used or not. +# If it is found, success will be reported, including the content of . +# On repeated Cmake runs, the same message won't be printed again. +# +# Example for mode 2: +# +# FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE +# VERSION_VAR BISON_VERSION) +# In this case, BISON is considered to be found if the variable(s) listed +# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case. +# Also the version of BISON will be checked by using the version contained +# in BISON_VERSION. +# Since no FAIL_MESSAGE is given, the default messages will be printed. +# +# Another example for mode 2: +# +# FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4) +# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE) +# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE) +# and adds an additional search directory for automoc4. +# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper +# success/error message. + +#============================================================================= +# Copyright 2007-2009 Kitware, Inc. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +INCLUDE(FindPackageMessage) +INCLUDE(CMakeParseArguments) + +# internal helper macro +MACRO(_FPHSA_FAILURE_MESSAGE _msg) + IF (${_NAME}_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "${_msg}") + ELSE (${_NAME}_FIND_REQUIRED) + IF (NOT ${_NAME}_FIND_QUIETLY) + MESSAGE(STATUS "${_msg}") + ENDIF (NOT ${_NAME}_FIND_QUIETLY) + ENDIF (${_NAME}_FIND_REQUIRED) +ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg) + + +# internal helper macro to generate the failure message when used in CONFIG_MODE: +MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE) + # _CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found: + IF(${_NAME}_CONFIG) + _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})") + ELSE(${_NAME}_CONFIG) + # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version. + # List them all in the error message: + IF(${_NAME}_CONSIDERED_CONFIGS) + SET(configsText "") + LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount) + MATH(EXPR configsCount "${configsCount} - 1") + FOREACH(currentConfigIndex RANGE ${configsCount}) + LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename) + LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version) + SET(configsText "${configsText} ${filename} (version ${version})\n") + ENDFOREACH(currentConfigIndex) + _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}") + + ELSE(${_NAME}_CONSIDERED_CONFIGS) + # Simple case: No Config-file was found at all: + _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}") + ENDIF(${_NAME}_CONSIDERED_CONFIGS) + ENDIF(${_NAME}_CONFIG) +ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE) + + +FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG) + +# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in +# new extended or in the "old" mode: + SET(options CONFIG_MODE) + SET(oneValueArgs FAIL_MESSAGE VERSION_VAR) + SET(multiValueArgs REQUIRED_VARS) + SET(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} ) + LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX) + + IF(${INDEX} EQUAL -1) + SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG}) + SET(FPHSA_REQUIRED_VARS ${ARGN}) + SET(FPHSA_VERSION_VAR) + ELSE(${INDEX} EQUAL -1) + + CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN}) + + IF(FPHSA_UNPARSED_ARGUMENTS) + MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"") + ENDIF(FPHSA_UNPARSED_ARGUMENTS) + + IF(NOT FPHSA_FAIL_MESSAGE) + SET(FPHSA_FAIL_MESSAGE "DEFAULT_MSG") + ENDIF(NOT FPHSA_FAIL_MESSAGE) + ENDIF(${INDEX} EQUAL -1) + +# now that we collected all arguments, process them + + IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG") + SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}") + ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG") + + # In config-mode, we rely on the variable _CONFIG, which is set by find_package() + # when it successfully found the config-file, including version checking: + IF(FPHSA_CONFIG_MODE) + LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG) + LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS) + SET(FPHSA_VERSION_VAR ${_NAME}_VERSION) + ENDIF(FPHSA_CONFIG_MODE) + + IF(NOT FPHSA_REQUIRED_VARS) + MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()") + ENDIF(NOT FPHSA_REQUIRED_VARS) + + LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR) + + STRING(TOUPPER ${_NAME} _NAME_UPPER) + STRING(TOLOWER ${_NAME} _NAME_LOWER) + + # collect all variables which were not found, so they can be printed, so the + # user knows better what went wrong (#6375) + SET(MISSING_VARS "") + SET(DETAILS "") + SET(${_NAME_UPPER}_FOUND TRUE) + # check if all passed variables are valid + FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS}) + IF(NOT ${_CURRENT_VAR}) + SET(${_NAME_UPPER}_FOUND FALSE) + SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}") + ELSE(NOT ${_CURRENT_VAR}) + SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]") + ENDIF(NOT ${_CURRENT_VAR}) + ENDFOREACH(_CURRENT_VAR) + + + # version handling: + SET(VERSION_MSG "") + SET(VERSION_OK TRUE) + SET(VERSION ${${FPHSA_VERSION_VAR}} ) + IF (${_NAME}_FIND_VERSION) + + IF(VERSION) + + IF(${_NAME}_FIND_VERSION_EXACT) # exact version required + IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") + SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"") + SET(VERSION_OK FALSE) + ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") + SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")") + ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}") + + ELSE(${_NAME}_FIND_VERSION_EXACT) # minimum version specified: + IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") + SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"") + SET(VERSION_OK FALSE) + ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") + SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")") + ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}") + ENDIF(${_NAME}_FIND_VERSION_EXACT) + + ELSE(VERSION) + + # if the package was not found, but a version was given, add that to the output: + IF(${_NAME}_FIND_VERSION_EXACT) + SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")") + ELSE(${_NAME}_FIND_VERSION_EXACT) + SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")") + ENDIF(${_NAME}_FIND_VERSION_EXACT) + + ENDIF(VERSION) + ELSE (${_NAME}_FIND_VERSION) + IF(VERSION) + SET(VERSION_MSG "(found version \"${VERSION}\")") + ENDIF(VERSION) + ENDIF (${_NAME}_FIND_VERSION) + + IF(VERSION_OK) + SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]") + ELSE(VERSION_OK) + SET(${_NAME_UPPER}_FOUND FALSE) + ENDIF(VERSION_OK) + + + # print the result: + IF (${_NAME_UPPER}_FOUND) + FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG}" "${DETAILS}") + ELSE (${_NAME_UPPER}_FOUND) + + IF(FPHSA_CONFIG_MODE) + _FPHSA_HANDLE_FAILURE_CONFIG_MODE() + ELSE(FPHSA_CONFIG_MODE) + IF(NOT VERSION_OK) + _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})") + ELSE(NOT VERSION_OK) + _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}") + ENDIF(NOT VERSION_OK) + ENDIF(FPHSA_CONFIG_MODE) + + ENDIF (${_NAME_UPPER}_FOUND) + + SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE) + +ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG) diff --git a/carl9170fw/extra/FindUSB-1.0.cmake b/carl9170fw/extra/FindUSB-1.0.cmake new file mode 100644 index 0000000..83df063 --- /dev/null +++ b/carl9170fw/extra/FindUSB-1.0.cmake @@ -0,0 +1,112 @@ +# - Try to find USB-1.0 +# Once done this will define +# +# USB-1.0_FOUND - system has USB-1.0 +# USB-1.0_INCLUDE_DIRS - the USB-1.0 include directory +# USB-1.0_LIBRARIES - Link these to use USB-1.0 +# USB-1.0_DEFINITIONS - Compiler switches required for using USB-1.0 +# +# Copyright (c) 2009 Andreas Schneider +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the 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 BY THE AUTHOR ``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. +# + + +if (USB-1.0_LIBRARIES AND USB-1.0_INCLUDE_DIRS) + # in cache already + set(USB-1.0_FOUND TRUE) +else (USB-1.0_LIBRARIES AND USB-1.0_INCLUDE_DIRS) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + include(UsePkgConfig) + pkgconfig(libusb-1.0 _USB-1.0_INCLUDEDIR _USB-1.0_LIBDIR _USB-1.0_LDFLAGS _USB-1.0_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_USB-1.0 libusb-1.0) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + + find_path(USB-1.0_INCLUDE_DIR + NAMES + libusb.h + PATHS + ${_USB-1.0_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + libusb-1.0 + ) + mark_as_advanced(USB-1.0_INCLUDE_DIR) + + find_library(USB-1.0_LIBRARY + NAMES + usb-1.0 + PATHS + ${_USB-1.0_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + mark_as_advanced(USB-1.0_LIBRARY) + + if (USB-1.0_LIBRARY) + set(USB-1.0_FOUND TRUE) + mark_as_advanced(USB-1.0_FOUND) + endif (USB-1.0_LIBRARY) + + set(USB-1.0_INCLUDE_DIRS + ${USB-1.0_INCLUDE_DIR} + ) + + if (USB-1.0_FOUND) + set(USB-1.0_LIBRARIES + ${USB-1.0_LIBRARIES} + ${USB-1.0_LIBRARY} + ) + endif (USB-1.0_FOUND) + + if (USB-1.0_INCLUDE_DIRS AND USB-1.0_LIBRARIES) + set(USB-1.0_FOUND TRUE) + endif (USB-1.0_INCLUDE_DIRS AND USB-1.0_LIBRARIES) + + if (USB-1.0_FOUND) + if (NOT USB-1.0_FIND_QUIETLY) + message(STATUS "Found USB-1.0: ${USB-1.0_LIBRARIES}") + endif (NOT USB-1.0_FIND_QUIETLY) + else (USB-1.0_FOUND) + if (USB-1.0_FIND_REQUIRED) + message(FATAL_ERROR "Could not find USB-1.0") + endif (USB-1.0_FIND_REQUIRED) + endif (USB-1.0_FOUND) + + # show the USB-1.0_INCLUDE_DIRS and USB-1.0_LIBRARIES variables only in the advanced view + mark_as_advanced(USB-1.0_INCLUDE_DIRS USB-1.0_LIBRARIES) + +endif (USB-1.0_LIBRARIES AND USB-1.0_INCLUDE_DIRS) + diff --git a/carl9170fw/extra/GCCVersion.cmake b/carl9170fw/extra/GCCVersion.cmake new file mode 100644 index 0000000..bb5fef3 --- /dev/null +++ b/carl9170fw/extra/GCCVersion.cmake @@ -0,0 +1,60 @@ +#============================================================================= +# Copyright 2006-2009 Kitware, Inc. +# Copyright 2006-2008 Andreas Schneider +# Copyright 2007 Wengo +# Copyright 2007 Mike Jackson +# Copyright 2008 Andreas Pakulat +# Copyright 2008-2009 Philip Lowman +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#------------------------------------------------------------------------------- + +# +# Runs compiler with "-dumpversion" and parses major/minor +# version with a regex. +# +FUNCTION(_COMPILER_DUMPVERSION _OUTPUT_VERSION) + + EXEC_PROGRAM(${CMAKE_C_COMPILER} + ARGS ${CMAKE_C_COMPILER_ARG1} -dumpversion + OUTPUT_VARIABLE _COMPILER_VERSION + ) + STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" + _COMPILER_VERSION ${_COMPILER_VERSION}) + + SET(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE) +ENDFUNCTION() + +# +# End functions/macros +# +#------------------------------------------------------------------------------- + + diff --git a/carl9170fw/extra/libusb-zeropacket.diff b/carl9170fw/extra/libusb-zeropacket.diff new file mode 100644 index 0000000..9aa73de --- /dev/null +++ b/carl9170fw/extra/libusb-zeropacket.diff @@ -0,0 +1,38 @@ +diff -Nurp libusb-1.0-1.0.2/libusb/libusb.h libusb-1.0-1.0.2-orig/libusb/libusb.h +--- libusb-1.0-1.0.2/libusb/libusb.h 2009-06-07 23:18:19.000000000 +0200 ++++ libusb-1.0-1.0.2-orig/libusb/libusb.h 2009-08-10 22:07:41.000000000 +0200 +@@ -673,6 +673,9 @@ enum libusb_transfer_flags { + * from your transfer callback, as this will result in a double-free + * when this flag is acted upon. */ + LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2, ++ ++ /** Send an extra termination packet, when needed */ ++ LIBUSB_TRANSFER_ZERO_PACKET = 1<<3, + }; + + /** \ingroup asyncio +diff -Nurp libusb-1.0-1.0.2/libusb/os/linux_usbfs.c libusb-1.0-1.0.2-orig/libusb/os/linux_usbfs.c +--- libusb-1.0-1.0.2/libusb/os/linux_usbfs.c 2009-06-10 22:41:26.000000000 +0200 ++++ libusb-1.0-1.0.2-orig/libusb/os/linux_usbfs.c 2009-08-10 22:10:14.000000000 +0200 +@@ -1298,6 +1298,8 @@ static int submit_bulk_transfer(struct u + urb->type = urb_type; + urb->endpoint = transfer->endpoint; + urb->buffer = transfer->buffer + (i * MAX_BULK_BUFFER_LENGTH); ++ if (transfer->flags & LIBUSB_TRANSFER_ZERO_PACKET) ++ urb->flags = USBFS_URB_ZERO_PACKET; + if (i == num_urbs - 1 && last_urb_partial) + urb->buffer_length = transfer->length % MAX_BULK_BUFFER_LENGTH; + else +diff -Nurp libusb-1.0-1.0.2/libusb/os/linux_usbfs.h libusb-1.0-1.0.2-orig/libusb/os/linux_usbfs.h +--- libusb-1.0-1.0.2/libusb/os/linux_usbfs.h 2008-07-16 16:17:57.000000000 +0200 ++++ libusb-1.0-1.0.2-orig/libusb/os/linux_usbfs.h 2009-08-10 22:13:15.000000000 +0200 +@@ -63,6 +63,9 @@ struct usbfs_getdriver { + #define USBFS_URB_DISABLE_SPD 1 + #define USBFS_URB_ISO_ASAP 2 + #define USBFS_URB_QUEUE_BULK 0x10 ++#define USBFS_URB_NO_FSBR 0x20 ++#define USBFS_URB_ZERO_PACKET 0x40 ++#define USBFS_URB_NO_INTERRUPT 0x80 + + enum usbfs_urb_type { + USBFS_URB_TYPE_ISO = 0, diff --git a/carl9170fw/extra/sh-elf-linux.cmake b/carl9170fw/extra/sh-elf-linux.cmake new file mode 100644 index 0000000..8be6d36 --- /dev/null +++ b/carl9170fw/extra/sh-elf-linux.cmake @@ -0,0 +1,21 @@ +set(CMAKE_SYSTEM_NAME "Generic") +set(CMAKE_SYSTEM_PROCESSOR "sh2") + +set_property(DIRECTORY PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE) + +set(CMAKE_FIND_ROOT_PATH ${CMAKE_SOURCE_DIR}/toolchain/inst/) + +set(CMAKE_C_FLAGS "-m2 -ml -Os -ffreestanding -nostartfiles") +set(CMAKE_C_LINK_FLAGS "-static -EL -x --gc-sections") + +set(OBJCOPY ${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-objcopy) +set(CMAKE_C_COMPILER "${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-gcc") +set(CMAKE_AR ${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-ar) +set(CMAKE_ASM_COMPILER ${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-as) +set(CMAKE_ASM-ATT_COMPILER ${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-as) +set(CMAKE_LINKER ${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-ld) +set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_SOURCE_DIR}/toolchain/inst/bin/sh-elf-ld -o ") + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/carl9170fw/genapi.sh b/carl9170fw/genapi.sh new file mode 100755 index 0000000..8912cc6 --- /dev/null +++ b/carl9170fw/genapi.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +cat < include/shared/version.h +#ifndef __CARL9170_SHARED_VERSION_H +#define __CARL9170_SHARED_VERSION_H +#define CARL9170FW_VERSION_YEAR $((100`date +%Y`%100)) +#define CARL9170FW_VERSION_MONTH $((100`date +%m`%100)) +#define CARL9170FW_VERSION_DAY $((100`date +%d`%100)) +#define CARL9170FW_VERSION_GIT "`git describe 2>/dev/null`" +#endif /* __CARL9170_SHARED_VERSION_H */ +EOF diff --git a/carl9170fw/include/linux/ch9.h b/carl9170fw/include/linux/ch9.h new file mode 100644 index 0000000..94e01bb --- /dev/null +++ b/carl9170fw/include/linux/ch9.h @@ -0,0 +1,803 @@ +/* + * This file holds USB constants and structures that are needed for + * USB device APIs. These are used by the USB device model, which is + * defined in chapter 9 of the USB 2.0 specification and in the + * Wireless USB 1.0 (spread around). Linux has several APIs in C that + * need these: + * + * - the master/host side Linux-USB kernel driver API; + * - the "usbfs" user space API; and + * - the Linux "gadget" slave/device/peripheral side driver API. + * + * USB 2.0 adds an additional "On The Go" (OTG) mode, which lets systems + * act either as a USB master/host or as a USB slave/device. That means + * the master and slave side APIs benefit from working well together. + * + * There's also "Wireless USB", using low power short range radios for + * peripheral interconnection but otherwise building on the USB framework. + * + * Note all descriptors are declared '__attribute__((packed))' so that: + * + * [a] they never get padded, either internally (USB spec writers + * probably handled that) or externally; + * + * [b] so that accessing bigger-than-a-bytes fields will never + * generate bus errors on any platform, even when the location of + * its descriptor inside a bundle isn't "naturally aligned", and + * + * [c] for consistency, removing all doubt even when it appears to + * someone that the two other points are non-issues for that + * particular descriptor type. + */ + +#ifndef __LINUX_USB_CH9_H +#define __LINUX_USB_CH9_H + +#include /* __u8 etc */ + +/*-------------------------------------------------------------------------*/ + +/* CONTROL REQUEST SUPPORT */ + +/* + * USB directions + * + * This bit flag is used in endpoint descriptors' bEndpointAddress field. + * It's also one of three fields in control requests bRequestType. + */ +#define USB_DIR_MASK 0x80 +#define USB_DIR_OUT 0 /* to device */ +#define USB_DIR_IN 0x80 /* to host */ + +/* + * USB types, the second of three bRequestType fields + */ +#define USB_TYPE_MASK (0x03 << 5) +#define USB_TYPE_STANDARD (0x00 << 5) +#define USB_TYPE_CLASS (0x01 << 5) +#define USB_TYPE_VENDOR (0x02 << 5) +#define USB_TYPE_RESERVED (0x03 << 5) + +/* + * USB recipients, the third of three bRequestType fields + */ +#define USB_RECIP_MASK 0x1f +#define USB_RECIP_DEVICE 0x00 +#define USB_RECIP_INTERFACE 0x01 +#define USB_RECIP_ENDPOINT 0x02 +#define USB_RECIP_OTHER 0x03 +/* From Wireless USB 1.0 */ +#define USB_RECIP_PORT 0x04 +#define USB_RECIP_RPIPE 0x05 + +/* + * Standard requests, for the bRequest field of a SETUP packet. + * + * These are qualified by the bRequestType field, so that for example + * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved + * by a GET_STATUS request. + */ +#define USB_REQ_GET_STATUS 0x00 +#define USB_REQ_CLEAR_FEATURE 0x01 +#define USB_REQ_SET_FEATURE 0x03 +#define USB_REQ_SET_ADDRESS 0x05 +#define USB_REQ_GET_DESCRIPTOR 0x06 +#define USB_REQ_SET_DESCRIPTOR 0x07 +#define USB_REQ_GET_CONFIGURATION 0x08 +#define USB_REQ_SET_CONFIGURATION 0x09 +#define USB_REQ_GET_INTERFACE 0x0A +#define USB_REQ_SET_INTERFACE 0x0B +#define USB_REQ_SYNCH_FRAME 0x0C + +#define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */ +#define USB_REQ_GET_ENCRYPTION 0x0E +#define USB_REQ_RPIPE_ABORT 0x0E +#define USB_REQ_SET_HANDSHAKE 0x0F +#define USB_REQ_RPIPE_RESET 0x0F +#define USB_REQ_GET_HANDSHAKE 0x10 +#define USB_REQ_SET_CONNECTION 0x11 +#define USB_REQ_SET_SECURITY_DATA 0x12 +#define USB_REQ_GET_SECURITY_DATA 0x13 +#define USB_REQ_SET_WUSB_DATA 0x14 +#define USB_REQ_LOOPBACK_DATA_WRITE 0x15 +#define USB_REQ_LOOPBACK_DATA_READ 0x16 +#define USB_REQ_SET_INTERFACE_DS 0x17 + +/* The Link Power Management (LPM) ECN defines USB_REQ_TEST_AND_SET command, + * used by hubs to put ports into a new L1 suspend state, except that it + * forgot to define its number ... + */ + +/* + * USB feature flags are written using USB_REQ_{CLEAR,SET}_FEATURE, and + * are read as a bit array returned by USB_REQ_GET_STATUS. (So there + * are at most sixteen features of each type.) Hubs may also support a + * new USB_REQ_TEST_AND_SET_FEATURE to put ports into L1 suspend. + */ +#define USB_DEVICE_SELF_POWERED 0 /* (read only) */ +#define USB_DEVICE_REMOTE_WAKEUP 1 /* dev may initiate wakeup */ +#define USB_DEVICE_TEST_MODE 2 /* (wired high speed only) */ +#define USB_DEVICE_BATTERY 2 /* (wireless) */ +#define USB_DEVICE_B_HNP_ENABLE 3 /* (otg) dev may initiate HNP */ +#define USB_DEVICE_WUSB_DEVICE 3 /* (wireless)*/ +#define USB_DEVICE_A_HNP_SUPPORT 4 /* (otg) RH port supports HNP */ +#define USB_DEVICE_A_ALT_HNP_SUPPORT 5 /* (otg) other RH port does */ +#define USB_DEVICE_DEBUG_MODE 6 /* (special devices only) */ + +#define USB_ENDPOINT_HALT 0 /* IN/OUT will STALL */ + + +/** + * struct usb_ctrlrequest - SETUP data for a USB device control request + * @bRequestType: matches the USB bmRequestType field + * @bRequest: matches the USB bRequest field + * @wValue: matches the USB wValue field (le16 byte order) + * @wIndex: matches the USB wIndex field (le16 byte order) + * @wLength: matches the USB wLength field (le16 byte order) + * + * This structure is used to send control requests to a USB device. It matches + * the different fields of the USB 2.0 Spec section 9.3, table 9-2. See the + * USB spec for a fuller description of the different fields, and what they are + * used for. + * + * Note that the driver for any interface can issue control requests. + * For most devices, interfaces don't coordinate with each other, so + * such requests may be made at any time. + */ +struct usb_ctrlrequest { + __u8 bRequestType; + __u8 bRequest; + __le16 wValue; + __le16 wIndex; + __le16 wLength; +} __attribute__ ((packed)); + +/*-------------------------------------------------------------------------*/ + +/* + * STANDARD DESCRIPTORS ... as returned by GET_DESCRIPTOR, or + * (rarely) accepted by SET_DESCRIPTOR. + * + * Note that all multi-byte values here are encoded in little endian + * byte order "on the wire". Within the kernel and when exposed + * through the Linux-USB APIs, they are not converted to cpu byte + * order; it is the responsibility of the client code to do this. + * The single exception is when device and configuration descriptors (but + * not other descriptors) are read from usbfs (i.e. /proc/bus/usb/BBB/DDD); + * in this case the fields are converted to host endianness by the kernel. + */ + +/* + * Descriptor types ... USB 2.0 spec table 9.5 + */ +#define USB_DT_DEVICE 0x01 +#define USB_DT_CONFIG 0x02 +#define USB_DT_STRING 0x03 +#define USB_DT_INTERFACE 0x04 +#define USB_DT_ENDPOINT 0x05 +#define USB_DT_DEVICE_QUALIFIER 0x06 +#define USB_DT_OTHER_SPEED_CONFIG 0x07 +#define USB_DT_INTERFACE_POWER 0x08 +/* these are from a minor usb 2.0 revision (ECN) */ +#define USB_DT_OTG 0x09 +#define USB_DT_DEBUG 0x0a +#define USB_DT_INTERFACE_ASSOCIATION 0x0b +/* these are from the Wireless USB spec */ +#define USB_DT_SECURITY 0x0c +#define USB_DT_KEY 0x0d +#define USB_DT_ENCRYPTION_TYPE 0x0e +#define USB_DT_BOS 0x0f +#define USB_DT_DEVICE_CAPABILITY 0x10 +#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11 +#define USB_DT_WIRE_ADAPTER 0x21 +#define USB_DT_RPIPE 0x22 +#define USB_DT_CS_RADIO_CONTROL 0x23 +/* From the USB 3.0 spec */ +#define USB_DT_SS_ENDPOINT_COMP 0x30 + +/* Conventional codes for class-specific descriptors. The convention is + * defined in the USB "Common Class" Spec (3.11). Individual class specs + * are authoritative for their usage, not the "common class" writeup. + */ +#define USB_DT_CS_DEVICE (USB_TYPE_CLASS | USB_DT_DEVICE) +#define USB_DT_CS_CONFIG (USB_TYPE_CLASS | USB_DT_CONFIG) +#define USB_DT_CS_STRING (USB_TYPE_CLASS | USB_DT_STRING) +#define USB_DT_CS_INTERFACE (USB_TYPE_CLASS | USB_DT_INTERFACE) +#define USB_DT_CS_ENDPOINT (USB_TYPE_CLASS | USB_DT_ENDPOINT) + +/* All standard descriptors have these 2 fields at the beginning */ +struct usb_descriptor_header { + __u8 bLength; + __u8 bDescriptorType; +} __attribute__ ((packed)); + + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_DEVICE: Device descriptor */ +struct usb_device_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __le16 idVendor; + __le16 idProduct; + __le16 bcdDevice; + __u8 iManufacturer; + __u8 iProduct; + __u8 iSerialNumber; + __u8 bNumConfigurations; +} __attribute__ ((packed)); + +#define USB_DT_DEVICE_SIZE 18 + + +/* + * Device and/or Interface Class codes + * as found in bDeviceClass or bInterfaceClass + * and defined by www.usb.org documents + */ +#define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */ +#define USB_CLASS_AUDIO 1 +#define USB_CLASS_COMM 2 +#define USB_CLASS_HID 3 +#define USB_CLASS_PHYSICAL 5 +#define USB_CLASS_STILL_IMAGE 6 +#define USB_CLASS_PRINTER 7 +#define USB_CLASS_MASS_STORAGE 8 +#define USB_CLASS_HUB 9 +#define USB_CLASS_CDC_DATA 0x0a +#define USB_CLASS_CSCID 0x0b /* chip+ smart card */ +#define USB_CLASS_CONTENT_SEC 0x0d /* content security */ +#define USB_CLASS_VIDEO 0x0e +#define USB_CLASS_WIRELESS_CONTROLLER 0xe0 +#define USB_CLASS_MISC 0xef +#define USB_CLASS_APP_SPEC 0xfe +#define USB_CLASS_VENDOR_SPEC 0xff + +#define USB_SUBCLASS_VENDOR_SPEC 0xff + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_CONFIG: Configuration descriptor information. + * + * USB_DT_OTHER_SPEED_CONFIG is the same descriptor, except that the + * descriptor type is different. Highspeed-capable devices can look + * different depending on what speed they're currently running. Only + * devices with a USB_DT_DEVICE_QUALIFIER have any OTHER_SPEED_CONFIG + * descriptors. + */ +struct usb_config_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 wTotalLength; + __u8 bNumInterfaces; + __u8 bConfigurationValue; + __u8 iConfiguration; + __u8 bmAttributes; + __u8 bMaxPower; +} __attribute__ ((packed)); + +#define USB_DT_CONFIG_SIZE 9 + +/* from config descriptor bmAttributes */ +#define USB_CONFIG_ATT_ONE (1 << 7) /* must be set */ +#define USB_CONFIG_ATT_SELFPOWER (1 << 6) /* self powered */ +#define USB_CONFIG_ATT_WAKEUP (1 << 5) /* can wakeup */ +#define USB_CONFIG_ATT_BATTERY (1 << 4) /* battery powered */ + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_STRING: String descriptor */ +struct usb_string_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 wData[1]; /* UTF-16LE encoded */ +} __attribute__ ((packed)); + +/* note that "string" zero is special, it holds language codes that + * the device supports, not Unicode characters. + */ + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_INTERFACE: Interface descriptor */ +struct usb_interface_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bInterfaceNumber; + __u8 bAlternateSetting; + __u8 bNumEndpoints; + __u8 bInterfaceClass; + __u8 bInterfaceSubClass; + __u8 bInterfaceProtocol; + __u8 iInterface; +} __attribute__ ((packed)); + +#define USB_DT_INTERFACE_SIZE 9 + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_ENDPOINT: Endpoint descriptor */ +struct usb_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bEndpointAddress; + __u8 bmAttributes; + __le16 wMaxPacketSize; + __u8 bInterval; +} __attribute__ ((packed)); + +#define USB_DT_ENDPOINT_SIZE 7 +#define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ + + +/* + * Endpoints + */ +#define USB_ENDPOINT_NUMBER_MASK 0x0f /* in bEndpointAddress */ +#define USB_ENDPOINT_DIR_MASK 0x80 + +#define USB_ENDPOINT_SYNCTYPE 0x0c +#define USB_ENDPOINT_SYNC_NONE (0 << 2) +#define USB_ENDPOINT_SYNC_ASYNC (1 << 2) +#define USB_ENDPOINT_SYNC_ADAPTIVE (2 << 2) +#define USB_ENDPOINT_SYNC_SYNC (3 << 2) + +#define USB_ENDPOINT_XFERTYPE_MASK 0x03 /* in bmAttributes */ +#define USB_ENDPOINT_XFER_CONTROL 0 +#define USB_ENDPOINT_XFER_ISOC 1 +#define USB_ENDPOINT_XFER_BULK 2 +#define USB_ENDPOINT_XFER_INT 3 +#define USB_ENDPOINT_MAX_ADJUSTABLE 0x80 + +/*-------------------------------------------------------------------------*/ + +/** + * usb_endpoint_num - get the endpoint's number + * @epd: endpoint to be checked + * + * Returns @epd's number: 0 to 15. + */ +static inline int usb_endpoint_num(const struct usb_endpoint_descriptor *epd) +{ + return epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; +} + +/** + * usb_endpoint_type - get the endpoint's transfer type + * @epd: endpoint to be checked + * + * Returns one of USB_ENDPOINT_XFER_{CONTROL, ISOC, BULK, INT} according + * to @epd's transfer type. + */ +static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd) +{ + return epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; +} + +/** + * usb_endpoint_dir_in - check if the endpoint has IN direction + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type IN, otherwise it returns false. + */ +static inline int usb_endpoint_dir_in(const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN); +} + +/** + * usb_endpoint_dir_out - check if the endpoint has OUT direction + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type OUT, otherwise it returns false. + */ +static inline int usb_endpoint_dir_out( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT); +} + +/** + * usb_endpoint_xfer_bulk - check if the endpoint has bulk transfer type + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type bulk, otherwise it returns false. + */ +static inline int usb_endpoint_xfer_bulk( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_BULK); +} + +/** + * usb_endpoint_xfer_control - check if the endpoint has control transfer type + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type control, otherwise it returns false. + */ +static inline int usb_endpoint_xfer_control( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_CONTROL); +} + +/** + * usb_endpoint_xfer_int - check if the endpoint has interrupt transfer type + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type interrupt, otherwise it returns + * false. + */ +static inline int usb_endpoint_xfer_int( + const struct usb_endpoint_descriptor *epd) +{ + return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_INT); +} + +/** + * usb_endpoint_xfer_isoc - check if the endpoint has isochronous transfer type + * @epd: endpoint to be checked + * + * Returns true if the endpoint is of type isochronous, otherwise it returns + * false. + */ +static inline int usb_endpoint_xfer_isoc( + const struct usb_endpoint_descriptor *epd) +{ + return (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_ISOC; +} + +/** + * usb_endpoint_is_bulk_in - check if the endpoint is bulk IN + * @epd: endpoint to be checked + * + * Returns true if the endpoint has bulk transfer type and IN direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_bulk_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd); +} + +/** + * usb_endpoint_is_bulk_out - check if the endpoint is bulk OUT + * @epd: endpoint to be checked + * + * Returns true if the endpoint has bulk transfer type and OUT direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_bulk_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd); +} + +/** + * usb_endpoint_is_int_in - check if the endpoint is interrupt IN + * @epd: endpoint to be checked + * + * Returns true if the endpoint has interrupt transfer type and IN direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_int_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd); +} + +/** + * usb_endpoint_is_int_out - check if the endpoint is interrupt OUT + * @epd: endpoint to be checked + * + * Returns true if the endpoint has interrupt transfer type and OUT direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_int_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_out(epd); +} + +/** + * usb_endpoint_is_isoc_in - check if the endpoint is isochronous IN + * @epd: endpoint to be checked + * + * Returns true if the endpoint has isochronous transfer type and IN direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_isoc_in( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_in(epd); +} + +/** + * usb_endpoint_is_isoc_out - check if the endpoint is isochronous OUT + * @epd: endpoint to be checked + * + * Returns true if the endpoint has isochronous transfer type and OUT direction, + * otherwise it returns false. + */ +static inline int usb_endpoint_is_isoc_out( + const struct usb_endpoint_descriptor *epd) +{ + return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_out(epd); +} + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_SS_ENDPOINT_COMP: SuperSpeed Endpoint Companion descriptor */ +struct usb_ss_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bMaxBurst; + __u8 bmAttributes; + __le16 wBytesPerInterval; +} __attribute__ ((packed)); + +#define USB_DT_SS_EP_COMP_SIZE 6 + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_DEVICE_QUALIFIER: Device Qualifier descriptor */ +struct usb_qualifier_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __u8 bNumConfigurations; + __u8 bRESERVED; +} __attribute__ ((packed)); + + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_OTG (from OTG 1.0a supplement) */ +struct usb_otg_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bmAttributes; /* support for HNP, SRP, etc */ +} __attribute__ ((packed)); + +/* from usb_otg_descriptor.bmAttributes */ +#define USB_OTG_SRP (1 << 0) +#define USB_OTG_HNP (1 << 1) /* swap host/device roles */ + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_DEBUG: for special highspeed devices, replacing serial console */ +struct usb_debug_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + /* bulk endpoints with 8 byte maxpacket */ + __u8 bDebugInEndpoint; + __u8 bDebugOutEndpoint; +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_INTERFACE_ASSOCIATION: groups interfaces */ +struct usb_interface_assoc_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bFirstInterface; + __u8 bInterfaceCount; + __u8 bFunctionClass; + __u8 bFunctionSubClass; + __u8 bFunctionProtocol; + __u8 iFunction; +} __attribute__ ((packed)); + + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_SECURITY: group of wireless security descriptors, including + * encryption types available for setting up a CC/association. + */ +struct usb_security_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 wTotalLength; + __u8 bNumEncryptionTypes; +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_KEY: used with {GET,SET}_SECURITY_DATA; only public keys + * may be retrieved. + */ +struct usb_key_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 tTKID[3]; + __u8 bReserved; + __u8 bKeyData[0]; +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_ENCRYPTION_TYPE: bundled in DT_SECURITY groups */ +struct usb_encryption_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bEncryptionType; +#define USB_ENC_TYPE_UNSECURE 0 +#define USB_ENC_TYPE_WIRED 1 /* non-wireless mode */ +#define USB_ENC_TYPE_CCM_1 2 /* aes128/cbc session */ +#define USB_ENC_TYPE_RSA_1 3 /* rsa3072/sha1 auth */ + __u8 bEncryptionValue; /* use in SET_ENCRYPTION */ + __u8 bAuthKeyIndex; +} __attribute__((packed)); + + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_BOS: group of device-level capabilities */ +struct usb_bos_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __le16 wTotalLength; + __u8 bNumDeviceCaps; +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_DEVICE_CAPABILITY: grouped with BOS */ +struct usb_dev_cap_header { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; +} __attribute__((packed)); + +#define USB_CAP_TYPE_WIRELESS_USB 1 + +struct usb_wireless_cap_descriptor { /* Ultra Wide Band */ + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + + __u8 bmAttributes; +#define USB_WIRELESS_P2P_DRD (1 << 1) +#define USB_WIRELESS_BEACON_MASK (3 << 2) +#define USB_WIRELESS_BEACON_SELF (1 << 2) +#define USB_WIRELESS_BEACON_DIRECTED (2 << 2) +#define USB_WIRELESS_BEACON_NONE (3 << 2) + __le16 wPHYRates; /* bit rates, Mbps */ +#define USB_WIRELESS_PHY_53 (1 << 0) /* always set */ +#define USB_WIRELESS_PHY_80 (1 << 1) +#define USB_WIRELESS_PHY_107 (1 << 2) /* always set */ +#define USB_WIRELESS_PHY_160 (1 << 3) +#define USB_WIRELESS_PHY_200 (1 << 4) /* always set */ +#define USB_WIRELESS_PHY_320 (1 << 5) +#define USB_WIRELESS_PHY_400 (1 << 6) +#define USB_WIRELESS_PHY_480 (1 << 7) + __u8 bmTFITXPowerInfo; /* TFI power levels */ + __u8 bmFFITXPowerInfo; /* FFI power levels */ + __le16 bmBandGroup; + __u8 bReserved; +} __attribute__((packed)); + +#define USB_CAP_TYPE_EXT 2 + +struct usb_ext_cap_descriptor { /* Link Power Management */ + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bmAttributes; +#define USB_LPM_SUPPORT (1 << 1) /* supports LPM */ +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_DT_WIRELESS_ENDPOINT_COMP: companion descriptor associated with + * each endpoint descriptor for a wireless device + */ +struct usb_wireless_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + __u8 bMaxBurst; + __u8 bMaxSequence; + __le16 wMaxStreamDelay; + __le16 wOverTheAirPacketSize; + __u8 bOverTheAirInterval; + __u8 bmCompAttributes; +#define USB_ENDPOINT_SWITCH_MASK 0x03 /* in bmCompAttributes */ +#define USB_ENDPOINT_SWITCH_NO 0 +#define USB_ENDPOINT_SWITCH_SWITCH 1 +#define USB_ENDPOINT_SWITCH_SCALE 2 +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_REQ_SET_HANDSHAKE is a four-way handshake used between a wireless + * host and a device for connection set up, mutual authentication, and + * exchanging short lived session keys. The handshake depends on a CC. + */ +struct usb_handshake { + __u8 bMessageNumber; + __u8 bStatus; + __u8 tTKID[3]; + __u8 bReserved; + __u8 CDID[16]; + __u8 nonce[16]; + __u8 MIC[8]; +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB_REQ_SET_CONNECTION modifies or revokes a connection context (CC). + * A CC may also be set up using non-wireless secure channels (including + * wired USB!), and some devices may support CCs with multiple hosts. + */ +struct usb_connection_context { + __u8 CHID[16]; /* persistent host id */ + __u8 CDID[16]; /* device id (unique w/in host context) */ + __u8 CK[16]; /* connection key */ +} __attribute__((packed)); + +/*-------------------------------------------------------------------------*/ + +/* USB 2.0 defines three speeds, here's how Linux identifies them */ + +enum usb_device_speed { + USB_SPEED_UNKNOWN = 0, /* enumerating */ + USB_SPEED_LOW, USB_SPEED_FULL, /* usb 1.1 */ + USB_SPEED_HIGH, /* usb 2.0 */ + USB_SPEED_WIRELESS, /* wireless (usb 2.5) */ + USB_SPEED_SUPER, /* usb 3.0 */ +}; + +enum usb_device_state { + /* NOTATTACHED isn't in the USB spec, and this state acts + * the same as ATTACHED ... but it's clearer this way. + */ + USB_STATE_NOTATTACHED = 0, + + /* chapter 9 and authentication (wireless) device states */ + USB_STATE_ATTACHED, + USB_STATE_POWERED, /* wired */ + USB_STATE_RECONNECTING, /* auth */ + USB_STATE_UNAUTHENTICATED, /* auth */ + USB_STATE_DEFAULT, /* limited function */ + USB_STATE_ADDRESS, + USB_STATE_CONFIGURED, /* most functions */ + + USB_STATE_SUSPENDED + + /* NOTE: there are actually four different SUSPENDED + * states, returning to POWERED, DEFAULT, ADDRESS, or + * CONFIGURED respectively when SOF tokens flow again. + * At this level there's no difference between L1 and L2 + * suspend states. (L2 being original USB 1.1 suspend.) + */ +}; + +#endif /* __LINUX_USB_CH9_H */ diff --git a/carl9170fw/include/linux/compiler.h b/carl9170fw/include/linux/compiler.h new file mode 100644 index 0000000..d331f3c --- /dev/null +++ b/carl9170fw/include/linux/compiler.h @@ -0,0 +1,107 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __SHARED_COMPILER_H +#define __SHARED_COMPILER_H + +#define __noinline __attribute__((noinline)) +#define __noreturn __attribute__((noreturn)) +#define __inline __attribute__((always_inline)) +#define __hot __attribute__((hot)) +#define __cold __attribute__((cold)) +#define __unused __attribute__((unused)) +#define __force __attribute__((force)) +#define __section(s) __attribute__((section("." # s))) +#define __aligned(a) __attribute__((aligned(a))) +#define __packed __attribute__((packed)) + +#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) +#define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) + +#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a) - 1) +#define __ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask)) + +#define __roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) + +#define __must_be_array(a) \ + BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0]))) +#define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0]) + __must_be_array(arr)) + +#define BIT(b) (1 << (b)) +#define MASK(w) (BIT(w) - 1) + +#undef offsetof +#ifdef __compiler_offsetof +# define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) +#else +# define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#endif + +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) + +#define min(x, y) ({ \ + typeof(x) _min1 = (x); \ + typeof(y) _min2 = (y); \ + (void) (&_min1 == &_min2); \ + _min1 < _min2 ? _min1 : _min2; }) + +#define max(x, y) ({ \ + typeof(x) _max1 = (x); \ + typeof(y) _max2 = (y); \ + (void) (&_max1 == &_max2); \ + _max1 > _max2 ? _max1 : _max2; }) + +#define min_t(type, x, y) ({ \ + type __min1 = (x); \ + type __min2 = (y); \ + __min1 < __min2 ? __min1 : __min2; }) + +#define max_t(type, x, y) ({ \ + type __max1 = (x); \ + type __max2 = (y); \ + __max1 > __max2 ? __max1 : __max2; }) + + +#define container_of(ptr, type, member) ({ \ + const typeof(((type *)0)->member) * __mptr = (ptr); \ + (type *)(((unsigned long)__mptr - offsetof(type, member))); }) + +#define MAX_ERRNO 4095 + +#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO) + +static inline void *ERR_PTR(long errornr) +{ + return (void *) errornr; +} + +static inline long PTR_ERR(const void *ptr) +{ + return (long) ptr; +} + +static inline long IS_ERR(const void *ptr) +{ + return IS_ERR_VALUE((unsigned long)ptr); +} + +static inline long IS_ERR_OR_NULL(const void *ptr) +{ + return !ptr || IS_ERR_VALUE((unsigned long)ptr); +} + +#endif /* __SHARED_COMPILER_H */ diff --git a/carl9170fw/include/linux/ieee80211.h b/carl9170fw/include/linux/ieee80211.h new file mode 100644 index 0000000..e4448ca --- /dev/null +++ b/carl9170fw/include/linux/ieee80211.h @@ -0,0 +1,1918 @@ +/* + * IEEE 802.11 defines + * + * Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen + * + * Copyright (c) 2002-2003, Jouni Malinen + * Copyright (c) 2005, Devicescape Software, Inc. + * Copyright (c) 2006, Michael Wu + * + * 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. + */ + +#ifndef __LINUX_IEEE80211_H +#define __LINUX_IEEE80211_H + +/* + * DS bit usage + * + * TA = transmitter address + * RA = receiver address + * DA = destination address + * SA = source address + * + * ToDS FromDS A1(RA) A2(TA) A3 A4 Use + * ----------------------------------------------------------------- + * 0 0 DA SA BSSID - IBSS/DLS + * 0 1 DA BSSID SA - AP -> STA + * 1 0 BSSID SA DA - AP <- STA + * 1 1 RA TA DA SA unspecified (WDS) + */ + +#define FCS_LEN 4 + +#define IEEE80211_FCTL_VERS 0x0003 +#define IEEE80211_FCTL_FTYPE 0x000c +#define IEEE80211_FCTL_STYPE 0x00f0 +#define IEEE80211_FCTL_TODS 0x0100 +#define IEEE80211_FCTL_FROMDS 0x0200 +#define IEEE80211_FCTL_MOREFRAGS 0x0400 +#define IEEE80211_FCTL_RETRY 0x0800 +#define IEEE80211_FCTL_PM 0x1000 +#define IEEE80211_FCTL_MOREDATA 0x2000 +#define IEEE80211_FCTL_PROTECTED 0x4000 +#define IEEE80211_FCTL_ORDER 0x8000 + +#define IEEE80211_SCTL_FRAG 0x000F +#define IEEE80211_SCTL_SEQ 0xFFF0 + +#define IEEE80211_FTYPE_MGMT 0x0000 +#define IEEE80211_FTYPE_CTL 0x0004 +#define IEEE80211_FTYPE_DATA 0x0008 + +/* management */ +#define IEEE80211_STYPE_ASSOC_REQ 0x0000 +#define IEEE80211_STYPE_ASSOC_RESP 0x0010 +#define IEEE80211_STYPE_REASSOC_REQ 0x0020 +#define IEEE80211_STYPE_REASSOC_RESP 0x0030 +#define IEEE80211_STYPE_PROBE_REQ 0x0040 +#define IEEE80211_STYPE_PROBE_RESP 0x0050 +#define IEEE80211_STYPE_BEACON 0x0080 +#define IEEE80211_STYPE_ATIM 0x0090 +#define IEEE80211_STYPE_DISASSOC 0x00A0 +#define IEEE80211_STYPE_AUTH 0x00B0 +#define IEEE80211_STYPE_DEAUTH 0x00C0 +#define IEEE80211_STYPE_ACTION 0x00D0 + +/* control */ +#define IEEE80211_STYPE_BACK_REQ 0x0080 +#define IEEE80211_STYPE_BACK 0x0090 +#define IEEE80211_STYPE_PSPOLL 0x00A0 +#define IEEE80211_STYPE_RTS 0x00B0 +#define IEEE80211_STYPE_CTS 0x00C0 +#define IEEE80211_STYPE_ACK 0x00D0 +#define IEEE80211_STYPE_CFEND 0x00E0 +#define IEEE80211_STYPE_CFENDACK 0x00F0 + +/* data */ +#define IEEE80211_STYPE_DATA 0x0000 +#define IEEE80211_STYPE_DATA_CFACK 0x0010 +#define IEEE80211_STYPE_DATA_CFPOLL 0x0020 +#define IEEE80211_STYPE_DATA_CFACKPOLL 0x0030 +#define IEEE80211_STYPE_NULLFUNC 0x0040 +#define IEEE80211_STYPE_CFACK 0x0050 +#define IEEE80211_STYPE_CFPOLL 0x0060 +#define IEEE80211_STYPE_CFACKPOLL 0x0070 +#define IEEE80211_STYPE_QOS_DATA 0x0080 +#define IEEE80211_STYPE_QOS_DATA_CFACK 0x0090 +#define IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0 +#define IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0 +#define IEEE80211_STYPE_QOS_NULLFUNC 0x00C0 +#define IEEE80211_STYPE_QOS_CFACK 0x00D0 +#define IEEE80211_STYPE_QOS_CFPOLL 0x00E0 +#define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0 + + +/* miscellaneous IEEE 802.11 constants */ +#define IEEE80211_MAX_FRAG_THRESHOLD 2352 +#define IEEE80211_MAX_RTS_THRESHOLD 2353 +#define IEEE80211_MAX_AID 2007 +#define IEEE80211_MAX_TIM_LEN 251 +/* Maximum size for the MA-UNITDATA primitive, 802.11 standard section + 6.2.1.1.2. + + 802.11e clarifies the figure in section 7.1.2. The frame body is + up to 2304 octets long (maximum MSDU size) plus any crypt overhead. */ +#define IEEE80211_MAX_DATA_LEN 2304 +/* 30 byte 4 addr hdr, 2 byte QoS, 2304 byte MSDU, 12 byte crypt, 4 byte FCS */ +#define IEEE80211_MAX_FRAME_LEN 2352 + +#define IEEE80211_MAX_SSID_LEN 32 + +#define IEEE80211_MAX_MESH_ID_LEN 32 + +#define IEEE80211_QOS_CTL_LEN 2 +/* 1d tag mask */ +#define IEEE80211_QOS_CTL_TAG1D_MASK 0x0007 +/* TID mask */ +#define IEEE80211_QOS_CTL_TID_MASK 0x000f +/* EOSP */ +#define IEEE80211_QOS_CTL_EOSP 0x0010 +/* ACK policy */ +#define IEEE80211_QOS_CTL_ACK_POLICY_NORMAL 0x0000 +#define IEEE80211_QOS_CTL_ACK_POLICY_NOACK 0x0020 +#define IEEE80211_QOS_CTL_ACK_POLICY_NO_EXPL 0x0040 +#define IEEE80211_QOS_CTL_ACK_POLICY_BLOCKACK 0x0060 +#define IEEE80211_QOS_CTL_ACK_POLICY_MASK 0x0060 +/* A-MSDU 802.11n */ +#define IEEE80211_QOS_CTL_A_MSDU_PRESENT 0x0080 +/* Mesh Control 802.11s */ +#define IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT 0x0100 + +/* U-APSD queue for WMM IEs sent by AP */ +#define IEEE80211_WMM_IE_AP_QOSINFO_UAPSD (1<<7) +#define IEEE80211_WMM_IE_AP_QOSINFO_PARAM_SET_CNT_MASK 0x0f + +/* U-APSD queues for WMM IEs sent by STA */ +#define IEEE80211_WMM_IE_STA_QOSINFO_AC_VO (1<<0) +#define IEEE80211_WMM_IE_STA_QOSINFO_AC_VI (1<<1) +#define IEEE80211_WMM_IE_STA_QOSINFO_AC_BK (1<<2) +#define IEEE80211_WMM_IE_STA_QOSINFO_AC_BE (1<<3) +#define IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK 0x0f + +/* U-APSD max SP length for WMM IEs sent by STA */ +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL 0x00 +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_2 0x01 +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_4 0x02 +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_6 0x03 +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK 0x03 +#define IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT 5 + +#define IEEE80211_HT_CTL_LEN 4 + +struct ieee80211_hdr { + __le16 frame_control; + __le16 duration_id; + u8 addr1[6]; + u8 addr2[6]; + u8 addr3[6]; + __le16 seq_ctrl; + u8 addr4[6]; +} __attribute__ ((packed)); + +struct ieee80211_hdr_3addr { + __le16 frame_control; + __le16 duration_id; + u8 addr1[6]; + u8 addr2[6]; + u8 addr3[6]; + __le16 seq_ctrl; +} __attribute__ ((packed)); + +struct ieee80211_qos_hdr { + __le16 frame_control; + __le16 duration_id; + u8 addr1[6]; + u8 addr2[6]; + u8 addr3[6]; + __le16 seq_ctrl; + __le16 qos_ctrl; +} __attribute__ ((packed)); + +/** + * ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_tods(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_TODS)) != 0; +} + +/** + * ieee80211_has_fromds - check if IEEE80211_FCTL_FROMDS is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_fromds(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FROMDS)) != 0; +} + +/** + * ieee80211_has_a4 - check if IEEE80211_FCTL_TODS and IEEE80211_FCTL_FROMDS are set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_a4(__le16 fc) +{ + __le16 tmp = cpu_to_le16(IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS); + return (fc & tmp) == tmp; +} + +/** + * ieee80211_has_morefrags - check if IEEE80211_FCTL_MOREFRAGS is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_morefrags(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_MOREFRAGS)) != 0; +} + +/** + * ieee80211_has_retry - check if IEEE80211_FCTL_RETRY is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_retry(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_RETRY)) != 0; +} + +/** + * ieee80211_has_pm - check if IEEE80211_FCTL_PM is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_pm(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_PM)) != 0; +} + +/** + * ieee80211_has_moredata - check if IEEE80211_FCTL_MOREDATA is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_moredata(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_MOREDATA)) != 0; +} + +/** + * ieee80211_has_protected - check if IEEE80211_FCTL_PROTECTED is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_protected(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_PROTECTED)) != 0; +} + +/** + * ieee80211_has_order - check if IEEE80211_FCTL_ORDER is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_has_order(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_ORDER)) != 0; +} + +/** + * ieee80211_is_mgmt - check if type is IEEE80211_FTYPE_MGMT + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_mgmt(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT); +} + +/** + * ieee80211_is_ctl - check if type is IEEE80211_FTYPE_CTL + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_ctl(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL); +} + +/** + * ieee80211_is_data - check if type is IEEE80211_FTYPE_DATA + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_data(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE)) == + cpu_to_le16(IEEE80211_FTYPE_DATA); +} + +/** + * ieee80211_is_data_qos - check if type is IEEE80211_FTYPE_DATA and IEEE80211_STYPE_QOS_DATA is set + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_data_qos(__le16 fc) +{ + /* + * mask with QOS_DATA rather than IEEE80211_FCTL_STYPE as we just need + * to check the one bit + */ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_STYPE_QOS_DATA)) == + cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_QOS_DATA); +} + +/** + * ieee80211_is_data_present - check if type is IEEE80211_FTYPE_DATA and has data + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_data_present(__le16 fc) +{ + /* + * mask with 0x40 and test that that bit is clear to only return true + * for the data-containing substypes. + */ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | 0x40)) == + cpu_to_le16(IEEE80211_FTYPE_DATA); +} + +/** + * ieee80211_is_assoc_req - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_REQ + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_assoc_req(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_ASSOC_REQ); +} + +/** + * ieee80211_is_assoc_resp - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_RESP + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_assoc_resp(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_ASSOC_RESP); +} + +/** + * ieee80211_is_reassoc_req - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_REQ + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_reassoc_req(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_REASSOC_REQ); +} + +/** + * ieee80211_is_reassoc_resp - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_RESP + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_reassoc_resp(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_REASSOC_RESP); +} + +/** + * ieee80211_is_probe_req - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_REQ + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_probe_req(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_PROBE_REQ); +} + +/** + * ieee80211_is_probe_resp - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_RESP + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_probe_resp(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_PROBE_RESP); +} + +/** + * ieee80211_is_beacon - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_BEACON + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_beacon(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON); +} + +/** + * ieee80211_is_atim - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ATIM + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_atim(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_ATIM); +} + +/** + * ieee80211_is_disassoc - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DISASSOC + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_disassoc(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_DISASSOC); +} + +/** + * ieee80211_is_auth - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_AUTH + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_auth(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_AUTH); +} + +/** + * ieee80211_is_deauth - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DEAUTH + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_deauth(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_DEAUTH); +} + +/** + * ieee80211_is_action - check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ACTION + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_action(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_ACTION); +} + +/** + * ieee80211_is_back_req - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK_REQ + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_back_req(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_BACK_REQ); +} + +/** + * ieee80211_is_back - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_back(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_BACK); +} + +/** + * ieee80211_is_pspoll - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_PSPOLL + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_pspoll(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_PSPOLL); +} + +/** + * ieee80211_is_rts - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_RTS + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_rts(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_RTS); +} + +/** + * ieee80211_is_cts - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CTS + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_cts(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTS); +} + +/** + * ieee80211_is_ack - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_ACK + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_ack(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_ACK); +} + +/** + * ieee80211_is_cfend - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFEND + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_cfend(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CFEND); +} + +/** + * ieee80211_is_cfendack - check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFENDACK + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_cfendack(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CFENDACK); +} + +/** + * ieee80211_is_nullfunc - check if frame is a regular (non-QoS) nullfunc frame + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_nullfunc(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_NULLFUNC); +} + +/** + * ieee80211_is_qos_nullfunc - check if frame is a QoS nullfunc frame + * @fc: frame control bytes in little-endian byteorder + */ +static inline int ieee80211_is_qos_nullfunc(__le16 fc) +{ + return (fc & cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) == + cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_QOS_NULLFUNC); +} + +static inline unsigned int ieee80211_hdrlen(__le16 fc) +{ + unsigned int hdrlen = 24; + + if (ieee80211_has_a4(fc)) + hdrlen = 30; + + if (ieee80211_is_data_qos(fc)) { + hdrlen += IEEE80211_QOS_CTL_LEN; + if (ieee80211_has_order(fc)) + hdrlen += IEEE80211_HT_CTL_LEN; + } + + return hdrlen; +} + +/** + * ieee80211_is_first_frag - check if IEEE80211_SCTL_FRAG is not set + * @seq_ctrl: frame sequence control bytes in little-endian byteorder + */ +static inline int ieee80211_is_first_frag(__le16 seq_ctrl) +{ + return (seq_ctrl & cpu_to_le16(IEEE80211_SCTL_FRAG)) == 0; +} + +struct ieee80211s_hdr { + u8 flags; + u8 ttl; + __le32 seqnum; + u8 eaddr1[6]; + u8 eaddr2[6]; +} __attribute__ ((packed)); + +/* Mesh flags */ +#define MESH_FLAGS_AE_A4 0x1 +#define MESH_FLAGS_AE_A5_A6 0x2 +#define MESH_FLAGS_AE 0x3 +#define MESH_FLAGS_PS_DEEP 0x4 + +/** + * struct ieee80211_quiet_ie + * + * This structure refers to "Quiet information element" + */ +struct ieee80211_quiet_ie { + u8 count; + u8 period; + __le16 duration; + __le16 offset; +} __attribute__ ((packed)); + +/** + * struct ieee80211_msrment_ie + * + * This structure refers to "Measurement Request/Report information element" + */ +struct ieee80211_msrment_ie { + u8 token; + u8 mode; + u8 type; + u8 request[0]; +} __attribute__ ((packed)); + +/** + * struct ieee80211_channel_sw_ie + * + * This structure refers to "Channel Switch Announcement information element" + */ +struct ieee80211_channel_sw_ie { + u8 mode; + u8 new_ch_num; + u8 count; +} __attribute__ ((packed)); + +/** + * struct ieee80211_tim + * + * This structure refers to "Traffic Indication Map information element" + */ +struct ieee80211_tim_ie { + u8 dtim_count; + u8 dtim_period; + u8 bitmap_ctrl; + /* variable size: 1 - 251 bytes */ + u8 virtual_map[1]; +} __attribute__ ((packed)); + +/** + * struct ieee80211_meshconf_ie + * + * This structure refers to "Mesh Configuration information element" + */ +struct ieee80211_meshconf_ie { + u8 meshconf_psel; + u8 meshconf_pmetric; + u8 meshconf_congest; + u8 meshconf_synch; + u8 meshconf_auth; + u8 meshconf_form; + u8 meshconf_cap; +} __attribute__ ((packed)); + +/** + * struct ieee80211_rann_ie + * + * This structure refers to "Root Announcement information element" + */ +struct ieee80211_rann_ie { + u8 rann_flags; + u8 rann_hopcount; + u8 rann_ttl; + u8 rann_addr[6]; + __le32 rann_seq; + __le32 rann_interval; + __le32 rann_metric; +} __attribute__ ((packed)); + +enum ieee80211_rann_flags { + RANN_FLAG_IS_GATE = 1 << 0, +}; + +#define WLAN_SA_QUERY_TR_ID_LEN 2 + +struct ieee80211_mgmt { + __le16 frame_control; + __le16 duration; + u8 da[6]; + u8 sa[6]; + u8 bssid[6]; + __le16 seq_ctrl; + union { + struct { + __le16 auth_alg; + __le16 auth_transaction; + __le16 status_code; + /* possibly followed by Challenge text */ + u8 variable[0]; + } __attribute__ ((packed)) auth; + struct { + __le16 reason_code; + } __attribute__ ((packed)) deauth; + struct { + __le16 capab_info; + __le16 listen_interval; + /* followed by SSID and Supported rates */ + u8 variable[0]; + } __attribute__ ((packed)) assoc_req; + struct { + __le16 capab_info; + __le16 status_code; + __le16 aid; + /* followed by Supported rates */ + u8 variable[0]; + } __attribute__ ((packed)) assoc_resp, reassoc_resp; + struct { + __le16 capab_info; + __le16 listen_interval; + u8 current_ap[6]; + /* followed by SSID and Supported rates */ + u8 variable[0]; + } __attribute__ ((packed)) reassoc_req; + struct { + __le16 reason_code; + } __attribute__ ((packed)) disassoc; + struct { + __le64 timestamp; + __le16 beacon_int; + __le16 capab_info; + /* followed by some of SSID, Supported rates, + * FH Params, DS Params, CF Params, IBSS Params, TIM */ + u8 variable[0]; + } __attribute__ ((packed)) beacon; + struct { + /* only variable items: SSID, Supported rates */ + u8 variable[0]; + } __attribute__ ((packed)) probe_req; + struct { + __le64 timestamp; + __le16 beacon_int; + __le16 capab_info; + /* followed by some of SSID, Supported rates, + * FH Params, DS Params, CF Params, IBSS Params */ + u8 variable[0]; + } __attribute__ ((packed)) probe_resp; + struct { + u8 category; + union { + struct { + u8 action_code; + u8 dialog_token; + u8 status_code; + u8 variable[0]; + } __attribute__ ((packed)) wme_action; + struct{ + u8 action_code; + u8 element_id; + u8 length; + struct ieee80211_channel_sw_ie sw_elem; + } __attribute__((packed)) chan_switch; + struct{ + u8 action_code; + u8 dialog_token; + u8 element_id; + u8 length; + struct ieee80211_msrment_ie msr_elem; + } __attribute__((packed)) measurement; + struct{ + u8 action_code; + u8 dialog_token; + __le16 capab; + __le16 timeout; + __le16 start_seq_num; + } __attribute__((packed)) addba_req; + struct{ + u8 action_code; + u8 dialog_token; + __le16 status; + __le16 capab; + __le16 timeout; + } __attribute__((packed)) addba_resp; + struct{ + u8 action_code; + __le16 params; + __le16 reason_code; + } __attribute__((packed)) delba; + struct { + u8 action_code; + u8 variable[0]; + } __attribute__((packed)) self_prot; + struct{ + u8 action_code; + u8 variable[0]; + } __attribute__((packed)) mesh_action; + struct { + u8 action; + u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN]; + } __attribute__ ((packed)) sa_query; + struct { + u8 action; + u8 smps_control; + } __attribute__ ((packed)) ht_smps; + struct { + u8 action_code; + u8 dialog_token; + __le16 capability; + u8 variable[0]; + } __packed tdls_discover_resp; + } u; + } __attribute__ ((packed)) action; + } u; +} __attribute__ ((packed)); + +/* Supported Rates value encodings in 802.11n-2009 7.3.2.2 */ +#define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127 + +/* mgmt header + 1 byte category code */ +#define IEEE80211_MIN_ACTION_SIZE offsetof(struct ieee80211_mgmt, u.action.u) + + +/* Management MIC information element (IEEE 802.11w) */ +struct ieee80211_mmie { + u8 element_id; + u8 length; + __le16 key_id; + u8 sequence_number[6]; + u8 mic[8]; +} __attribute__ ((packed)); + +struct ieee80211_vendor_ie { + u8 element_id; + u8 len; + u8 oui[3]; + u8 oui_type; +} __packed; + +/* Control frames */ +struct ieee80211_rts { + __le16 frame_control; + __le16 duration; + u8 ra[6]; + u8 ta[6]; +} __attribute__ ((packed)); + +struct ieee80211_cts { + __le16 frame_control; + __le16 duration; + u8 ra[6]; +} __attribute__ ((packed)); + +struct ieee80211_pspoll { + __le16 frame_control; + __le16 aid; + u8 bssid[6]; + u8 ta[6]; +} __attribute__ ((packed)); + +/* TDLS */ + +/* Link-id information element */ +struct ieee80211_tdls_lnkie { + u8 ie_type; /* Link Identifier IE */ + u8 ie_len; + u8 bssid[6]; + u8 init_sta[6]; + u8 resp_sta[6]; +} __packed; + +struct ieee80211_tdls_data { + u8 da[6]; + u8 sa[6]; + __be16 ether_type; + u8 payload_type; + u8 category; + u8 action_code; + union { + struct { + u8 dialog_token; + __le16 capability; + u8 variable[0]; + } __packed setup_req; + struct { + __le16 status_code; + u8 dialog_token; + __le16 capability; + u8 variable[0]; + } __packed setup_resp; + struct { + __le16 status_code; + u8 dialog_token; + u8 variable[0]; + } __packed setup_cfm; + struct { + __le16 reason_code; + u8 variable[0]; + } __packed teardown; + struct { + u8 dialog_token; + u8 variable[0]; + } __packed discover_req; + } u; +} __packed; + +/** + * struct ieee80211_bar - HT Block Ack Request + * + * This structure refers to "HT BlockAckReq" as + * described in 802.11n draft section 7.2.1.7.1 + */ +struct ieee80211_bar { + __le16 frame_control; + __le16 duration; + __u8 ra[6]; + __u8 ta[6]; + __le16 control; + __le16 start_seq_num; +} __attribute__((packed)) __aligned(4); + +/* 802.11 BA(R) control masks */ +#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000 +#define IEEE80211_BAR_CTRL_MULTI_TID 0x0002 +#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004 +#define IEEE80211_BAR_CTRL_TID_INFO_MASK 0xf000 +#define IEEE80211_BAR_CTRL_TID_INFO_SHIFT 12 + +/** + * struct ieee80211_ba - HT Block Ack + * + * This structure refers to "HT BlockAck" as + * described in 802.11n draft section 7.2.1.8.1 + */ +struct ieee80211_ba { + __le16 frame_control; + __le16 duration; + u8 ra[6]; + u8 ta[6]; + __le16 control; + + __le16 start_seq_num; + u8 bitmap[8]; +} __attribute__((packed)); + +#define IEEE80211_HT_MCS_MASK_LEN 10 + +/** + * struct ieee80211_mcs_info - MCS information + * @rx_mask: RX mask + * @rx_highest: highest supported RX rate. If set represents + * the highest supported RX data rate in units of 1 Mbps. + * If this field is 0 this value should not be used to + * consider the highest RX data rate supported. + * @tx_params: TX parameters + */ +struct ieee80211_mcs_info { + u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; + __le16 rx_highest; + u8 tx_params; + u8 reserved[3]; +} __attribute__((packed)); + +/* 802.11n HT capability MSC set */ +#define IEEE80211_HT_MCS_RX_HIGHEST_MASK 0x3ff +#define IEEE80211_HT_MCS_TX_DEFINED 0x01 +#define IEEE80211_HT_MCS_TX_RX_DIFF 0x02 +/* value 0 == 1 stream etc */ +#define IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK 0x0C +#define IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT 2 +#define IEEE80211_HT_MCS_TX_MAX_STREAMS 4 +#define IEEE80211_HT_MCS_TX_UNEQUAL_MODULATION 0x10 + +/* + * 802.11n D5.0 20.3.5 / 20.6 says: + * - indices 0 to 7 and 32 are single spatial stream + * - 8 to 31 are multiple spatial streams using equal modulation + * [8..15 for two streams, 16..23 for three and 24..31 for four] + * - remainder are multiple spatial streams using unequal modulation + */ +#define IEEE80211_HT_MCS_UNEQUAL_MODULATION_START 33 +#define IEEE80211_HT_MCS_UNEQUAL_MODULATION_START_BYTE \ + (IEEE80211_HT_MCS_UNEQUAL_MODULATION_START / 8) + +/** + * struct ieee80211_ht_cap - HT capabilities + * + * This structure is the "HT capabilities element" as + * described in 802.11n D5.0 7.3.2.57 + */ +struct ieee80211_ht_cap { + __le16 cap_info; + u8 ampdu_params_info; + + /* 16 bytes MCS information */ + struct ieee80211_mcs_info mcs; + + __le16 extended_ht_cap_info; + __le32 tx_BF_cap_info; + u8 antenna_selection_info; +} __attribute__ ((packed)); + +/* 802.11n HT capabilities masks (for cap_info) */ +#define IEEE80211_HT_CAP_LDPC_CODING 0x0001 +#define IEEE80211_HT_CAP_SUP_WIDTH_20_40 0x0002 +#define IEEE80211_HT_CAP_SM_PS 0x000C +#define IEEE80211_HT_CAP_SM_PS_SHIFT 2 +#define IEEE80211_HT_CAP_GRN_FLD 0x0010 +#define IEEE80211_HT_CAP_SGI_20 0x0020 +#define IEEE80211_HT_CAP_SGI_40 0x0040 +#define IEEE80211_HT_CAP_TX_STBC 0x0080 +#define IEEE80211_HT_CAP_RX_STBC 0x0300 +#define IEEE80211_HT_CAP_RX_STBC_SHIFT 8 +#define IEEE80211_HT_CAP_DELAY_BA 0x0400 +#define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 +#define IEEE80211_HT_CAP_DSSSCCK40 0x1000 +#define IEEE80211_HT_CAP_RESERVED 0x2000 +#define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 +#define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 + +/* 802.11n HT extended capabilities masks (for extended_ht_cap_info) */ +#define IEEE80211_HT_EXT_CAP_PCO 0x0001 +#define IEEE80211_HT_EXT_CAP_PCO_TIME 0x0006 +#define IEEE80211_HT_EXT_CAP_PCO_TIME_SHIFT 1 +#define IEEE80211_HT_EXT_CAP_MCS_FB 0x0300 +#define IEEE80211_HT_EXT_CAP_MCS_FB_SHIFT 8 +#define IEEE80211_HT_EXT_CAP_HTC_SUP 0x0400 +#define IEEE80211_HT_EXT_CAP_RD_RESPONDER 0x0800 + +/* 802.11n HT capability AMPDU settings (for ampdu_params_info) */ +#define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03 +#define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C +#define IEEE80211_HT_AMPDU_PARM_DENSITY_SHIFT 2 + +/* + * Maximum length of AMPDU that the STA can receive. + * Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets) + */ +enum ieee80211_max_ampdu_length_exp { + IEEE80211_HT_MAX_AMPDU_8K = 0, + IEEE80211_HT_MAX_AMPDU_16K = 1, + IEEE80211_HT_MAX_AMPDU_32K = 2, + IEEE80211_HT_MAX_AMPDU_64K = 3 +}; + +#define IEEE80211_HT_MAX_AMPDU_FACTOR 13 + +/* Minimum MPDU start spacing */ +enum ieee80211_min_mpdu_spacing { + IEEE80211_HT_MPDU_DENSITY_NONE = 0, /* No restriction */ + IEEE80211_HT_MPDU_DENSITY_0_25 = 1, /* 1/4 usec */ + IEEE80211_HT_MPDU_DENSITY_0_5 = 2, /* 1/2 usec */ + IEEE80211_HT_MPDU_DENSITY_1 = 3, /* 1 usec */ + IEEE80211_HT_MPDU_DENSITY_2 = 4, /* 2 usec */ + IEEE80211_HT_MPDU_DENSITY_4 = 5, /* 4 usec */ + IEEE80211_HT_MPDU_DENSITY_8 = 6, /* 8 usec */ + IEEE80211_HT_MPDU_DENSITY_16 = 7 /* 16 usec */ +}; + +/** + * struct ieee80211_ht_operation - HT operation IE + * + * This structure is the "HT operation element" as + * described in 802.11n-2009 7.3.2.57 + */ +struct ieee80211_ht_operation { + u8 primary_chan; + u8 ht_param; + __le16 operation_mode; + __le16 stbc_param; + u8 basic_set[16]; +} __attribute__ ((packed)); + +/* for ht_param */ +#define IEEE80211_HT_PARAM_CHA_SEC_OFFSET 0x03 +#define IEEE80211_HT_PARAM_CHA_SEC_NONE 0x00 +#define IEEE80211_HT_PARAM_CHA_SEC_ABOVE 0x01 +#define IEEE80211_HT_PARAM_CHA_SEC_BELOW 0x03 +#define IEEE80211_HT_PARAM_CHAN_WIDTH_ANY 0x04 +#define IEEE80211_HT_PARAM_RIFS_MODE 0x08 + +/* for operation_mode */ +#define IEEE80211_HT_OP_MODE_PROTECTION 0x0003 +#define IEEE80211_HT_OP_MODE_PROTECTION_NONE 0 +#define IEEE80211_HT_OP_MODE_PROTECTION_NONMEMBER 1 +#define IEEE80211_HT_OP_MODE_PROTECTION_20MHZ 2 +#define IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED 3 +#define IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT 0x0004 +#define IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT 0x0010 + +/* for stbc_param */ +#define IEEE80211_HT_STBC_PARAM_DUAL_BEACON 0x0040 +#define IEEE80211_HT_STBC_PARAM_DUAL_CTS_PROT 0x0080 +#define IEEE80211_HT_STBC_PARAM_STBC_BEACON 0x0100 +#define IEEE80211_HT_STBC_PARAM_LSIG_TXOP_FULLPROT 0x0200 +#define IEEE80211_HT_STBC_PARAM_PCO_ACTIVE 0x0400 +#define IEEE80211_HT_STBC_PARAM_PCO_PHASE 0x0800 + + +/* block-ack parameters */ +#define IEEE80211_ADDBA_PARAM_POLICY_MASK 0x0002 +#define IEEE80211_ADDBA_PARAM_TID_MASK 0x003C +#define IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK 0xFFC0 +#define IEEE80211_DELBA_PARAM_TID_MASK 0xF000 +#define IEEE80211_DELBA_PARAM_INITIATOR_MASK 0x0800 + +/* + * A-PMDU buffer sizes + * According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2) + */ +#define IEEE80211_MIN_AMPDU_BUF 0x8 +#define IEEE80211_MAX_AMPDU_BUF 0x40 + + +/* Spatial Multiplexing Power Save Modes (for capability) */ +#define WLAN_HT_CAP_SM_PS_STATIC 0 +#define WLAN_HT_CAP_SM_PS_DYNAMIC 1 +#define WLAN_HT_CAP_SM_PS_INVALID 2 +#define WLAN_HT_CAP_SM_PS_DISABLED 3 + +/* for SM power control field lower two bits */ +#define WLAN_HT_SMPS_CONTROL_DISABLED 0 +#define WLAN_HT_SMPS_CONTROL_STATIC 1 +#define WLAN_HT_SMPS_CONTROL_DYNAMIC 3 + +/* Authentication algorithms */ +#define WLAN_AUTH_OPEN 0 +#define WLAN_AUTH_SHARED_KEY 1 +#define WLAN_AUTH_FT 2 +#define WLAN_AUTH_SAE 3 +#define WLAN_AUTH_LEAP 128 + +#define WLAN_AUTH_CHALLENGE_LEN 128 + +#define WLAN_CAPABILITY_ESS (1<<0) +#define WLAN_CAPABILITY_IBSS (1<<1) + +/* + * A mesh STA sets the ESS and IBSS capability bits to zero. + * however, this holds true for p2p probe responses (in the p2p_find + * phase) as well. + */ +#define WLAN_CAPABILITY_IS_STA_BSS(cap) \ + (!((cap) & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS))) + +#define WLAN_CAPABILITY_CF_POLLABLE (1<<2) +#define WLAN_CAPABILITY_CF_POLL_REQUEST (1<<3) +#define WLAN_CAPABILITY_PRIVACY (1<<4) +#define WLAN_CAPABILITY_SHORT_PREAMBLE (1<<5) +#define WLAN_CAPABILITY_PBCC (1<<6) +#define WLAN_CAPABILITY_CHANNEL_AGILITY (1<<7) + +/* 802.11h */ +#define WLAN_CAPABILITY_SPECTRUM_MGMT (1<<8) +#define WLAN_CAPABILITY_QOS (1<<9) +#define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) +#define WLAN_CAPABILITY_DSSS_OFDM (1<<13) +/* measurement */ +#define IEEE80211_SPCT_MSR_RPRT_MODE_LATE (1<<0) +#define IEEE80211_SPCT_MSR_RPRT_MODE_INCAPABLE (1<<1) +#define IEEE80211_SPCT_MSR_RPRT_MODE_REFUSED (1<<2) + +#define IEEE80211_SPCT_MSR_RPRT_TYPE_BASIC 0 +#define IEEE80211_SPCT_MSR_RPRT_TYPE_CCA 1 +#define IEEE80211_SPCT_MSR_RPRT_TYPE_RPI 2 + + +/* 802.11g ERP information element */ +#define WLAN_ERP_NON_ERP_PRESENT (1<<0) +#define WLAN_ERP_USE_PROTECTION (1<<1) +#define WLAN_ERP_BARKER_PREAMBLE (1<<2) + +/* WLAN_ERP_BARKER_PREAMBLE values */ +enum { + WLAN_ERP_PREAMBLE_SHORT = 0, + WLAN_ERP_PREAMBLE_LONG = 1, +}; + +/* Status codes */ +enum ieee80211_statuscode { + WLAN_STATUS_SUCCESS = 0, + WLAN_STATUS_UNSPECIFIED_FAILURE = 1, + WLAN_STATUS_CAPS_UNSUPPORTED = 10, + WLAN_STATUS_REASSOC_NO_ASSOC = 11, + WLAN_STATUS_ASSOC_DENIED_UNSPEC = 12, + WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG = 13, + WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION = 14, + WLAN_STATUS_CHALLENGE_FAIL = 15, + WLAN_STATUS_AUTH_TIMEOUT = 16, + WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17, + WLAN_STATUS_ASSOC_DENIED_RATES = 18, + /* 802.11b */ + WLAN_STATUS_ASSOC_DENIED_NOSHORTPREAMBLE = 19, + WLAN_STATUS_ASSOC_DENIED_NOPBCC = 20, + WLAN_STATUS_ASSOC_DENIED_NOAGILITY = 21, + /* 802.11h */ + WLAN_STATUS_ASSOC_DENIED_NOSPECTRUM = 22, + WLAN_STATUS_ASSOC_REJECTED_BAD_POWER = 23, + WLAN_STATUS_ASSOC_REJECTED_BAD_SUPP_CHAN = 24, + /* 802.11g */ + WLAN_STATUS_ASSOC_DENIED_NOSHORTTIME = 25, + WLAN_STATUS_ASSOC_DENIED_NODSSSOFDM = 26, + /* 802.11w */ + WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY = 30, + WLAN_STATUS_ROBUST_MGMT_FRAME_POLICY_VIOLATION = 31, + /* 802.11i */ + WLAN_STATUS_INVALID_IE = 40, + WLAN_STATUS_INVALID_GROUP_CIPHER = 41, + WLAN_STATUS_INVALID_PAIRWISE_CIPHER = 42, + WLAN_STATUS_INVALID_AKMP = 43, + WLAN_STATUS_UNSUPP_RSN_VERSION = 44, + WLAN_STATUS_INVALID_RSN_IE_CAP = 45, + WLAN_STATUS_CIPHER_SUITE_REJECTED = 46, + /* 802.11e */ + WLAN_STATUS_UNSPECIFIED_QOS = 32, + WLAN_STATUS_ASSOC_DENIED_NOBANDWIDTH = 33, + WLAN_STATUS_ASSOC_DENIED_LOWACK = 34, + WLAN_STATUS_ASSOC_DENIED_UNSUPP_QOS = 35, + WLAN_STATUS_REQUEST_DECLINED = 37, + WLAN_STATUS_INVALID_QOS_PARAM = 38, + WLAN_STATUS_CHANGE_TSPEC = 39, + WLAN_STATUS_WAIT_TS_DELAY = 47, + WLAN_STATUS_NO_DIRECT_LINK = 48, + WLAN_STATUS_STA_NOT_PRESENT = 49, + WLAN_STATUS_STA_NOT_QSTA = 50, + /* 802.11s */ + WLAN_STATUS_ANTI_CLOG_REQUIRED = 76, + WLAN_STATUS_FCG_NOT_SUPP = 78, + WLAN_STATUS_STA_NO_TBTT = 78, +}; + + +/* Reason codes */ +enum ieee80211_reasoncode { + WLAN_REASON_UNSPECIFIED = 1, + WLAN_REASON_PREV_AUTH_NOT_VALID = 2, + WLAN_REASON_DEAUTH_LEAVING = 3, + WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY = 4, + WLAN_REASON_DISASSOC_AP_BUSY = 5, + WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA = 6, + WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA = 7, + WLAN_REASON_DISASSOC_STA_HAS_LEFT = 8, + WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH = 9, + /* 802.11h */ + WLAN_REASON_DISASSOC_BAD_POWER = 10, + WLAN_REASON_DISASSOC_BAD_SUPP_CHAN = 11, + /* 802.11i */ + WLAN_REASON_INVALID_IE = 13, + WLAN_REASON_MIC_FAILURE = 14, + WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT = 15, + WLAN_REASON_GROUP_KEY_HANDSHAKE_TIMEOUT = 16, + WLAN_REASON_IE_DIFFERENT = 17, + WLAN_REASON_INVALID_GROUP_CIPHER = 18, + WLAN_REASON_INVALID_PAIRWISE_CIPHER = 19, + WLAN_REASON_INVALID_AKMP = 20, + WLAN_REASON_UNSUPP_RSN_VERSION = 21, + WLAN_REASON_INVALID_RSN_IE_CAP = 22, + WLAN_REASON_IEEE8021X_FAILED = 23, + WLAN_REASON_CIPHER_SUITE_REJECTED = 24, + /* 802.11e */ + WLAN_REASON_DISASSOC_UNSPECIFIED_QOS = 32, + WLAN_REASON_DISASSOC_QAP_NO_BANDWIDTH = 33, + WLAN_REASON_DISASSOC_LOW_ACK = 34, + WLAN_REASON_DISASSOC_QAP_EXCEED_TXOP = 35, + WLAN_REASON_QSTA_LEAVE_QBSS = 36, + WLAN_REASON_QSTA_NOT_USE = 37, + WLAN_REASON_QSTA_REQUIRE_SETUP = 38, + WLAN_REASON_QSTA_TIMEOUT = 39, + WLAN_REASON_QSTA_CIPHER_NOT_SUPP = 45, + /* 802.11s */ + WLAN_REASON_MESH_PEER_CANCELED = 52, + WLAN_REASON_MESH_MAX_PEERS = 53, + WLAN_REASON_MESH_CONFIG = 54, + WLAN_REASON_MESH_CLOSE = 55, + WLAN_REASON_MESH_MAX_RETRIES = 56, + WLAN_REASON_MESH_CONFIRM_TIMEOUT = 57, + WLAN_REASON_MESH_INVALID_GTK = 58, + WLAN_REASON_MESH_INCONSISTENT_PARAM = 59, + WLAN_REASON_MESH_INVALID_SECURITY = 60, + WLAN_REASON_MESH_PATH_ERROR = 61, + WLAN_REASON_MESH_PATH_NOFORWARD = 62, + WLAN_REASON_MESH_PATH_DEST_UNREACHABLE = 63, + WLAN_REASON_MAC_EXISTS_IN_MBSS = 64, + WLAN_REASON_MESH_CHAN_REGULATORY = 65, + WLAN_REASON_MESH_CHAN = 66, +}; + + +/* Information Element IDs */ +enum ieee80211_eid { + WLAN_EID_SSID = 0, + WLAN_EID_SUPP_RATES = 1, + WLAN_EID_FH_PARAMS = 2, + WLAN_EID_DS_PARAMS = 3, + WLAN_EID_CF_PARAMS = 4, + WLAN_EID_TIM = 5, + WLAN_EID_IBSS_PARAMS = 6, + WLAN_EID_CHALLENGE = 16, + + WLAN_EID_COUNTRY = 7, + WLAN_EID_HP_PARAMS = 8, + WLAN_EID_HP_TABLE = 9, + WLAN_EID_REQUEST = 10, + + WLAN_EID_QBSS_LOAD = 11, + WLAN_EID_EDCA_PARAM_SET = 12, + WLAN_EID_TSPEC = 13, + WLAN_EID_TCLAS = 14, + WLAN_EID_SCHEDULE = 15, + WLAN_EID_TS_DELAY = 43, + WLAN_EID_TCLAS_PROCESSING = 44, + WLAN_EID_QOS_CAPA = 46, + /* 802.11z */ + WLAN_EID_LINK_ID = 101, + /* 802.11s */ + WLAN_EID_MESH_CONFIG = 113, + WLAN_EID_MESH_ID = 114, + WLAN_EID_LINK_METRIC_REPORT = 115, + WLAN_EID_CONGESTION_NOTIFICATION = 116, + WLAN_EID_PEER_MGMT = 117, + WLAN_EID_CHAN_SWITCH_PARAM = 118, + WLAN_EID_MESH_AWAKE_WINDOW = 119, + WLAN_EID_BEACON_TIMING = 120, + WLAN_EID_MCCAOP_SETUP_REQ = 121, + WLAN_EID_MCCAOP_SETUP_RESP = 122, + WLAN_EID_MCCAOP_ADVERT = 123, + WLAN_EID_MCCAOP_TEARDOWN = 124, + WLAN_EID_GANN = 125, + WLAN_EID_RANN = 126, + WLAN_EID_PREQ = 130, + WLAN_EID_PREP = 131, + WLAN_EID_PERR = 132, + WLAN_EID_PXU = 137, + WLAN_EID_PXUC = 138, + WLAN_EID_AUTH_MESH_PEER_EXCH = 139, + WLAN_EID_MIC = 140, + + WLAN_EID_PWR_CONSTRAINT = 32, + WLAN_EID_PWR_CAPABILITY = 33, + WLAN_EID_TPC_REQUEST = 34, + WLAN_EID_TPC_REPORT = 35, + WLAN_EID_SUPPORTED_CHANNELS = 36, + WLAN_EID_CHANNEL_SWITCH = 37, + WLAN_EID_MEASURE_REQUEST = 38, + WLAN_EID_MEASURE_REPORT = 39, + WLAN_EID_QUIET = 40, + WLAN_EID_IBSS_DFS = 41, + + WLAN_EID_ERP_INFO = 42, + WLAN_EID_EXT_SUPP_RATES = 50, + + WLAN_EID_HT_CAPABILITY = 45, + WLAN_EID_HT_OPERATION = 61, + + WLAN_EID_RSN = 48, + WLAN_EID_MMIE = 76, + WLAN_EID_WPA = 221, + WLAN_EID_GENERIC = 221, + WLAN_EID_VENDOR_SPECIFIC = 221, + WLAN_EID_QOS_PARAMETER = 222, + + WLAN_EID_AP_CHAN_REPORT = 51, + WLAN_EID_NEIGHBOR_REPORT = 52, + WLAN_EID_RCPI = 53, + WLAN_EID_BSS_AVG_ACCESS_DELAY = 63, + WLAN_EID_ANTENNA_INFO = 64, + WLAN_EID_RSNI = 65, + WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66, + WLAN_EID_BSS_AVAILABLE_CAPACITY = 67, + WLAN_EID_BSS_AC_ACCESS_DELAY = 68, + WLAN_EID_RRM_ENABLED_CAPABILITIES = 70, + WLAN_EID_MULTIPLE_BSSID = 71, + WLAN_EID_BSS_COEX_2040 = 72, + WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74, + WLAN_EID_EXT_CAPABILITY = 127, + + WLAN_EID_MOBILITY_DOMAIN = 54, + WLAN_EID_FAST_BSS_TRANSITION = 55, + WLAN_EID_TIMEOUT_INTERVAL = 56, + WLAN_EID_RIC_DATA = 57, + WLAN_EID_RIC_DESCRIPTOR = 75, + + WLAN_EID_DSE_REGISTERED_LOCATION = 58, + WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, + WLAN_EID_EXT_CHANSWITCH_ANN = 60, +}; + +/* Action category code */ +enum ieee80211_category { + WLAN_CATEGORY_SPECTRUM_MGMT = 0, + WLAN_CATEGORY_QOS = 1, + WLAN_CATEGORY_DLS = 2, + WLAN_CATEGORY_BACK = 3, + WLAN_CATEGORY_PUBLIC = 4, + WLAN_CATEGORY_HT = 7, + WLAN_CATEGORY_SA_QUERY = 8, + WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, + WLAN_CATEGORY_TDLS = 12, + WLAN_CATEGORY_MESH_ACTION = 13, + WLAN_CATEGORY_MULTIHOP_ACTION = 14, + WLAN_CATEGORY_SELF_PROTECTED = 15, + WLAN_CATEGORY_WMM = 17, + WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, + WLAN_CATEGORY_VENDOR_SPECIFIC = 127, +}; + +/* SPECTRUM_MGMT action code */ +enum ieee80211_spectrum_mgmt_actioncode { + WLAN_ACTION_SPCT_MSR_REQ = 0, + WLAN_ACTION_SPCT_MSR_RPRT = 1, + WLAN_ACTION_SPCT_TPC_REQ = 2, + WLAN_ACTION_SPCT_TPC_RPRT = 3, + WLAN_ACTION_SPCT_CHL_SWITCH = 4, +}; + +/* HT action codes */ +enum ieee80211_ht_actioncode { + WLAN_HT_ACTION_NOTIFY_CHANWIDTH = 0, + WLAN_HT_ACTION_SMPS = 1, + WLAN_HT_ACTION_PSMP = 2, + WLAN_HT_ACTION_PCO_PHASE = 3, + WLAN_HT_ACTION_CSI = 4, + WLAN_HT_ACTION_NONCOMPRESSED_BF = 5, + WLAN_HT_ACTION_COMPRESSED_BF = 6, + WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7, +}; + +/* Self Protected Action codes */ +enum ieee80211_self_protected_actioncode { + WLAN_SP_RESERVED = 0, + WLAN_SP_MESH_PEERING_OPEN = 1, + WLAN_SP_MESH_PEERING_CONFIRM = 2, + WLAN_SP_MESH_PEERING_CLOSE = 3, + WLAN_SP_MGK_INFORM = 4, + WLAN_SP_MGK_ACK = 5, +}; + +/* Mesh action codes */ +enum ieee80211_mesh_actioncode { + WLAN_MESH_ACTION_LINK_METRIC_REPORT, + WLAN_MESH_ACTION_HWMP_PATH_SELECTION, + WLAN_MESH_ACTION_GATE_ANNOUNCEMENT, + WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION, + WLAN_MESH_ACTION_MCCA_SETUP_REQUEST, + WLAN_MESH_ACTION_MCCA_SETUP_REPLY, + WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST, + WLAN_MESH_ACTION_MCCA_ADVERTISEMENT, + WLAN_MESH_ACTION_MCCA_TEARDOWN, + WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST, + WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE, +}; + +/* Security key length */ +enum ieee80211_key_len { + WLAN_KEY_LEN_WEP40 = 5, + WLAN_KEY_LEN_WEP104 = 13, + WLAN_KEY_LEN_CCMP = 16, + WLAN_KEY_LEN_TKIP = 32, + WLAN_KEY_LEN_AES_CMAC = 16, +}; + +/* Public action codes */ +enum ieee80211_pub_actioncode { + WLAN_PUB_ACTION_TDLS_DISCOVER_RES = 14, +}; + +/* TDLS action codes */ +enum ieee80211_tdls_actioncode { + WLAN_TDLS_SETUP_REQUEST = 0, + WLAN_TDLS_SETUP_RESPONSE = 1, + WLAN_TDLS_SETUP_CONFIRM = 2, + WLAN_TDLS_TEARDOWN = 3, + WLAN_TDLS_PEER_TRAFFIC_INDICATION = 4, + WLAN_TDLS_CHANNEL_SWITCH_REQUEST = 5, + WLAN_TDLS_CHANNEL_SWITCH_RESPONSE = 6, + WLAN_TDLS_PEER_PSM_REQUEST = 7, + WLAN_TDLS_PEER_PSM_RESPONSE = 8, + WLAN_TDLS_PEER_TRAFFIC_RESPONSE = 9, + WLAN_TDLS_DISCOVERY_REQUEST = 10, +}; + +/* + * TDLS capabililites to be enabled in the 5th byte of the + * @WLAN_EID_EXT_CAPABILITY information element + */ +#define WLAN_EXT_CAPA5_TDLS_ENABLED BIT(5) +#define WLAN_EXT_CAPA5_TDLS_PROHIBITED BIT(6) + +/* TDLS specific payload type in the LLC/SNAP header */ +#define WLAN_TDLS_SNAP_RFTYPE 0x2 + +/** + * enum - mesh synchronization method identifier + * + * @IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET: the default synchronization method + * @IEEE80211_SYNC_METHOD_VENDOR: a vendor specific synchronization method + * that will be specified in a vendor specific information element + */ +enum { + IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1, + IEEE80211_SYNC_METHOD_VENDOR = 255, +}; + +/** + * enum - mesh path selection protocol identifier + * + * @IEEE80211_PATH_PROTOCOL_HWMP: the default path selection protocol + * @IEEE80211_PATH_PROTOCOL_VENDOR: a vendor specific protocol that will + * be specified in a vendor specific information element + */ +enum { + IEEE80211_PATH_PROTOCOL_HWMP = 1, + IEEE80211_PATH_PROTOCOL_VENDOR = 255, +}; + +/** + * enum - mesh path selection metric identifier + * + * @IEEE80211_PATH_METRIC_AIRTIME: the default path selection metric + * @IEEE80211_PATH_METRIC_VENDOR: a vendor specific metric that will be + * specified in a vendor specific information element + */ +enum { + IEEE80211_PATH_METRIC_AIRTIME = 1, + IEEE80211_PATH_METRIC_VENDOR = 255, +}; + + +/* + * IEEE 802.11-2007 7.3.2.9 Country information element + * + * Minimum length is 8 octets, ie len must be evenly + * divisible by 2 + */ + +/* Although the spec says 8 I'm seeing 6 in practice */ +#define IEEE80211_COUNTRY_IE_MIN_LEN 6 + +/* The Country String field of the element shall be 3 octets in length */ +#define IEEE80211_COUNTRY_STRING_LEN 3 + +/* + * For regulatory extension stuff see IEEE 802.11-2007 + * Annex I (page 1141) and Annex J (page 1147). Also + * review 7.3.2.9. + * + * When dot11RegulatoryClassesRequired is true and the + * first_channel/reg_extension_id is >= 201 then the IE + * compromises of the 'ext' struct represented below: + * + * - Regulatory extension ID - when generating IE this just needs + * to be monotonically increasing for each triplet passed in + * the IE + * - Regulatory class - index into set of rules + * - Coverage class - index into air propagation time (Table 7-27), + * in microseconds, you can compute the air propagation time from + * the index by multiplying by 3, so index 10 yields a propagation + * of 10 us. Valid values are 0-31, values 32-255 are not defined + * yet. A value of 0 inicates air propagation of <= 1 us. + * + * See also Table I.2 for Emission limit sets and table + * I.3 for Behavior limit sets. Table J.1 indicates how to map + * a reg_class to an emission limit set and behavior limit set. + */ +#define IEEE80211_COUNTRY_EXTENSION_ID 201 + +/* + * Channels numbers in the IE must be monotonically increasing + * if dot11RegulatoryClassesRequired is not true. + * + * If dot11RegulatoryClassesRequired is true consecutive + * subband triplets following a regulatory triplet shall + * have monotonically increasing first_channel number fields. + * + * Channel numbers shall not overlap. + * + * Note that max_power is signed. + */ +struct ieee80211_country_ie_triplet { + union { + struct { + u8 first_channel; + u8 num_channels; + s8 max_power; + } __attribute__ ((packed)) chans; + struct { + u8 reg_extension_id; + u8 reg_class; + u8 coverage_class; + } __attribute__ ((packed)) ext; + }; +} __attribute__ ((packed)); + +enum ieee80211_timeout_interval_type { + WLAN_TIMEOUT_REASSOC_DEADLINE = 1 /* 802.11r */, + WLAN_TIMEOUT_KEY_LIFETIME = 2 /* 802.11r */, + WLAN_TIMEOUT_ASSOC_COMEBACK = 3 /* 802.11w */, +}; + +/* BACK action code */ +enum ieee80211_back_actioncode { + WLAN_ACTION_ADDBA_REQ = 0, + WLAN_ACTION_ADDBA_RESP = 1, + WLAN_ACTION_DELBA = 2, +}; + +/* BACK (block-ack) parties */ +enum ieee80211_back_parties { + WLAN_BACK_RECIPIENT = 0, + WLAN_BACK_INITIATOR = 1, +}; + +/* SA Query action */ +enum ieee80211_sa_query_action { + WLAN_ACTION_SA_QUERY_REQUEST = 0, + WLAN_ACTION_SA_QUERY_RESPONSE = 1, +}; + + +/* cipher suite selectors */ +#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00 +#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01 +#define WLAN_CIPHER_SUITE_TKIP 0x000FAC02 +/* reserved: 0x000FAC03 */ +#define WLAN_CIPHER_SUITE_CCMP 0x000FAC04 +#define WLAN_CIPHER_SUITE_WEP104 0x000FAC05 +#define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06 + +#define WLAN_CIPHER_SUITE_SMS4 0x00147201 + +/* AKM suite selectors */ +#define WLAN_AKM_SUITE_8021X 0x000FAC01 +#define WLAN_AKM_SUITE_PSK 0x000FAC02 +#define WLAN_AKM_SUITE_SAE 0x000FAC08 +#define WLAN_AKM_SUITE_FT_OVER_SAE 0x000FAC09 + +#define WLAN_MAX_KEY_LEN 32 + +#define WLAN_PMKID_LEN 16 + +#define WLAN_OUI_WFA 0x506f9a +#define WLAN_OUI_TYPE_WFA_P2P 9 + +/* + * WMM/802.11e Tspec Element + */ +#define IEEE80211_WMM_IE_TSPEC_TID_MASK 0x0F +#define IEEE80211_WMM_IE_TSPEC_TID_SHIFT 1 + +enum ieee80211_tspec_status_code { + IEEE80211_TSPEC_STATUS_ADMISS_ACCEPTED = 0, + IEEE80211_TSPEC_STATUS_ADDTS_INVAL_PARAMS = 0x1, +}; + +struct ieee80211_tspec_ie { + u8 element_id; + u8 len; + u8 oui[3]; + u8 oui_type; + u8 oui_subtype; + u8 version; + __le16 tsinfo; + u8 tsinfo_resvd; + __le16 nominal_msdu; + __le16 max_msdu; + __le32 min_service_int; + __le32 max_service_int; + __le32 inactivity_int; + __le32 suspension_int; + __le32 service_start_time; + __le32 min_data_rate; + __le32 mean_data_rate; + __le32 peak_data_rate; + __le32 max_burst_size; + __le32 delay_bound; + __le32 min_phy_rate; + __le16 sba; + __le16 medium_time; +} __packed; + +/** + * ieee80211_get_qos_ctl - get pointer to qos control bytes + * @hdr: the frame + * + * The qos ctrl bytes come after the frame_control, duration, seq_num + * and 3 or 4 addresses of length ETH_ALEN. + * 3 addr: 2 + 2 + 2 + 3*6 = 24 + * 4 addr: 2 + 2 + 2 + 4*6 = 30 + */ +static inline u8 *ieee80211_get_qos_ctl(struct ieee80211_hdr *hdr) +{ + if (ieee80211_has_a4(hdr->frame_control)) + return (u8 *)hdr + 30; + else + return (u8 *)hdr + 24; +} + +/** + * ieee80211_get_SA - get pointer to SA + * @hdr: the frame + * + * Given an 802.11 frame, this function returns the offset + * to the source address (SA). It does not verify that the + * header is long enough to contain the address, and the + * header must be long enough to contain the frame control + * field. + */ +static inline u8 *ieee80211_get_SA(struct ieee80211_hdr *hdr) +{ + if (ieee80211_has_a4(hdr->frame_control)) + return hdr->addr4; + if (ieee80211_has_fromds(hdr->frame_control)) + return hdr->addr3; + return hdr->addr2; +} + +/** + * ieee80211_get_DA - get pointer to DA + * @hdr: the frame + * + * Given an 802.11 frame, this function returns the offset + * to the destination address (DA). It does not verify that + * the header is long enough to contain the address, and the + * header must be long enough to contain the frame control + * field. + */ +static inline u8 *ieee80211_get_DA(struct ieee80211_hdr *hdr) +{ + if (ieee80211_has_tods(hdr->frame_control)) + return hdr->addr3; + else + return hdr->addr1; +} + +/** + * ieee80211_is_robust_mgmt_frame - check if frame is a robust management frame + * @hdr: the frame (buffer must include at least the first octet of payload) + */ +static inline bool ieee80211_is_robust_mgmt_frame(struct ieee80211_hdr *hdr) +{ + if (ieee80211_is_disassoc(hdr->frame_control) || + ieee80211_is_deauth(hdr->frame_control)) + return true; + + if (ieee80211_is_action(hdr->frame_control)) { + u8 *category; + + /* + * Action frames, excluding Public Action frames, are Robust + * Management Frames. However, if we are looking at a Protected + * frame, skip the check since the data may be encrypted and + * the frame has already been found to be a Robust Management + * Frame (by the other end). + */ + if (ieee80211_has_protected(hdr->frame_control)) + return true; + category = ((u8 *) hdr) + 24; + return *category != WLAN_CATEGORY_PUBLIC && + *category != WLAN_CATEGORY_HT && + *category != WLAN_CATEGORY_SELF_PROTECTED && + *category != WLAN_CATEGORY_VENDOR_SPECIFIC; + } + + return false; +} + +/** + * ieee80211_is_public_action - check if frame is a public action frame + * @hdr: the frame + * @len: length of the frame + */ +static inline bool ieee80211_is_public_action(struct ieee80211_hdr *hdr, + size_t len) +{ + struct ieee80211_mgmt *mgmt = (void *)hdr; + + if (len < IEEE80211_MIN_ACTION_SIZE) + return false; + if (!ieee80211_is_action(hdr->frame_control)) + return false; + return mgmt->u.action.category == WLAN_CATEGORY_PUBLIC; +} + +/** + * ieee80211_fhss_chan_to_freq - get channel frequency + * @channel: the FHSS channel + * + * Convert IEEE802.11 FHSS channel to frequency (MHz) + * Ref IEEE 802.11-2007 section 14.6 + */ +static inline int ieee80211_fhss_chan_to_freq(int channel) +{ + if ((channel > 1) && (channel < 96)) + return channel + 2400; + else + return -1; +} + +/** + * ieee80211_freq_to_fhss_chan - get channel + * @freq: the channels frequency + * + * Convert frequency (MHz) to IEEE802.11 FHSS channel + * Ref IEEE 802.11-2007 section 14.6 + */ +static inline int ieee80211_freq_to_fhss_chan(int freq) +{ + if ((freq > 2401) && (freq < 2496)) + return freq - 2400; + else + return -1; +} + +/** + * ieee80211_dsss_chan_to_freq - get channel center frequency + * @channel: the DSSS channel + * + * Convert IEEE802.11 DSSS channel to the center frequency (MHz). + * Ref IEEE 802.11-2007 section 15.6 + */ +static inline int ieee80211_dsss_chan_to_freq(int channel) +{ + if ((channel > 0) && (channel < 14)) + return 2407 + (channel * 5); + else if (channel == 14) + return 2484; + else + return -1; +} + +/** + * ieee80211_freq_to_dsss_chan - get channel + * @freq: the frequency + * + * Convert frequency (MHz) to IEEE802.11 DSSS channel + * Ref IEEE 802.11-2007 section 15.6 + * + * This routine selects the channel with the closest center frequency. + */ +static inline int ieee80211_freq_to_dsss_chan(int freq) +{ + if ((freq >= 2410) && (freq < 2475)) + return (freq - 2405) / 5; + else if ((freq >= 2482) && (freq < 2487)) + return 14; + else + return -1; +} + +/* Convert IEEE802.11 HR DSSS channel to frequency (MHz) and back + * Ref IEEE 802.11-2007 section 18.4.6.2 + * + * The channels and frequencies are the same as those defined for DSSS + */ +#define ieee80211_hr_chan_to_freq(chan) ieee80211_dsss_chan_to_freq(chan) +#define ieee80211_freq_to_hr_chan(freq) ieee80211_freq_to_dsss_chan(freq) + +/* Convert IEEE802.11 ERP channel to frequency (MHz) and back + * Ref IEEE 802.11-2007 section 19.4.2 + */ +#define ieee80211_erp_chan_to_freq(chan) ieee80211_hr_chan_to_freq(chan) +#define ieee80211_freq_to_erp_chan(freq) ieee80211_freq_to_hr_chan(freq) + +/** + * ieee80211_ofdm_chan_to_freq - get channel center frequency + * @s_freq: starting frequency == (dotChannelStartingFactor/2) MHz + * @channel: the OFDM channel + * + * Convert IEEE802.11 OFDM channel to center frequency (MHz) + * Ref IEEE 802.11-2007 section 17.3.8.3.2 + */ +static inline int ieee80211_ofdm_chan_to_freq(int s_freq, int channel) +{ + if ((channel > 0) && (channel <= 200) && + (s_freq >= 4000)) + return s_freq + (channel * 5); + else + return -1; +} + +/** + * ieee80211_freq_to_ofdm_channel - get channel + * @s_freq: starting frequency == (dotChannelStartingFactor/2) MHz + * @freq: the frequency + * + * Convert frequency (MHz) to IEEE802.11 OFDM channel + * Ref IEEE 802.11-2007 section 17.3.8.3.2 + * + * This routine selects the channel with the closest center frequency. + */ +static inline int ieee80211_freq_to_ofdm_chan(int s_freq, int freq) +{ + if ((freq > (s_freq + 2)) && (freq <= (s_freq + 1202)) && + (s_freq >= 4000)) + return (freq + 2 - s_freq) / 5; + else + return -1; +} + +/** + * ieee80211_tu_to_usec - convert time units (TU) to microseconds + * @tu: the TUs + */ +static inline unsigned long ieee80211_tu_to_usec(unsigned long tu) +{ + return 1024 * tu; +} + +/** + * ieee80211_check_tim - check if AID bit is set in TIM + * @tim: the TIM IE + * @tim_len: length of the TIM IE + * @aid: the AID to look for + */ +static inline bool ieee80211_check_tim(struct ieee80211_tim_ie *tim, + u8 tim_len, u16 aid) +{ + u8 mask; + u8 indexn0, indexn1, indexn2; + + if (unlikely(!tim || tim_len < sizeof(*tim))) + return false; + + aid &= 0x3fff; + indexn0 = aid / 8; + mask = 1 << (aid & 7); + + indexn1 = tim->bitmap_ctrl & 0xfe; + indexn2 = tim_len + indexn1 - 4; + + if (indexn0 < indexn1 || indexn0 > indexn2) + return false; + + indexn0 -= indexn1; + + return !!(tim->virtual_map[indexn0] & mask); +} + +#endif /* __LINUX_IEEE80211_H */ diff --git a/carl9170fw/include/linux/types.h b/carl9170fw/include/linux/types.h new file mode 100644 index 0000000..3f45f0f --- /dev/null +++ b/carl9170fw/include/linux/types.h @@ -0,0 +1,61 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __LINUX_TYPES_H +#define __LINUX_TYPES_H + +#include +#include +#include +#include + +#if BYTE_ORDER == BIG_ENDIAN +#error "big endian is not supported by target" +#endif + +typedef uint16_t __le16; +typedef uint32_t __le32; +typedef uint64_t __le64; + +typedef uint8_t u8; +typedef uint8_t __u8; +typedef uint16_t u16; +typedef uint16_t __u16; +typedef uint32_t u32; +typedef uint32_t __u32; +typedef uint64_t u64; +typedef uint64_t __u64; +typedef int8_t s8; +typedef int8_t __s8; +typedef int16_t s16; +typedef int16_t __s16; +typedef int32_t s32; +typedef int32_t __s32; +typedef int64_t s64; +typedef int64_t __s64; + +#define cpu_to_le16(x) ((__le16)(uint16_t)(x)) +#define le16_to_cpu(x) ((uint16_t)(__le16)(x)) +#define cpu_to_le32(x) ((__le32)(uint32_t)(x)) +#define le32_to_cpu(x) ((uint32_t)(__le32)(x)) +#define cpu_to_le64(x) ((__le64)(uint64_t)(x)) +#define le64_to_cpu(x) ((uint64_t)(__le64)(x)) + +typedef uint16_t __be16; +typedef uint32_t __be32; +typedef uint64_t __be64; + +#endif /* __LINUX_TYPES_H */ diff --git a/carl9170fw/include/shared/eeprom.h b/carl9170fw/include/shared/eeprom.h new file mode 100644 index 0000000..7cff40a --- /dev/null +++ b/carl9170fw/include/shared/eeprom.h @@ -0,0 +1,216 @@ +/* + * Shared Atheros AR9170 Header + * + * EEPROM layout + * + * Copyright 2008, Johannes Berg + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, see + * http://www.gnu.org/licenses/. + * + * This file incorporates work covered by the following copyright and + * permission notice: + * Copyright (c) 2007-2008 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. + */ +#ifndef __CARL9170_SHARED_EEPROM_H +#define __CARL9170_SHARED_EEPROM_H + +#define AR9170_EEPROM_START 0x1600 + +#define AR5416_MAX_CHAINS 2 +#define AR5416_MODAL_SPURS 5 + +struct ar9170_eeprom_modal { + __le32 antCtrlChain[AR5416_MAX_CHAINS]; + __le32 antCtrlCommon; + s8 antennaGainCh[AR5416_MAX_CHAINS]; + u8 switchSettling; + u8 txRxAttenCh[AR5416_MAX_CHAINS]; + u8 rxTxMarginCh[AR5416_MAX_CHAINS]; + s8 adcDesiredSize; + s8 pgaDesiredSize; + u8 xlnaGainCh[AR5416_MAX_CHAINS]; + u8 txEndToXpaOff; + u8 txEndToRxOn; + u8 txFrameToXpaOn; + u8 thresh62; + s8 noiseFloorThreshCh[AR5416_MAX_CHAINS]; + u8 xpdGain; + u8 xpd; + s8 iqCalICh[AR5416_MAX_CHAINS]; + s8 iqCalQCh[AR5416_MAX_CHAINS]; + u8 pdGainOverlap; + u8 ob; + u8 db; + u8 xpaBiasLvl; + u8 pwrDecreaseFor2Chain; + u8 pwrDecreaseFor3Chain; + u8 txFrameToDataStart; + u8 txFrameToPaOn; + u8 ht40PowerIncForPdadc; + u8 bswAtten[AR5416_MAX_CHAINS]; + u8 bswMargin[AR5416_MAX_CHAINS]; + u8 swSettleHt40; + u8 reserved[22]; + struct spur_channel { + __le16 spurChan; + u8 spurRangeLow; + u8 spurRangeHigh; + } __packed spur_channels[AR5416_MODAL_SPURS]; +} __packed; + +#define AR5416_NUM_PD_GAINS 4 +#define AR5416_PD_GAIN_ICEPTS 5 + +struct ar9170_calibration_data_per_freq { + u8 pwr_pdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS]; + u8 vpd_pdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS]; +} __packed; + +#define AR5416_NUM_5G_CAL_PIERS 8 +#define AR5416_NUM_2G_CAL_PIERS 4 + +#define AR5416_NUM_5G_TARGET_PWRS 8 +#define AR5416_NUM_2G_CCK_TARGET_PWRS 3 +#define AR5416_NUM_2G_OFDM_TARGET_PWRS 4 +#define AR5416_MAX_NUM_TGT_PWRS 8 + +struct ar9170_calibration_target_power_legacy { + u8 freq; + u8 power[4]; +} __packed; + +struct ar9170_calibration_target_power_ht { + u8 freq; + u8 power[8]; +} __packed; + +#define AR5416_NUM_CTLS 24 + +struct ar9170_calctl_edges { + u8 channel; +#define AR9170_CALCTL_EDGE_FLAGS 0xC0 + u8 power_flags; +} __packed; + +#define AR5416_NUM_BAND_EDGES 8 + +struct ar9170_calctl_data { + struct ar9170_calctl_edges + control_edges[AR5416_MAX_CHAINS][AR5416_NUM_BAND_EDGES]; +} __packed; + +struct ar9170_eeprom { + __le16 length; + __le16 checksum; + __le16 version; + u8 operating_flags; +#define AR9170_OPFLAG_5GHZ 1 +#define AR9170_OPFLAG_2GHZ 2 + u8 misc; + __le16 reg_domain[2]; + u8 mac_address[6]; + u8 rx_mask; + u8 tx_mask; + __le16 rf_silent; + __le16 bluetooth_options; + __le16 device_capabilities; + __le32 build_number; + u8 deviceType; + u8 reserved[33]; + + u8 customer_data[64]; + + struct ar9170_eeprom_modal + modal_header[2]; + + u8 cal_freq_pier_5G[AR5416_NUM_5G_CAL_PIERS]; + u8 cal_freq_pier_2G[AR5416_NUM_2G_CAL_PIERS]; + + struct ar9170_calibration_data_per_freq + cal_pier_data_5G[AR5416_MAX_CHAINS][AR5416_NUM_5G_CAL_PIERS], + cal_pier_data_2G[AR5416_MAX_CHAINS][AR5416_NUM_2G_CAL_PIERS]; + + /* power calibration data */ + struct ar9170_calibration_target_power_legacy + cal_tgt_pwr_5G[AR5416_NUM_5G_TARGET_PWRS]; + struct ar9170_calibration_target_power_ht + cal_tgt_pwr_5G_ht20[AR5416_NUM_5G_TARGET_PWRS], + cal_tgt_pwr_5G_ht40[AR5416_NUM_5G_TARGET_PWRS]; + + struct ar9170_calibration_target_power_legacy + cal_tgt_pwr_2G_cck[AR5416_NUM_2G_CCK_TARGET_PWRS], + cal_tgt_pwr_2G_ofdm[AR5416_NUM_2G_OFDM_TARGET_PWRS]; + struct ar9170_calibration_target_power_ht + cal_tgt_pwr_2G_ht20[AR5416_NUM_2G_OFDM_TARGET_PWRS], + cal_tgt_pwr_2G_ht40[AR5416_NUM_2G_OFDM_TARGET_PWRS]; + + /* conformance testing limits */ + u8 ctl_index[AR5416_NUM_CTLS]; + struct ar9170_calctl_data + ctl_data[AR5416_NUM_CTLS]; + + u8 pad; + __le16 subsystem_id; +} __packed; + +#define AR9170_LED_MODE_POWER_ON 0x0001 +#define AR9170_LED_MODE_RESERVED 0x0002 +#define AR9170_LED_MODE_DISABLE_STATE 0x0004 +#define AR9170_LED_MODE_OFF_IN_PSM 0x0008 + +/* AR9170_LED_MODE BIT is set */ +#define AR9170_LED_MODE_FREQUENCY_S 4 +#define AR9170_LED_MODE_FREQUENCY 0x0030 +#define AR9170_LED_MODE_FREQUENCY_1HZ 0x0000 +#define AR9170_LED_MODE_FREQUENCY_0_5HZ 0x0010 +#define AR9170_LED_MODE_FREQUENCY_0_25HZ 0x0020 +#define AR9170_LED_MODE_FREQUENCY_0_125HZ 0x0030 + +/* AR9170_LED_MODE BIT is not set */ +#define AR9170_LED_MODE_CONN_STATE_S 4 +#define AR9170_LED_MODE_CONN_STATE 0x0030 +#define AR9170_LED_MODE_CONN_STATE_FORCE_OFF 0x0000 +#define AR9170_LED_MODE_CONN_STATE_FORCE_ON 0x0010 +/* Idle off / Active on */ +#define AR9170_LED_MODE_CONN_STATE_IOFF_AON 0x0020 +/* Idle on / Active off */ +#define AR9170_LED_MODE_CONN_STATE_ION_AOFF 0x0010 + +#define AR9170_LED_MODE_MODE 0x0040 +#define AR9170_LED_MODE_RESERVED2 0x0080 + +#define AR9170_LED_MODE_TON_SCAN_S 8 +#define AR9170_LED_MODE_TON_SCAN 0x0f00 + +#define AR9170_LED_MODE_TOFF_SCAN_S 12 +#define AR9170_LED_MODE_TOFF_SCAN 0xf000 + +struct ar9170_led_mode { + __le16 led; +}; + +#endif /* __CARL9170_SHARED_EEPROM_H */ diff --git a/carl9170fw/include/shared/fwcmd.h b/carl9170fw/include/shared/fwcmd.h new file mode 100644 index 0000000..9443c80 --- /dev/null +++ b/carl9170fw/include/shared/fwcmd.h @@ -0,0 +1,318 @@ +/* + * Shared Atheros AR9170 Header + * + * Firmware command interface definitions + * + * Copyright 2008, Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, see + * http://www.gnu.org/licenses/. + * + * This file incorporates work covered by the following copyright and + * permission notice: + * Copyright (c) 2007-2008 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. + */ + +#ifndef __CARL9170_SHARED_FWCMD_H +#define __CARL9170_SHARED_FWCMD_H + +#define CARL9170_MAX_CMD_LEN 64 +#define CARL9170_MAX_CMD_PAYLOAD_LEN 60 + +#define CARL9170FW_API_MIN_VER 1 +#define CARL9170FW_API_MAX_VER 1 + +enum carl9170_cmd_oids { + CARL9170_CMD_RREG = 0x00, + CARL9170_CMD_WREG = 0x01, + CARL9170_CMD_ECHO = 0x02, + CARL9170_CMD_SWRST = 0x03, + CARL9170_CMD_REBOOT = 0x04, + CARL9170_CMD_BCN_CTRL = 0x05, + CARL9170_CMD_READ_TSF = 0x06, + CARL9170_CMD_RX_FILTER = 0x07, + CARL9170_CMD_WOL = 0x08, + CARL9170_CMD_TALLY = 0x09, + + /* CAM */ + CARL9170_CMD_EKEY = 0x10, + CARL9170_CMD_DKEY = 0x11, + + /* RF / PHY */ + CARL9170_CMD_FREQUENCY = 0x20, + CARL9170_CMD_RF_INIT = 0x21, + CARL9170_CMD_SYNTH = 0x22, + CARL9170_CMD_FREQ_START = 0x23, + CARL9170_CMD_PSM = 0x24, + + /* Asychronous command flag */ + CARL9170_CMD_ASYNC_FLAG = 0x40, + CARL9170_CMD_WREG_ASYNC = (CARL9170_CMD_WREG | + CARL9170_CMD_ASYNC_FLAG), + CARL9170_CMD_REBOOT_ASYNC = (CARL9170_CMD_REBOOT | + CARL9170_CMD_ASYNC_FLAG), + CARL9170_CMD_BCN_CTRL_ASYNC = (CARL9170_CMD_BCN_CTRL | + CARL9170_CMD_ASYNC_FLAG), + CARL9170_CMD_PSM_ASYNC = (CARL9170_CMD_PSM | + CARL9170_CMD_ASYNC_FLAG), + + /* responses and traps */ + CARL9170_RSP_FLAG = 0xc0, + CARL9170_RSP_PRETBTT = 0xc0, + CARL9170_RSP_TXCOMP = 0xc1, + CARL9170_RSP_BEACON_CONFIG = 0xc2, + CARL9170_RSP_ATIM = 0xc3, + CARL9170_RSP_WATCHDOG = 0xc6, + CARL9170_RSP_TEXT = 0xca, + CARL9170_RSP_HEXDUMP = 0xcc, + CARL9170_RSP_RADAR = 0xcd, + CARL9170_RSP_GPIO = 0xce, + CARL9170_RSP_BOOT = 0xcf, +}; + +struct carl9170_set_key_cmd { + __le16 user; + __le16 keyId; + __le16 type; + u8 macAddr[6]; + u32 key[4]; +} __packed __aligned(4); +#define CARL9170_SET_KEY_CMD_SIZE 28 + +struct carl9170_disable_key_cmd { + __le16 user; + __le16 padding; +} __packed __aligned(4); +#define CARL9170_DISABLE_KEY_CMD_SIZE 4 + +struct carl9170_u32_list { + u32 vals[0]; +} __packed; + +struct carl9170_reg_list { + __le32 regs[0]; +} __packed; + +struct carl9170_write_reg { + struct { + __le32 addr; + __le32 val; + } regs[0] __packed; +} __packed; + +#define CARL9170FW_PHY_HT_ENABLE 0x4 +#define CARL9170FW_PHY_HT_DYN2040 0x8 +#define CARL9170FW_PHY_HT_EXT_CHAN_OFF 0x3 +#define CARL9170FW_PHY_HT_EXT_CHAN_OFF_S 2 + +struct carl9170_rf_init { + __le32 freq; + u8 ht_settings; + u8 padding2[3]; + __le32 delta_slope_coeff_exp; + __le32 delta_slope_coeff_man; + __le32 delta_slope_coeff_exp_shgi; + __le32 delta_slope_coeff_man_shgi; + __le32 finiteLoopCount; +} __packed; +#define CARL9170_RF_INIT_SIZE 28 + +struct carl9170_rf_init_result { + __le32 ret; /* AR9170_PHY_REG_AGC_CONTROL */ +} __packed; +#define CARL9170_RF_INIT_RESULT_SIZE 4 + +#define CARL9170_PSM_SLEEP 0x1000 +#define CARL9170_PSM_SOFTWARE 0 +#define CARL9170_PSM_WAKE 0 /* internally used. */ +#define CARL9170_PSM_COUNTER 0xfff +#define CARL9170_PSM_COUNTER_S 0 + +struct carl9170_psm { + __le32 state; +} __packed; +#define CARL9170_PSM_SIZE 4 + +struct carl9170_rx_filter_cmd { + __le32 rx_filter; +} __packed; +#define CARL9170_RX_FILTER_CMD_SIZE 4 + +#define CARL9170_RX_FILTER_BAD 0x01 +#define CARL9170_RX_FILTER_OTHER_RA 0x02 +#define CARL9170_RX_FILTER_DECRY_FAIL 0x04 +#define CARL9170_RX_FILTER_CTL_OTHER 0x08 +#define CARL9170_RX_FILTER_CTL_PSPOLL 0x10 +#define CARL9170_RX_FILTER_CTL_BACKR 0x20 +#define CARL9170_RX_FILTER_MGMT 0x40 +#define CARL9170_RX_FILTER_DATA 0x80 +#define CARL9170_RX_FILTER_EVERYTHING (~0) + +struct carl9170_bcn_ctrl_cmd { + __le32 vif_id; + __le32 mode; + __le32 bcn_addr; + __le32 bcn_len; +} __packed; +#define CARL9170_BCN_CTRL_CMD_SIZE 16 + +#define CARL9170_BCN_CTRL_DRAIN 0 +#define CARL9170_BCN_CTRL_CAB_TRIGGER 1 + +struct carl9170_wol_cmd { + __le32 flags; + u8 mac[6]; + u8 bssid[6]; + __le32 null_interval; + __le32 free_for_use2; + __le32 mask; + u8 pattern[32]; +} __packed; + +#define CARL9170_WOL_CMD_SIZE 60 + +#define CARL9170_WOL_DISCONNECT 1 +#define CARL9170_WOL_MAGIC_PKT 2 + +struct carl9170_cmd_head { + union { + struct { + u8 len; + u8 cmd; + u8 seq; + u8 ext; + } __packed; + + u32 hdr_data; + } __packed; +} __packed; + +struct carl9170_cmd { + struct carl9170_cmd_head hdr; + union { + struct carl9170_set_key_cmd setkey; + struct carl9170_disable_key_cmd disablekey; + struct carl9170_u32_list echo; + struct carl9170_reg_list rreg; + struct carl9170_write_reg wreg; + struct carl9170_rf_init rf_init; + struct carl9170_psm psm; + struct carl9170_wol_cmd wol; + struct carl9170_bcn_ctrl_cmd bcn_ctrl; + struct carl9170_rx_filter_cmd rx_filter; + u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN]; + } __packed; +} __packed __aligned(4); + +#define CARL9170_TX_STATUS_QUEUE 3 +#define CARL9170_TX_STATUS_QUEUE_S 0 +#define CARL9170_TX_STATUS_RIX_S 2 +#define CARL9170_TX_STATUS_RIX (3 << CARL9170_TX_STATUS_RIX_S) +#define CARL9170_TX_STATUS_TRIES_S 4 +#define CARL9170_TX_STATUS_TRIES (7 << CARL9170_TX_STATUS_TRIES_S) +#define CARL9170_TX_STATUS_SUCCESS 0x80 + +#ifdef __CARL9170FW__ +/* + * NOTE: + * Both structs [carl9170_tx_status and _carl9170_tx_status] + * need to be "bit for bit" in sync. + */ +struct carl9170_tx_status { + /* + * Beware of compiler bugs in all gcc pre 4.4! + */ + + u8 cookie; + u8 queue:2; + u8 rix:2; + u8 tries:3; + u8 success:1; +} __packed; +#endif /* __CARL9170FW__ */ + +struct _carl9170_tx_status { + /* + * This version should be immune to all alignment bugs. + */ + + u8 cookie; + u8 info; +} __packed; +#define CARL9170_TX_STATUS_SIZE 2 + +#define CARL9170_RSP_TX_STATUS_NUM (CARL9170_MAX_CMD_PAYLOAD_LEN / \ + sizeof(struct _carl9170_tx_status)) + +#define CARL9170_TX_MAX_RATE_TRIES 7 + +#define CARL9170_TX_MAX_RATES 4 +#define CARL9170_TX_MAX_RETRY_RATES (CARL9170_TX_MAX_RATES - 1) +#define CARL9170_ERR_MAGIC "ERR:" +#define CARL9170_BUG_MAGIC "BUG:" + +struct carl9170_gpio { + __le32 gpio; +} __packed; +#define CARL9170_GPIO_SIZE 4 + +struct carl9170_tsf_rsp { + union { + __le32 tsf[2]; + __le64 tsf_64; + } __packed; +} __packed; +#define CARL9170_TSF_RSP_SIZE 8 + +struct carl9170_tally_rsp { + __le32 active; + __le32 cca; + __le32 tx_time; + __le32 rx_total; + __le32 rx_overrun; + __le32 tick; +} __packed; + +struct carl9170_rsp { + struct carl9170_cmd_head hdr; + + union { + struct carl9170_rf_init_result rf_init_res; + struct carl9170_u32_list rreg_res; + struct carl9170_u32_list echo; +#ifdef __CARL9170FW__ + struct carl9170_tx_status tx_status[0]; +#endif /* __CARL9170FW__ */ + struct _carl9170_tx_status _tx_status[0]; + struct carl9170_gpio gpio; + struct carl9170_tsf_rsp tsf; + struct carl9170_psm psm; + struct carl9170_tally_rsp tally; + u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN]; + } __packed; +} __packed __aligned(4); + +#endif /* __CARL9170_SHARED_FWCMD_H */ diff --git a/carl9170fw/include/shared/fwdesc.h b/carl9170fw/include/shared/fwdesc.h new file mode 100644 index 0000000..66848d4 --- /dev/null +++ b/carl9170fw/include/shared/fwdesc.h @@ -0,0 +1,277 @@ +/* + * Shared CARL9170 Header + * + * Firmware descriptor format + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, see + * http://www.gnu.org/licenses/. + */ + +#ifndef __CARL9170_SHARED_FWDESC_H +#define __CARL9170_SHARED_FWDESC_H + +/* NOTE: Don't mess with the order of the flags! */ +enum carl9170fw_feature_list { + /* Always set */ + CARL9170FW_DUMMY_FEATURE, + + /* + * Indicates that this image has special boot block which prevents + * legacy drivers to drive the firmware. + */ + CARL9170FW_MINIBOOT, + + /* usb registers are initialized by the firmware */ + CARL9170FW_USB_INIT_FIRMWARE, + + /* command traps & notifications are send through EP2 */ + CARL9170FW_USB_RESP_EP2, + + /* usb download (app -> fw) stream */ + CARL9170FW_USB_DOWN_STREAM, + + /* usb upload (fw -> app) stream */ + CARL9170FW_USB_UP_STREAM, + + /* unusable - reserved to flag non-functional debug firmwares */ + CARL9170FW_UNUSABLE, + + /* AR9170_CMD_RF_INIT, AR9170_CMD_FREQ_START, AR9170_CMD_FREQUENCY */ + CARL9170FW_COMMAND_PHY, + + /* AR9170_CMD_EKEY, AR9170_CMD_DKEY */ + CARL9170FW_COMMAND_CAM, + + /* Firmware has a software Content After Beacon Queueing mechanism */ + CARL9170FW_WLANTX_CAB, + + /* The firmware is capable of responding to incoming BAR frames */ + CARL9170FW_HANDLE_BACK_REQ, + + /* GPIO Interrupt | CARL9170_RSP_GPIO */ + CARL9170FW_GPIO_INTERRUPT, + + /* Firmware PSM support | CARL9170_CMD_PSM */ + CARL9170FW_PSM, + + /* Firmware RX filter | CARL9170_CMD_RX_FILTER */ + CARL9170FW_RX_FILTER, + + /* Wake up on WLAN */ + CARL9170FW_WOL, + + /* Firmware supports PSM in the 5GHZ Band */ + CARL9170FW_FIXED_5GHZ_PSM, + + /* HW (ANI, CCA, MIB) tally counters */ + CARL9170FW_HW_COUNTERS, + + /* Firmware will pass BA when BARs are queued */ + CARL9170FW_RX_BA_FILTER, + + /* KEEP LAST */ + __CARL9170FW_FEATURE_NUM +}; + +#define OTUS_MAGIC "OTAR" +#define MOTD_MAGIC "MOTD" +#define FIX_MAGIC "FIX\0" +#define DBG_MAGIC "DBG\0" +#define CHK_MAGIC "CHK\0" +#define TXSQ_MAGIC "TXSQ" +#define WOL_MAGIC "WOL\0" +#define LAST_MAGIC "LAST" + +#define CARL9170FW_SET_DAY(d) (((d) - 1) % 31) +#define CARL9170FW_SET_MONTH(m) ((((m) - 1) % 12) * 31) +#define CARL9170FW_SET_YEAR(y) (((y) - 10) * 372) + +#define CARL9170FW_GET_DAY(d) (((d) % 31) + 1) +#define CARL9170FW_GET_MONTH(m) ((((m) / 31) % 12) + 1) +#define CARL9170FW_GET_YEAR(y) ((y) / 372 + 10) + +#define CARL9170FW_MAGIC_SIZE 4 + +struct carl9170fw_desc_head { + u8 magic[CARL9170FW_MAGIC_SIZE]; + __le16 length; + u8 min_ver; + u8 cur_ver; +} __packed; +#define CARL9170FW_DESC_HEAD_SIZE \ + (sizeof(struct carl9170fw_desc_head)) + +#define CARL9170FW_OTUS_DESC_MIN_VER 6 +#define CARL9170FW_OTUS_DESC_CUR_VER 7 +struct carl9170fw_otus_desc { + struct carl9170fw_desc_head head; + __le32 feature_set; + __le32 fw_address; + __le32 bcn_addr; + __le16 bcn_len; + __le16 miniboot_size; + __le16 tx_frag_len; + __le16 rx_max_frame_len; + u8 tx_descs; + u8 cmd_bufs; + u8 api_ver; + u8 vif_num; +} __packed; +#define CARL9170FW_OTUS_DESC_SIZE \ + (sizeof(struct carl9170fw_otus_desc)) + +#define CARL9170FW_MOTD_STRING_LEN 24 +#define CARL9170FW_MOTD_RELEASE_LEN 20 +#define CARL9170FW_MOTD_DESC_MIN_VER 1 +#define CARL9170FW_MOTD_DESC_CUR_VER 2 +struct carl9170fw_motd_desc { + struct carl9170fw_desc_head head; + __le32 fw_year_month_day; + char desc[CARL9170FW_MOTD_STRING_LEN]; + char release[CARL9170FW_MOTD_RELEASE_LEN]; +} __packed; +#define CARL9170FW_MOTD_DESC_SIZE \ + (sizeof(struct carl9170fw_motd_desc)) + +#define CARL9170FW_FIX_DESC_MIN_VER 1 +#define CARL9170FW_FIX_DESC_CUR_VER 2 +struct carl9170fw_fix_entry { + __le32 address; + __le32 mask; + __le32 value; +} __packed; + +struct carl9170fw_fix_desc { + struct carl9170fw_desc_head head; + struct carl9170fw_fix_entry data[0]; +} __packed; +#define CARL9170FW_FIX_DESC_SIZE \ + (sizeof(struct carl9170fw_fix_desc)) + +#define CARL9170FW_DBG_DESC_MIN_VER 1 +#define CARL9170FW_DBG_DESC_CUR_VER 3 +struct carl9170fw_dbg_desc { + struct carl9170fw_desc_head head; + + __le32 bogoclock_addr; + __le32 counter_addr; + __le32 rx_total_addr; + __le32 rx_overrun_addr; + __le32 rx_filter; + + /* Put your debugging definitions here */ +} __packed; +#define CARL9170FW_DBG_DESC_SIZE \ + (sizeof(struct carl9170fw_dbg_desc)) + +#define CARL9170FW_CHK_DESC_MIN_VER 1 +#define CARL9170FW_CHK_DESC_CUR_VER 2 +struct carl9170fw_chk_desc { + struct carl9170fw_desc_head head; + __le32 fw_crc32; + __le32 hdr_crc32; +} __packed; +#define CARL9170FW_CHK_DESC_SIZE \ + (sizeof(struct carl9170fw_chk_desc)) + +#define CARL9170FW_TXSQ_DESC_MIN_VER 1 +#define CARL9170FW_TXSQ_DESC_CUR_VER 1 +struct carl9170fw_txsq_desc { + struct carl9170fw_desc_head head; + + __le32 seq_table_addr; +} __packed; +#define CARL9170FW_TXSQ_DESC_SIZE \ + (sizeof(struct carl9170fw_txsq_desc)) + +#define CARL9170FW_WOL_DESC_MIN_VER 1 +#define CARL9170FW_WOL_DESC_CUR_VER 1 +struct carl9170fw_wol_desc { + struct carl9170fw_desc_head head; + + __le32 supported_triggers; /* CARL9170_WOL_ */ +} __packed; +#define CARL9170FW_WOL_DESC_SIZE \ + (sizeof(struct carl9170fw_wol_desc)) + +#define CARL9170FW_LAST_DESC_MIN_VER 1 +#define CARL9170FW_LAST_DESC_CUR_VER 2 +struct carl9170fw_last_desc { + struct carl9170fw_desc_head head; +} __packed; +#define CARL9170FW_LAST_DESC_SIZE \ + (sizeof(struct carl9170fw_fix_desc)) + +#define CARL9170FW_DESC_MAX_LENGTH 8192 + +#define CARL9170FW_FILL_DESC(_magic, _length, _min_ver, _cur_ver) \ + .head = { \ + .magic = _magic, \ + .length = cpu_to_le16(_length), \ + .min_ver = _min_ver, \ + .cur_ver = _cur_ver, \ + } + +static inline void carl9170fw_fill_desc(struct carl9170fw_desc_head *head, + u8 magic[CARL9170FW_MAGIC_SIZE], + __le16 length, u8 min_ver, u8 cur_ver) +{ + head->magic[0] = magic[0]; + head->magic[1] = magic[1]; + head->magic[2] = magic[2]; + head->magic[3] = magic[3]; + + head->length = length; + head->min_ver = min_ver; + head->cur_ver = cur_ver; +} + +#define carl9170fw_for_each_hdr(desc, fw_desc) \ + for (desc = fw_desc; \ + memcmp(desc->magic, LAST_MAGIC, CARL9170FW_MAGIC_SIZE) && \ + le16_to_cpu(desc->length) >= CARL9170FW_DESC_HEAD_SIZE && \ + le16_to_cpu(desc->length) < CARL9170FW_DESC_MAX_LENGTH; \ + desc = (void *)((unsigned long)desc + le16_to_cpu(desc->length))) + +#define CHECK_HDR_VERSION(head, _min_ver) \ + (((head)->cur_ver < _min_ver) || ((head)->min_ver > _min_ver)) \ + +static inline bool carl9170fw_supports(__le32 list, u8 feature) +{ + return le32_to_cpu(list) & BIT(feature); +} + +static inline bool carl9170fw_desc_cmp(const struct carl9170fw_desc_head *head, + const u8 descid[CARL9170FW_MAGIC_SIZE], + u16 min_len, u8 compatible_revision) +{ + if (descid[0] == head->magic[0] && descid[1] == head->magic[1] && + descid[2] == head->magic[2] && descid[3] == head->magic[3] && + !CHECK_HDR_VERSION(head, compatible_revision) && + (le16_to_cpu(head->length) >= min_len)) + return true; + + return false; +} + +#define CARL9170FW_MIN_SIZE 32 +#define CARL9170FW_MAX_SIZE 16384 + +static inline bool carl9170fw_size_check(unsigned int len) +{ + return (len <= CARL9170FW_MAX_SIZE && len >= CARL9170FW_MIN_SIZE); +} + +#endif /* __CARL9170_SHARED_FWDESC_H */ diff --git a/carl9170fw/include/shared/hw.h b/carl9170fw/include/shared/hw.h new file mode 100644 index 0000000..fa834c1 --- /dev/null +++ b/carl9170fw/include/shared/hw.h @@ -0,0 +1,817 @@ +/* + * Shared Atheros AR9170 Header + * + * Register map, hardware-specific definitions + * + * Copyright 2008, Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, see + * http://www.gnu.org/licenses/. + * + * This file incorporates work covered by the following copyright and + * permission notice: + * Copyright (c) 2007-2008 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. + */ + +#ifndef __CARL9170_SHARED_HW_H +#define __CARL9170_SHARED_HW_H + +/* High Speed UART */ +#define AR9170_UART_REG_BASE 0x1c0000 + +/* Definitions of interrupt registers */ +#define AR9170_UART_REG_RX_BUFFER (AR9170_UART_REG_BASE + 0x000) +#define AR9170_UART_REG_TX_HOLDING (AR9170_UART_REG_BASE + 0x004) +#define AR9170_UART_REG_FIFO_CONTROL (AR9170_UART_REG_BASE + 0x010) +#define AR9170_UART_FIFO_CTRL_RESET_RX_FIFO 0x02 +#define AR9170_UART_FIFO_CTRL_RESET_TX_FIFO 0x04 + +#define AR9170_UART_REG_LINE_CONTROL (AR9170_UART_REG_BASE + 0x014) +#define AR9170_UART_REG_MODEM_CONTROL (AR9170_UART_REG_BASE + 0x018) +#define AR9170_UART_MODEM_CTRL_DTR_BIT 0x01 +#define AR9170_UART_MODEM_CTRL_RTS_BIT 0x02 +#define AR9170_UART_MODEM_CTRL_INTERNAL_LOOP_BACK 0x10 +#define AR9170_UART_MODEM_CTRL_AUTO_RTS 0x20 +#define AR9170_UART_MODEM_CTRL_AUTO_CTR 0x40 + +#define AR9170_UART_REG_LINE_STATUS (AR9170_UART_REG_BASE + 0x01c) +#define AR9170_UART_LINE_STS_RX_DATA_READY 0x01 +#define AR9170_UART_LINE_STS_RX_BUFFER_OVERRUN 0x02 +#define AR9170_UART_LINE_STS_RX_BREAK_IND 0x10 +#define AR9170_UART_LINE_STS_TX_FIFO_NEAR_EMPTY 0x20 +#define AR9170_UART_LINE_STS_TRANSMITTER_EMPTY 0x40 + +#define AR9170_UART_REG_MODEM_STATUS (AR9170_UART_REG_BASE + 0x020) +#define AR9170_UART_MODEM_STS_CTS_CHANGE 0x01 +#define AR9170_UART_MODEM_STS_DSR_CHANGE 0x02 +#define AR9170_UART_MODEM_STS_DCD_CHANGE 0x08 +#define AR9170_UART_MODEM_STS_CTS_COMPL 0x10 +#define AR9170_UART_MODEM_STS_DSR_COMPL 0x20 +#define AR9170_UART_MODEM_STS_DCD_COMPL 0x80 + +#define AR9170_UART_REG_SCRATCH (AR9170_UART_REG_BASE + 0x024) +#define AR9170_UART_REG_DIVISOR_LSB (AR9170_UART_REG_BASE + 0x028) +#define AR9170_UART_REG_DIVISOR_MSB (AR9170_UART_REG_BASE + 0x02c) +#define AR9170_UART_REG_WORD_RX_BUFFER (AR9170_UART_REG_BASE + 0x034) +#define AR9170_UART_REG_WORD_TX_HOLDING (AR9170_UART_REG_BASE + 0x038) +#define AR9170_UART_REG_FIFO_COUNT (AR9170_UART_REG_BASE + 0x03c) +#define AR9170_UART_REG_REMAINDER (AR9170_UART_REG_BASE + 0x04c) + +/* Timer */ +#define AR9170_TIMER_REG_BASE 0x1c1000 + +#define AR9170_TIMER_REG_WATCH_DOG (AR9170_TIMER_REG_BASE + 0x000) +#define AR9170_TIMER_REG_TIMER0 (AR9170_TIMER_REG_BASE + 0x010) +#define AR9170_TIMER_REG_TIMER1 (AR9170_TIMER_REG_BASE + 0x014) +#define AR9170_TIMER_REG_TIMER2 (AR9170_TIMER_REG_BASE + 0x018) +#define AR9170_TIMER_REG_TIMER3 (AR9170_TIMER_REG_BASE + 0x01c) +#define AR9170_TIMER_REG_TIMER4 (AR9170_TIMER_REG_BASE + 0x020) +#define AR9170_TIMER_REG_CONTROL (AR9170_TIMER_REG_BASE + 0x024) +#define AR9170_TIMER_CTRL_DISABLE_CLOCK 0x100 + +#define AR9170_TIMER_REG_INTERRUPT (AR9170_TIMER_REG_BASE + 0x028) +#define AR9170_TIMER_INT_TIMER0 0x001 +#define AR9170_TIMER_INT_TIMER1 0x002 +#define AR9170_TIMER_INT_TIMER2 0x004 +#define AR9170_TIMER_INT_TIMER3 0x008 +#define AR9170_TIMER_INT_TIMER4 0x010 +#define AR9170_TIMER_INT_TICK_TIMER 0x100 + +#define AR9170_TIMER_REG_TICK_TIMER (AR9170_TIMER_REG_BASE + 0x030) +#define AR9170_TIMER_REG_CLOCK_LOW (AR9170_TIMER_REG_BASE + 0x040) +#define AR9170_TIMER_REG_CLOCK_HIGH (AR9170_TIMER_REG_BASE + 0x044) + +#define AR9170_MAC_REG_BASE 0x1c3000 + +#define AR9170_MAC_REG_POWER_STATE_CTRL (AR9170_MAC_REG_BASE + 0x500) +#define AR9170_MAC_POWER_STATE_CTRL_RESET 0x20 + +#define AR9170_MAC_REG_MAC_POWER_STATE_CTRL (AR9170_MAC_REG_BASE + 0x50c) + +#define AR9170_MAC_REG_INT_CTRL (AR9170_MAC_REG_BASE + 0x510) +#define AR9170_MAC_INT_TXC BIT(0) +#define AR9170_MAC_INT_RXC BIT(1) +#define AR9170_MAC_INT_RETRY_FAIL BIT(2) +#define AR9170_MAC_INT_WAKEUP BIT(3) +#define AR9170_MAC_INT_ATIM BIT(4) +#define AR9170_MAC_INT_DTIM BIT(5) +#define AR9170_MAC_INT_CFG_BCN BIT(6) +#define AR9170_MAC_INT_ABORT BIT(7) +#define AR9170_MAC_INT_QOS BIT(8) +#define AR9170_MAC_INT_MIMO_PS BIT(9) +#define AR9170_MAC_INT_KEY_GEN BIT(10) +#define AR9170_MAC_INT_DECRY_NOUSER BIT(11) +#define AR9170_MAC_INT_RADAR BIT(12) +#define AR9170_MAC_INT_QUIET_FRAME BIT(13) +#define AR9170_MAC_INT_PRETBTT BIT(14) + +#define AR9170_MAC_REG_TSF_L (AR9170_MAC_REG_BASE + 0x514) +#define AR9170_MAC_REG_TSF_H (AR9170_MAC_REG_BASE + 0x518) + +#define AR9170_MAC_REG_ATIM_WINDOW (AR9170_MAC_REG_BASE + 0x51c) +#define AR9170_MAC_ATIM_PERIOD_S 0 +#define AR9170_MAC_ATIM_PERIOD 0x0000ffff + +#define AR9170_MAC_REG_BCN_PERIOD (AR9170_MAC_REG_BASE + 0x520) +#define AR9170_MAC_BCN_PERIOD_S 0 +#define AR9170_MAC_BCN_PERIOD 0x0000ffff +#define AR9170_MAC_BCN_DTIM_S 16 +#define AR9170_MAC_BCN_DTIM 0x00ff0000 +#define AR9170_MAC_BCN_AP_MODE BIT(24) +#define AR9170_MAC_BCN_IBSS_MODE BIT(25) +#define AR9170_MAC_BCN_PWR_MGT BIT(26) +#define AR9170_MAC_BCN_STA_PS BIT(27) + +#define AR9170_MAC_REG_PRETBTT (AR9170_MAC_REG_BASE + 0x524) +#define AR9170_MAC_PRETBTT_S 0 +#define AR9170_MAC_PRETBTT 0x0000ffff +#define AR9170_MAC_PRETBTT2_S 16 +#define AR9170_MAC_PRETBTT2 0xffff0000 + +#define AR9170_MAC_REG_MAC_ADDR_L (AR9170_MAC_REG_BASE + 0x610) +#define AR9170_MAC_REG_MAC_ADDR_H (AR9170_MAC_REG_BASE + 0x614) +#define AR9170_MAC_REG_BSSID_L (AR9170_MAC_REG_BASE + 0x618) +#define AR9170_MAC_REG_BSSID_H (AR9170_MAC_REG_BASE + 0x61c) + +#define AR9170_MAC_REG_GROUP_HASH_TBL_L (AR9170_MAC_REG_BASE + 0x624) +#define AR9170_MAC_REG_GROUP_HASH_TBL_H (AR9170_MAC_REG_BASE + 0x628) + +#define AR9170_MAC_REG_RX_TIMEOUT (AR9170_MAC_REG_BASE + 0x62c) + +#define AR9170_MAC_REG_BASIC_RATE (AR9170_MAC_REG_BASE + 0x630) +#define AR9170_MAC_REG_MANDATORY_RATE (AR9170_MAC_REG_BASE + 0x634) +#define AR9170_MAC_REG_RTS_CTS_RATE (AR9170_MAC_REG_BASE + 0x638) +#define AR9170_MAC_REG_BACKOFF_PROTECT (AR9170_MAC_REG_BASE + 0x63c) +#define AR9170_MAC_REG_RX_THRESHOLD (AR9170_MAC_REG_BASE + 0x640) +#define AR9170_MAC_REG_AFTER_PNP (AR9170_MAC_REG_BASE + 0x648) +#define AR9170_MAC_REG_RX_PE_DELAY (AR9170_MAC_REG_BASE + 0x64c) + +#define AR9170_MAC_REG_DYNAMIC_SIFS_ACK (AR9170_MAC_REG_BASE + 0x658) +#define AR9170_MAC_REG_SNIFFER (AR9170_MAC_REG_BASE + 0x674) +#define AR9170_MAC_SNIFFER_ENABLE_PROMISC BIT(0) +#define AR9170_MAC_SNIFFER_DEFAULTS 0x02000000 +#define AR9170_MAC_REG_ENCRYPTION (AR9170_MAC_REG_BASE + 0x678) +#define AR9170_MAC_ENCRYPTION_MGMT_RX_SOFTWARE BIT(2) +#define AR9170_MAC_ENCRYPTION_RX_SOFTWARE BIT(3) +#define AR9170_MAC_ENCRYPTION_DEFAULTS 0x70 + +#define AR9170_MAC_REG_MISC_680 (AR9170_MAC_REG_BASE + 0x680) +#define AR9170_MAC_REG_MISC_684 (AR9170_MAC_REG_BASE + 0x684) +#define AR9170_MAC_REG_TX_UNDERRUN (AR9170_MAC_REG_BASE + 0x688) + +#define AR9170_MAC_REG_FRAMETYPE_FILTER (AR9170_MAC_REG_BASE + 0x68c) +#define AR9170_MAC_FTF_ASSOC_REQ BIT(0) +#define AR9170_MAC_FTF_ASSOC_RESP BIT(1) +#define AR9170_MAC_FTF_REASSOC_REQ BIT(2) +#define AR9170_MAC_FTF_REASSOC_RESP BIT(3) +#define AR9170_MAC_FTF_PRB_REQ BIT(4) +#define AR9170_MAC_FTF_PRB_RESP BIT(5) +#define AR9170_MAC_FTF_BIT6 BIT(6) +#define AR9170_MAC_FTF_BIT7 BIT(7) +#define AR9170_MAC_FTF_BEACON BIT(8) +#define AR9170_MAC_FTF_ATIM BIT(9) +#define AR9170_MAC_FTF_DEASSOC BIT(10) +#define AR9170_MAC_FTF_AUTH BIT(11) +#define AR9170_MAC_FTF_DEAUTH BIT(12) +#define AR9170_MAC_FTF_BIT13 BIT(13) +#define AR9170_MAC_FTF_BIT14 BIT(14) +#define AR9170_MAC_FTF_BIT15 BIT(15) +#define AR9170_MAC_FTF_BAR BIT(24) +#define AR9170_MAC_FTF_BA BIT(25) +#define AR9170_MAC_FTF_PSPOLL BIT(26) +#define AR9170_MAC_FTF_RTS BIT(27) +#define AR9170_MAC_FTF_CTS BIT(28) +#define AR9170_MAC_FTF_ACK BIT(29) +#define AR9170_MAC_FTF_CFE BIT(30) +#define AR9170_MAC_FTF_CFE_ACK BIT(31) +#define AR9170_MAC_FTF_DEFAULTS 0x0500ffff +#define AR9170_MAC_FTF_MONITOR 0xff00ffff + +#define AR9170_MAC_REG_ACK_EXTENSION (AR9170_MAC_REG_BASE + 0x690) +#define AR9170_MAC_REG_ACK_TPC (AR9170_MAC_REG_BASE + 0x694) +#define AR9170_MAC_REG_EIFS_AND_SIFS (AR9170_MAC_REG_BASE + 0x698) +#define AR9170_MAC_REG_RX_TIMEOUT_COUNT (AR9170_MAC_REG_BASE + 0x69c) +#define AR9170_MAC_REG_RX_TOTAL (AR9170_MAC_REG_BASE + 0x6a0) +#define AR9170_MAC_REG_RX_CRC32 (AR9170_MAC_REG_BASE + 0x6a4) +#define AR9170_MAC_REG_RX_CRC16 (AR9170_MAC_REG_BASE + 0x6a8) +#define AR9170_MAC_REG_RX_ERR_DECRYPTION_UNI (AR9170_MAC_REG_BASE + 0x6ac) +#define AR9170_MAC_REG_RX_OVERRUN (AR9170_MAC_REG_BASE + 0x6b0) +#define AR9170_MAC_REG_RX_ERR_DECRYPTION_MUL (AR9170_MAC_REG_BASE + 0x6bc) +#define AR9170_MAC_REG_TX_BLOCKACKS (AR9170_MAC_REG_BASE + 0x6c0) +#define AR9170_MAC_REG_NAV_COUNT (AR9170_MAC_REG_BASE + 0x6c4) +#define AR9170_MAC_REG_BACKOFF_STATUS (AR9170_MAC_REG_BASE + 0x6c8) +#define AR9170_MAC_BACKOFF_CCA BIT(24) +#define AR9170_MAC_BACKOFF_TX_PEX BIT(25) +#define AR9170_MAC_BACKOFF_RX_PE BIT(26) +#define AR9170_MAC_BACKOFF_MD_READY BIT(27) +#define AR9170_MAC_BACKOFF_TX_PE BIT(28) + +#define AR9170_MAC_REG_TX_RETRY (AR9170_MAC_REG_BASE + 0x6cc) + +#define AR9170_MAC_REG_TX_COMPLETE (AR9170_MAC_REG_BASE + 0x6d4) + +#define AR9170_MAC_REG_CHANNEL_BUSY (AR9170_MAC_REG_BASE + 0x6e8) +#define AR9170_MAC_REG_EXT_BUSY (AR9170_MAC_REG_BASE + 0x6ec) + +#define AR9170_MAC_REG_SLOT_TIME (AR9170_MAC_REG_BASE + 0x6f0) +#define AR9170_MAC_REG_TX_TOTAL (AR9170_MAC_REG_BASE + 0x6f4) +#define AR9170_MAC_REG_ACK_FC (AR9170_MAC_REG_BASE + 0x6f8) + +#define AR9170_MAC_REG_CAM_MODE (AR9170_MAC_REG_BASE + 0x700) +#define AR9170_MAC_CAM_IBSS 0xe0 +#define AR9170_MAC_CAM_AP 0xa1 +#define AR9170_MAC_CAM_STA 0x2 +#define AR9170_MAC_CAM_AP_WDS 0x3 +#define AR9170_MAC_CAM_DEFAULTS (0xf << 24) +#define AR9170_MAC_CAM_HOST_PENDING 0x80000000 + +#define AR9170_MAC_REG_CAM_ROLL_CALL_TBL_L (AR9170_MAC_REG_BASE + 0x704) +#define AR9170_MAC_REG_CAM_ROLL_CALL_TBL_H (AR9170_MAC_REG_BASE + 0x708) + +#define AR9170_MAC_REG_CAM_ADDR (AR9170_MAC_REG_BASE + 0x70c) +#define AR9170_MAC_CAM_ADDR_WRITE 0x80000000 +#define AR9170_MAC_REG_CAM_DATA0 (AR9170_MAC_REG_BASE + 0x720) +#define AR9170_MAC_REG_CAM_DATA1 (AR9170_MAC_REG_BASE + 0x724) +#define AR9170_MAC_REG_CAM_DATA2 (AR9170_MAC_REG_BASE + 0x728) +#define AR9170_MAC_REG_CAM_DATA3 (AR9170_MAC_REG_BASE + 0x72c) + +#define AR9170_MAC_REG_CAM_DBG0 (AR9170_MAC_REG_BASE + 0x730) +#define AR9170_MAC_REG_CAM_DBG1 (AR9170_MAC_REG_BASE + 0x734) +#define AR9170_MAC_REG_CAM_DBG2 (AR9170_MAC_REG_BASE + 0x738) +#define AR9170_MAC_REG_CAM_STATE (AR9170_MAC_REG_BASE + 0x73c) +#define AR9170_MAC_CAM_STATE_READ_PENDING 0x40000000 +#define AR9170_MAC_CAM_STATE_WRITE_PENDING 0x80000000 + +#define AR9170_MAC_REG_CAM_TXKEY (AR9170_MAC_REG_BASE + 0x740) +#define AR9170_MAC_REG_CAM_RXKEY (AR9170_MAC_REG_BASE + 0x750) + +#define AR9170_MAC_REG_CAM_TX_ENC_TYPE (AR9170_MAC_REG_BASE + 0x760) +#define AR9170_MAC_REG_CAM_RX_ENC_TYPE (AR9170_MAC_REG_BASE + 0x770) +#define AR9170_MAC_REG_CAM_TX_SERACH_HIT (AR9170_MAC_REG_BASE + 0x780) +#define AR9170_MAC_REG_CAM_RX_SERACH_HIT (AR9170_MAC_REG_BASE + 0x790) + +#define AR9170_MAC_REG_AC0_CW (AR9170_MAC_REG_BASE + 0xb00) +#define AR9170_MAC_REG_AC1_CW (AR9170_MAC_REG_BASE + 0xb04) +#define AR9170_MAC_REG_AC2_CW (AR9170_MAC_REG_BASE + 0xb08) +#define AR9170_MAC_REG_AC3_CW (AR9170_MAC_REG_BASE + 0xb0c) +#define AR9170_MAC_REG_AC4_CW (AR9170_MAC_REG_BASE + 0xb10) +#define AR9170_MAC_REG_AC2_AC1_AC0_AIFS (AR9170_MAC_REG_BASE + 0xb14) +#define AR9170_MAC_REG_AC4_AC3_AC2_AIFS (AR9170_MAC_REG_BASE + 0xb18) +#define AR9170_MAC_REG_TXOP_ACK_EXTENSION (AR9170_MAC_REG_BASE + 0xb1c) +#define AR9170_MAC_REG_TXOP_ACK_INTERVAL (AR9170_MAC_REG_BASE + 0xb20) +#define AR9170_MAC_REG_CONTENTION_POINT (AR9170_MAC_REG_BASE + 0xb24) +#define AR9170_MAC_REG_RETRY_MAX (AR9170_MAC_REG_BASE + 0xb28) +#define AR9170_MAC_REG_TID_CFACK_CFEND_RATE (AR9170_MAC_REG_BASE + 0xb2c) +#define AR9170_MAC_REG_TXOP_NOT_ENOUGH_IND (AR9170_MAC_REG_BASE + 0xb30) +#define AR9170_MAC_REG_TKIP_TSC (AR9170_MAC_REG_BASE + 0xb34) +#define AR9170_MAC_REG_TXOP_DURATION (AR9170_MAC_REG_BASE + 0xb38) +#define AR9170_MAC_REG_TX_QOS_THRESHOLD (AR9170_MAC_REG_BASE + 0xb3c) +#define AR9170_MAC_REG_QOS_PRIORITY_VIRTUAL_CCA (AR9170_MAC_REG_BASE + 0xb40) +#define AR9170_MAC_VIRTUAL_CCA_Q0 BIT(15) +#define AR9170_MAC_VIRTUAL_CCA_Q1 BIT(16) +#define AR9170_MAC_VIRTUAL_CCA_Q2 BIT(17) +#define AR9170_MAC_VIRTUAL_CCA_Q3 BIT(18) +#define AR9170_MAC_VIRTUAL_CCA_Q4 BIT(19) +#define AR9170_MAC_VIRTUAL_CCA_ALL (0xf8000) + +#define AR9170_MAC_REG_AC1_AC0_TXOP (AR9170_MAC_REG_BASE + 0xb44) +#define AR9170_MAC_REG_AC3_AC2_TXOP (AR9170_MAC_REG_BASE + 0xb48) + +#define AR9170_MAC_REG_AMPDU_COUNT (AR9170_MAC_REG_BASE + 0xb88) +#define AR9170_MAC_REG_MPDU_COUNT (AR9170_MAC_REG_BASE + 0xb8c) + +#define AR9170_MAC_REG_AMPDU_FACTOR (AR9170_MAC_REG_BASE + 0xb9c) +#define AR9170_MAC_AMPDU_FACTOR 0x7f0000 +#define AR9170_MAC_AMPDU_FACTOR_S 16 +#define AR9170_MAC_REG_AMPDU_DENSITY (AR9170_MAC_REG_BASE + 0xba0) +#define AR9170_MAC_AMPDU_DENSITY 0x7 +#define AR9170_MAC_AMPDU_DENSITY_S 0 + +#define AR9170_MAC_REG_FCS_SELECT (AR9170_MAC_REG_BASE + 0xbb0) +#define AR9170_MAC_FCS_SWFCS 0x1 +#define AR9170_MAC_FCS_FIFO_PROT 0x4 + +#define AR9170_MAC_REG_RTS_CTS_TPC (AR9170_MAC_REG_BASE + 0xbb4) +#define AR9170_MAC_REG_CFEND_QOSNULL_TPC (AR9170_MAC_REG_BASE + 0xbb8) + +#define AR9170_MAC_REG_ACK_TABLE (AR9170_MAC_REG_BASE + 0xc00) +#define AR9170_MAC_REG_RX_CONTROL (AR9170_MAC_REG_BASE + 0xc40) +#define AR9170_MAC_RX_CTRL_DEAGG 0x1 +#define AR9170_MAC_RX_CTRL_SHORT_FILTER 0x2 +#define AR9170_MAC_RX_CTRL_SA_DA_SEARCH 0x20 +#define AR9170_MAC_RX_CTRL_PASS_TO_HOST BIT(28) +#define AR9170_MAC_RX_CTRL_ACK_IN_SNIFFER BIT(30) + +#define AR9170_MAC_REG_RX_CONTROL_1 (AR9170_MAC_REG_BASE + 0xc44) + +#define AR9170_MAC_REG_AMPDU_RX_THRESH (AR9170_MAC_REG_BASE + 0xc50) + +#define AR9170_MAC_REG_RX_MPDU (AR9170_MAC_REG_BASE + 0xca0) +#define AR9170_MAC_REG_RX_DROPPED_MPDU (AR9170_MAC_REG_BASE + 0xca4) +#define AR9170_MAC_REG_RX_DEL_MPDU (AR9170_MAC_REG_BASE + 0xca8) +#define AR9170_MAC_REG_RX_PHY_MISC_ERROR (AR9170_MAC_REG_BASE + 0xcac) +#define AR9170_MAC_REG_RX_PHY_XR_ERROR (AR9170_MAC_REG_BASE + 0xcb0) +#define AR9170_MAC_REG_RX_PHY_OFDM_ERROR (AR9170_MAC_REG_BASE + 0xcb4) +#define AR9170_MAC_REG_RX_PHY_CCK_ERROR (AR9170_MAC_REG_BASE + 0xcb8) +#define AR9170_MAC_REG_RX_PHY_HT_ERROR (AR9170_MAC_REG_BASE + 0xcbc) +#define AR9170_MAC_REG_RX_PHY_TOTAL (AR9170_MAC_REG_BASE + 0xcc0) + +#define AR9170_MAC_REG_DMA_TXQ_ADDR (AR9170_MAC_REG_BASE + 0xd00) +#define AR9170_MAC_REG_DMA_TXQ_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd04) +#define AR9170_MAC_REG_DMA_TXQ0_ADDR (AR9170_MAC_REG_BASE + 0xd00) +#define AR9170_MAC_REG_DMA_TXQ0_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd04) +#define AR9170_MAC_REG_DMA_TXQ1_ADDR (AR9170_MAC_REG_BASE + 0xd08) +#define AR9170_MAC_REG_DMA_TXQ1_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd0c) +#define AR9170_MAC_REG_DMA_TXQ2_ADDR (AR9170_MAC_REG_BASE + 0xd10) +#define AR9170_MAC_REG_DMA_TXQ2_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd14) +#define AR9170_MAC_REG_DMA_TXQ3_ADDR (AR9170_MAC_REG_BASE + 0xd18) +#define AR9170_MAC_REG_DMA_TXQ3_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd1c) +#define AR9170_MAC_REG_DMA_TXQ4_ADDR (AR9170_MAC_REG_BASE + 0xd20) +#define AR9170_MAC_REG_DMA_TXQ4_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd24) +#define AR9170_MAC_REG_DMA_RXQ_ADDR (AR9170_MAC_REG_BASE + 0xd28) +#define AR9170_MAC_REG_DMA_RXQ_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd2c) + +#define AR9170_MAC_REG_DMA_TRIGGER (AR9170_MAC_REG_BASE + 0xd30) +#define AR9170_DMA_TRIGGER_TXQ0 BIT(0) +#define AR9170_DMA_TRIGGER_TXQ1 BIT(1) +#define AR9170_DMA_TRIGGER_TXQ2 BIT(2) +#define AR9170_DMA_TRIGGER_TXQ3 BIT(3) +#define AR9170_DMA_TRIGGER_TXQ4 BIT(4) +#define AR9170_DMA_TRIGGER_RXQ BIT(8) + +#define AR9170_MAC_REG_DMA_WLAN_STATUS (AR9170_MAC_REG_BASE + 0xd38) +#define AR9170_MAC_REG_DMA_STATUS (AR9170_MAC_REG_BASE + 0xd3c) +#define AR9170_MAC_REG_DMA_TXQ_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd40) +#define AR9170_MAC_REG_DMA_TXQ0_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd40) +#define AR9170_MAC_REG_DMA_TXQ1_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd44) +#define AR9170_MAC_REG_DMA_TXQ2_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd48) +#define AR9170_MAC_REG_DMA_TXQ3_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd4c) +#define AR9170_MAC_REG_DMA_TXQ4_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd50) +#define AR9170_MAC_REG_DMA_TXQ0Q1_LEN (AR9170_MAC_REG_BASE + 0xd54) +#define AR9170_MAC_REG_DMA_TXQ2Q3_LEN (AR9170_MAC_REG_BASE + 0xd58) +#define AR9170_MAC_REG_DMA_TXQ4_LEN (AR9170_MAC_REG_BASE + 0xd5c) + +#define AR9170_MAC_REG_DMA_TXQX_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd74) +#define AR9170_MAC_REG_DMA_TXQX_FAIL_ADDR (AR9170_MAC_REG_BASE + 0xd78) +#define AR9170_MAC_REG_TXRX_MPI (AR9170_MAC_REG_BASE + 0xd7c) +#define AR9170_MAC_TXRX_MPI_TX_MPI_MASK 0x0000000f +#define AR9170_MAC_TXRX_MPI_TX_TO_MASK 0x0000fff0 +#define AR9170_MAC_TXRX_MPI_RX_MPI_MASK 0x000f0000 +#define AR9170_MAC_TXRX_MPI_RX_TO_MASK 0xfff00000 + +#define AR9170_MAC_REG_BCN_ADDR (AR9170_MAC_REG_BASE + 0xd84) +#define AR9170_MAC_REG_BCN_LENGTH (AR9170_MAC_REG_BASE + 0xd88) +#define AR9170_MAC_BCN_LENGTH_MAX 256 + +#define AR9170_MAC_REG_BCN_STATUS (AR9170_MAC_REG_BASE + 0xd8c) + +#define AR9170_MAC_REG_BCN_PLCP (AR9170_MAC_REG_BASE + 0xd90) +#define AR9170_MAC_REG_BCN_CTRL (AR9170_MAC_REG_BASE + 0xd94) +#define AR9170_BCN_CTRL_READY 0x01 +#define AR9170_BCN_CTRL_LOCK 0x02 + +#define AR9170_MAC_REG_BCN_CURR_ADDR (AR9170_MAC_REG_BASE + 0xd98) +#define AR9170_MAC_REG_BCN_COUNT (AR9170_MAC_REG_BASE + 0xd9c) +#define AR9170_MAC_REG_BCN_HT1 (AR9170_MAC_REG_BASE + 0xda0) +#define AR9170_MAC_BCN_HT1_HT_EN BIT(0) +#define AR9170_MAC_BCN_HT1_GF_PMB BIT(1) +#define AR9170_MAC_BCN_HT1_SP_EXP BIT(2) +#define AR9170_MAC_BCN_HT1_TX_BF BIT(3) +#define AR9170_MAC_BCN_HT1_PWR_CTRL_S 4 +#define AR9170_MAC_BCN_HT1_PWR_CTRL 0x70 +#define AR9170_MAC_BCN_HT1_TX_ANT1 BIT(7) +#define AR9170_MAC_BCN_HT1_TX_ANT0 BIT(8) +#define AR9170_MAC_BCN_HT1_NUM_LFT_S 9 +#define AR9170_MAC_BCN_HT1_NUM_LFT 0x600 +#define AR9170_MAC_BCN_HT1_BWC_20M_EXT BIT(16) +#define AR9170_MAC_BCN_HT1_BWC_40M_SHARED BIT(17) +#define AR9170_MAC_BCN_HT1_BWC_40M_DUP (BIT(16) | BIT(17)) +#define AR9170_MAC_BCN_HT1_BF_MCS_S 18 +#define AR9170_MAC_BCN_HT1_BF_MCS 0x1c0000 +#define AR9170_MAC_BCN_HT1_TPC_S 21 +#define AR9170_MAC_BCN_HT1_TPC 0x7e00000 +#define AR9170_MAC_BCN_HT1_CHAIN_MASK_S 27 +#define AR9170_MAC_BCN_HT1_CHAIN_MASK 0x38000000 + +#define AR9170_MAC_REG_BCN_HT2 (AR9170_MAC_REG_BASE + 0xda4) +#define AR9170_MAC_BCN_HT2_MCS_S 0 +#define AR9170_MAC_BCN_HT2_MCS 0x7f +#define AR9170_MAC_BCN_HT2_BW40 BIT(8) +#define AR9170_MAC_BCN_HT2_SMOOTHING BIT(9) +#define AR9170_MAC_BCN_HT2_SS BIT(10) +#define AR9170_MAC_BCN_HT2_NSS BIT(11) +#define AR9170_MAC_BCN_HT2_STBC_S 12 +#define AR9170_MAC_BCN_HT2_STBC 0x3000 +#define AR9170_MAC_BCN_HT2_ADV_COD BIT(14) +#define AR9170_MAC_BCN_HT2_SGI BIT(15) +#define AR9170_MAC_BCN_HT2_LEN_S 16 +#define AR9170_MAC_BCN_HT2_LEN 0xffff0000 + +#define AR9170_MAC_REG_DMA_TXQX_ADDR_CURR (AR9170_MAC_REG_BASE + 0xdc0) + +/* Random number generator */ +#define AR9170_RAND_REG_BASE 0x1d0000 + +#define AR9170_RAND_REG_NUM (AR9170_RAND_REG_BASE + 0x000) +#define AR9170_RAND_REG_MODE (AR9170_RAND_REG_BASE + 0x004) +#define AR9170_RAND_MODE_MANUAL 0x000 +#define AR9170_RAND_MODE_FREE 0x001 + +/* GPIO */ +#define AR9170_GPIO_REG_BASE 0x1d0100 +#define AR9170_GPIO_REG_PORT_TYPE (AR9170_GPIO_REG_BASE + 0x000) +#define AR9170_GPIO_REG_PORT_DATA (AR9170_GPIO_REG_BASE + 0x004) +#define AR9170_GPIO_PORT_LED_0 1 +#define AR9170_GPIO_PORT_LED_1 2 +/* WPS Button GPIO for TP-Link TL-WN821N */ +#define AR9170_GPIO_PORT_WPS_BUTTON_PRESSED 4 + +/* Memory Controller */ +#define AR9170_MC_REG_BASE 0x1d1000 + +#define AR9170_MC_REG_FLASH_WAIT_STATE (AR9170_MC_REG_BASE + 0x000) +#define AR9170_MC_REG_SEEPROM_WP0 (AR9170_MC_REG_BASE + 0x400) +#define AR9170_MC_REG_SEEPROM_WP1 (AR9170_MC_REG_BASE + 0x404) +#define AR9170_MC_REG_SEEPROM_WP2 (AR9170_MC_REG_BASE + 0x408) + +/* Interrupt Controller */ +#define AR9170_MAX_INT_SRC 9 +#define AR9170_INT_REG_BASE 0x1d2000 + +#define AR9170_INT_REG_FLAG (AR9170_INT_REG_BASE + 0x000) +#define AR9170_INT_REG_FIQ_MASK (AR9170_INT_REG_BASE + 0x004) +#define AR9170_INT_REG_IRQ_MASK (AR9170_INT_REG_BASE + 0x008) +/* INT_REG_FLAG, INT_REG_FIQ_MASK and INT_REG_IRQ_MASK */ +#define AR9170_INT_FLAG_WLAN 0x001 +#define AR9170_INT_FLAG_PTAB_BIT 0x002 +#define AR9170_INT_FLAG_SE_BIT 0x004 +#define AR9170_INT_FLAG_UART_BIT 0x008 +#define AR9170_INT_FLAG_TIMER_BIT 0x010 +#define AR9170_INT_FLAG_EXT_BIT 0x020 +#define AR9170_INT_FLAG_SW_BIT 0x040 +#define AR9170_INT_FLAG_USB_BIT 0x080 +#define AR9170_INT_FLAG_ETHERNET_BIT 0x100 + +#define AR9170_INT_REG_PRIORITY1 (AR9170_INT_REG_BASE + 0x00c) +#define AR9170_INT_REG_PRIORITY2 (AR9170_INT_REG_BASE + 0x010) +#define AR9170_INT_REG_PRIORITY3 (AR9170_INT_REG_BASE + 0x014) +#define AR9170_INT_REG_EXT_INT_CONTROL (AR9170_INT_REG_BASE + 0x018) +#define AR9170_INT_REG_SW_INT_CONTROL (AR9170_INT_REG_BASE + 0x01c) +#define AR9170_INT_SW_INT_ENABLE 0x1 + +#define AR9170_INT_REG_FIQ_ENCODE (AR9170_INT_REG_BASE + 0x020) +#define AR9170_INT_INT_IRQ_ENCODE (AR9170_INT_REG_BASE + 0x024) + +/* Power Management */ +#define AR9170_PWR_REG_BASE 0x1d4000 + +#define AR9170_PWR_REG_POWER_STATE (AR9170_PWR_REG_BASE + 0x000) + +#define AR9170_PWR_REG_RESET (AR9170_PWR_REG_BASE + 0x004) +#define AR9170_PWR_RESET_COMMIT_RESET_MASK BIT(0) +#define AR9170_PWR_RESET_WLAN_MASK BIT(1) +#define AR9170_PWR_RESET_DMA_MASK BIT(2) +#define AR9170_PWR_RESET_BRIDGE_MASK BIT(3) +#define AR9170_PWR_RESET_AHB_MASK BIT(9) +#define AR9170_PWR_RESET_BB_WARM_RESET BIT(10) +#define AR9170_PWR_RESET_BB_COLD_RESET BIT(11) +#define AR9170_PWR_RESET_ADDA_CLK_COLD_RESET BIT(12) +#define AR9170_PWR_RESET_PLL BIT(13) +#define AR9170_PWR_RESET_USB_PLL BIT(14) + +#define AR9170_PWR_REG_CLOCK_SEL (AR9170_PWR_REG_BASE + 0x008) +#define AR9170_PWR_CLK_AHB_40MHZ 0 +#define AR9170_PWR_CLK_AHB_20_22MHZ 1 +#define AR9170_PWR_CLK_AHB_40_44MHZ 2 +#define AR9170_PWR_CLK_AHB_80_88MHZ 3 +#define AR9170_PWR_CLK_DAC_160_INV_DLY 0x70 + +#define AR9170_PWR_REG_CHIP_REVISION (AR9170_PWR_REG_BASE + 0x010) +#define AR9170_PWR_REG_PLL_ADDAC (AR9170_PWR_REG_BASE + 0x014) +#define AR9170_PWR_PLL_ADDAC_DIV_S 2 +#define AR9170_PWR_PLL_ADDAC_DIV 0xffc +#define AR9170_PWR_REG_WATCH_DOG_MAGIC (AR9170_PWR_REG_BASE + 0x020) + +/* Faraday USB Controller */ +#define AR9170_USB_REG_BASE 0x1e1000 + +#define AR9170_USB_REG_MAIN_CTRL (AR9170_USB_REG_BASE + 0x000) +#define AR9170_USB_MAIN_CTRL_REMOTE_WAKEUP BIT(0) +#define AR9170_USB_MAIN_CTRL_ENABLE_GLOBAL_INT BIT(2) +#define AR9170_USB_MAIN_CTRL_GO_TO_SUSPEND BIT(3) +#define AR9170_USB_MAIN_CTRL_RESET BIT(4) +#define AR9170_USB_MAIN_CTRL_CHIP_ENABLE BIT(5) +#define AR9170_USB_MAIN_CTRL_HIGHSPEED BIT(6) + +#define AR9170_USB_REG_DEVICE_ADDRESS (AR9170_USB_REG_BASE + 0x001) +#define AR9170_USB_DEVICE_ADDRESS_CONFIGURE BIT(7) + +#define AR9170_USB_REG_TEST (AR9170_USB_REG_BASE + 0x002) +#define AR9170_USB_REG_PHY_TEST_SELECT (AR9170_USB_REG_BASE + 0x008) +#define AR9170_USB_REG_CX_CONFIG_STATUS (AR9170_USB_REG_BASE + 0x00b) +#define AR9170_USB_REG_EP0_DATA (AR9170_USB_REG_BASE + 0x00c) +#define AR9170_USB_REG_EP0_DATA1 (AR9170_USB_REG_BASE + 0x00c) +#define AR9170_USB_REG_EP0_DATA2 (AR9170_USB_REG_BASE + 0x00d) + +#define AR9170_USB_REG_INTR_MASK_BYTE_0 (AR9170_USB_REG_BASE + 0x011) +#define AR9170_USB_REG_INTR_MASK_BYTE_1 (AR9170_USB_REG_BASE + 0x012) +#define AR9170_USB_REG_INTR_MASK_BYTE_2 (AR9170_USB_REG_BASE + 0x013) +#define AR9170_USB_REG_INTR_MASK_BYTE_3 (AR9170_USB_REG_BASE + 0x014) +#define AR9170_USB_REG_INTR_MASK_BYTE_4 (AR9170_USB_REG_BASE + 0x015) +#define AR9170_USB_INTR_DISABLE_OUT_INT (BIT(7) | BIT(6)) + +#define AR9170_USB_REG_INTR_MASK_BYTE_5 (AR9170_USB_REG_BASE + 0x016) +#define AR9170_USB_REG_INTR_MASK_BYTE_6 (AR9170_USB_REG_BASE + 0x017) +#define AR9170_USB_INTR_DISABLE_IN_INT BIT(6) + +#define AR9170_USB_REG_INTR_MASK_BYTE_7 (AR9170_USB_REG_BASE + 0x018) + +#define AR9170_USB_REG_INTR_GROUP (AR9170_USB_REG_BASE + 0x020) + +#define AR9170_USB_REG_INTR_SOURCE_0 (AR9170_USB_REG_BASE + 0x021) +#define AR9170_USB_INTR_SRC0_SETUP BIT(0) +#define AR9170_USB_INTR_SRC0_IN BIT(1) +#define AR9170_USB_INTR_SRC0_OUT BIT(2) +#define AR9170_USB_INTR_SRC0_FAIL BIT(3) /* ??? */ +#define AR9170_USB_INTR_SRC0_END BIT(4) /* ??? */ +#define AR9170_USB_INTR_SRC0_ABORT BIT(7) + +#define AR9170_USB_REG_INTR_SOURCE_1 (AR9170_USB_REG_BASE + 0x022) +#define AR9170_USB_REG_INTR_SOURCE_2 (AR9170_USB_REG_BASE + 0x023) +#define AR9170_USB_REG_INTR_SOURCE_3 (AR9170_USB_REG_BASE + 0x024) +#define AR9170_USB_REG_INTR_SOURCE_4 (AR9170_USB_REG_BASE + 0x025) +#define AR9170_USB_REG_INTR_SOURCE_5 (AR9170_USB_REG_BASE + 0x026) +#define AR9170_USB_REG_INTR_SOURCE_6 (AR9170_USB_REG_BASE + 0x027) +#define AR9170_USB_REG_INTR_SOURCE_7 (AR9170_USB_REG_BASE + 0x028) +#define AR9170_USB_INTR_SRC7_USB_RESET BIT(1) +#define AR9170_USB_INTR_SRC7_USB_SUSPEND BIT(2) +#define AR9170_USB_INTR_SRC7_USB_RESUME BIT(3) +#define AR9170_USB_INTR_SRC7_ISO_SEQ_ERR BIT(4) +#define AR9170_USB_INTR_SRC7_ISO_SEQ_ABORT BIT(5) +#define AR9170_USB_INTR_SRC7_TX0BYTE BIT(6) +#define AR9170_USB_INTR_SRC7_RX0BYTE BIT(7) + +#define AR9170_USB_REG_IDLE_COUNT (AR9170_USB_REG_BASE + 0x02f) + +#define AR9170_USB_REG_EP_MAP (AR9170_USB_REG_BASE + 0x030) +#define AR9170_USB_REG_EP1_MAP (AR9170_USB_REG_BASE + 0x030) +#define AR9170_USB_REG_EP2_MAP (AR9170_USB_REG_BASE + 0x031) +#define AR9170_USB_REG_EP3_MAP (AR9170_USB_REG_BASE + 0x032) +#define AR9170_USB_REG_EP4_MAP (AR9170_USB_REG_BASE + 0x033) +#define AR9170_USB_REG_EP5_MAP (AR9170_USB_REG_BASE + 0x034) +#define AR9170_USB_REG_EP6_MAP (AR9170_USB_REG_BASE + 0x035) +#define AR9170_USB_REG_EP7_MAP (AR9170_USB_REG_BASE + 0x036) +#define AR9170_USB_REG_EP8_MAP (AR9170_USB_REG_BASE + 0x037) +#define AR9170_USB_REG_EP9_MAP (AR9170_USB_REG_BASE + 0x038) +#define AR9170_USB_REG_EP10_MAP (AR9170_USB_REG_BASE + 0x039) + +#define AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH (AR9170_USB_REG_BASE + 0x03f) +#define AR9170_USB_EP_IN_TOGGLE 0x10 + +#define AR9170_USB_REG_EP_IN_MAX_SIZE_LOW (AR9170_USB_REG_BASE + 0x03e) + +#define AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH (AR9170_USB_REG_BASE + 0x05f) +#define AR9170_USB_EP_OUT_TOGGLE 0x10 + +#define AR9170_USB_REG_EP_OUT_MAX_SIZE_LOW (AR9170_USB_REG_BASE + 0x05e) + +#define AR9170_USB_REG_EP3_BYTE_COUNT_HIGH (AR9170_USB_REG_BASE + 0x0ae) +#define AR9170_USB_REG_EP3_BYTE_COUNT_LOW (AR9170_USB_REG_BASE + 0x0be) +#define AR9170_USB_REG_EP4_BYTE_COUNT_HIGH (AR9170_USB_REG_BASE + 0x0af) +#define AR9170_USB_REG_EP4_BYTE_COUNT_LOW (AR9170_USB_REG_BASE + 0x0bf) + +#define AR9170_USB_REG_FIFO_MAP (AR9170_USB_REG_BASE + 0x080) +#define AR9170_USB_REG_FIFO0_MAP (AR9170_USB_REG_BASE + 0x080) +#define AR9170_USB_REG_FIFO1_MAP (AR9170_USB_REG_BASE + 0x081) +#define AR9170_USB_REG_FIFO2_MAP (AR9170_USB_REG_BASE + 0x082) +#define AR9170_USB_REG_FIFO3_MAP (AR9170_USB_REG_BASE + 0x083) +#define AR9170_USB_REG_FIFO4_MAP (AR9170_USB_REG_BASE + 0x084) +#define AR9170_USB_REG_FIFO5_MAP (AR9170_USB_REG_BASE + 0x085) +#define AR9170_USB_REG_FIFO6_MAP (AR9170_USB_REG_BASE + 0x086) +#define AR9170_USB_REG_FIFO7_MAP (AR9170_USB_REG_BASE + 0x087) +#define AR9170_USB_REG_FIFO8_MAP (AR9170_USB_REG_BASE + 0x088) +#define AR9170_USB_REG_FIFO9_MAP (AR9170_USB_REG_BASE + 0x089) + +#define AR9170_USB_REG_FIFO_CONFIG (AR9170_USB_REG_BASE + 0x090) +#define AR9170_USB_REG_FIFO0_CONFIG (AR9170_USB_REG_BASE + 0x090) +#define AR9170_USB_REG_FIFO1_CONFIG (AR9170_USB_REG_BASE + 0x091) +#define AR9170_USB_REG_FIFO2_CONFIG (AR9170_USB_REG_BASE + 0x092) +#define AR9170_USB_REG_FIFO3_CONFIG (AR9170_USB_REG_BASE + 0x093) +#define AR9170_USB_REG_FIFO4_CONFIG (AR9170_USB_REG_BASE + 0x094) +#define AR9170_USB_REG_FIFO5_CONFIG (AR9170_USB_REG_BASE + 0x095) +#define AR9170_USB_REG_FIFO6_CONFIG (AR9170_USB_REG_BASE + 0x096) +#define AR9170_USB_REG_FIFO7_CONFIG (AR9170_USB_REG_BASE + 0x097) +#define AR9170_USB_REG_FIFO8_CONFIG (AR9170_USB_REG_BASE + 0x098) +#define AR9170_USB_REG_FIFO9_CONFIG (AR9170_USB_REG_BASE + 0x099) + +#define AR9170_USB_REG_EP3_DATA (AR9170_USB_REG_BASE + 0x0f8) +#define AR9170_USB_REG_EP4_DATA (AR9170_USB_REG_BASE + 0x0fc) + +#define AR9170_USB_REG_FIFO_SIZE (AR9170_USB_REG_BASE + 0x100) +#define AR9170_USB_REG_DMA_CTL (AR9170_USB_REG_BASE + 0x108) +#define AR9170_USB_DMA_CTL_ENABLE_TO_DEVICE BIT(0) +#define AR9170_USB_DMA_CTL_ENABLE_FROM_DEVICE BIT(1) +#define AR9170_USB_DMA_CTL_HIGH_SPEED BIT(2) +#define AR9170_USB_DMA_CTL_UP_PACKET_MODE BIT(3) +#define AR9170_USB_DMA_CTL_UP_STREAM_S 4 +#define AR9170_USB_DMA_CTL_UP_STREAM (BIT(4) | BIT(5)) +#define AR9170_USB_DMA_CTL_UP_STREAM_4K (0) +#define AR9170_USB_DMA_CTL_UP_STREAM_8K BIT(4) +#define AR9170_USB_DMA_CTL_UP_STREAM_16K BIT(5) +#define AR9170_USB_DMA_CTL_UP_STREAM_32K (BIT(4) | BIT(5)) +#define AR9170_USB_DMA_CTL_DOWN_STREAM BIT(6) + +#define AR9170_USB_REG_DMA_STATUS (AR9170_USB_REG_BASE + 0x10c) +#define AR9170_USB_DMA_STATUS_UP_IDLE BIT(8) +#define AR9170_USB_DMA_STATUS_DN_IDLE BIT(16) + +#define AR9170_USB_REG_MAX_AGG_UPLOAD (AR9170_USB_REG_BASE + 0x110) +#define AR9170_USB_REG_UPLOAD_TIME_CTL (AR9170_USB_REG_BASE + 0x114) + +#define AR9170_USB_REG_WAKE_UP (AR9170_USB_REG_BASE + 0x120) +#define AR9170_USB_WAKE_UP_WAKE BIT(0) + +#define AR9170_USB_REG_CBUS_CTRL (AR9170_USB_REG_BASE + 0x1f0) +#define AR9170_USB_CBUS_CTRL_BUFFER_END (BIT(1)) + +/* PCI/USB to AHB Bridge */ +#define AR9170_PTA_REG_BASE 0x1e2000 + +#define AR9170_PTA_REG_CMD (AR9170_PTA_REG_BASE + 0x000) +#define AR9170_PTA_REG_PARAM1 (AR9170_PTA_REG_BASE + 0x004) +#define AR9170_PTA_REG_PARAM2 (AR9170_PTA_REG_BASE + 0x008) +#define AR9170_PTA_REG_PARAM3 (AR9170_PTA_REG_BASE + 0x00c) +#define AR9170_PTA_REG_RSP (AR9170_PTA_REG_BASE + 0x010) +#define AR9170_PTA_REG_STATUS1 (AR9170_PTA_REG_BASE + 0x014) +#define AR9170_PTA_REG_STATUS2 (AR9170_PTA_REG_BASE + 0x018) +#define AR9170_PTA_REG_STATUS3 (AR9170_PTA_REG_BASE + 0x01c) +#define AR9170_PTA_REG_AHB_INT_FLAG (AR9170_PTA_REG_BASE + 0x020) +#define AR9170_PTA_REG_AHB_INT_MASK (AR9170_PTA_REG_BASE + 0x024) +#define AR9170_PTA_REG_AHB_INT_ACK (AR9170_PTA_REG_BASE + 0x028) +#define AR9170_PTA_REG_AHB_SCRATCH1 (AR9170_PTA_REG_BASE + 0x030) +#define AR9170_PTA_REG_AHB_SCRATCH2 (AR9170_PTA_REG_BASE + 0x034) +#define AR9170_PTA_REG_AHB_SCRATCH3 (AR9170_PTA_REG_BASE + 0x038) +#define AR9170_PTA_REG_AHB_SCRATCH4 (AR9170_PTA_REG_BASE + 0x03c) + +#define AR9170_PTA_REG_SHARE_MEM_CTRL (AR9170_PTA_REG_BASE + 0x124) + +/* + * PCI to AHB Bridge + */ + +#define AR9170_PTA_REG_INT_FLAG (AR9170_PTA_REG_BASE + 0x100) +#define AR9170_PTA_INT_FLAG_DN 0x01 +#define AR9170_PTA_INT_FLAG_UP 0x02 +#define AR9170_PTA_INT_FLAG_CMD 0x04 + +#define AR9170_PTA_REG_INT_MASK (AR9170_PTA_REG_BASE + 0x104) +#define AR9170_PTA_REG_DN_DMA_ADDRL (AR9170_PTA_REG_BASE + 0x108) +#define AR9170_PTA_REG_DN_DMA_ADDRH (AR9170_PTA_REG_BASE + 0x10c) +#define AR9170_PTA_REG_UP_DMA_ADDRL (AR9170_PTA_REG_BASE + 0x110) +#define AR9170_PTA_REG_UP_DMA_ADDRH (AR9170_PTA_REG_BASE + 0x114) +#define AR9170_PTA_REG_DN_PEND_TIME (AR9170_PTA_REG_BASE + 0x118) +#define AR9170_PTA_REG_UP_PEND_TIME (AR9170_PTA_REG_BASE + 0x11c) +#define AR9170_PTA_REG_CONTROL (AR9170_PTA_REG_BASE + 0x120) +#define AR9170_PTA_CTRL_4_BEAT_BURST 0x00 +#define AR9170_PTA_CTRL_8_BEAT_BURST 0x01 +#define AR9170_PTA_CTRL_16_BEAT_BURST 0x02 +#define AR9170_PTA_CTRL_LOOPBACK_MODE 0x10 + +#define AR9170_PTA_REG_MEM_CTRL (AR9170_PTA_REG_BASE + 0x124) +#define AR9170_PTA_REG_MEM_ADDR (AR9170_PTA_REG_BASE + 0x128) +#define AR9170_PTA_REG_DN_DMA_TRIGGER (AR9170_PTA_REG_BASE + 0x12c) +#define AR9170_PTA_REG_UP_DMA_TRIGGER (AR9170_PTA_REG_BASE + 0x130) +#define AR9170_PTA_REG_DMA_STATUS (AR9170_PTA_REG_BASE + 0x134) +#define AR9170_PTA_REG_DN_CURR_ADDRL (AR9170_PTA_REG_BASE + 0x138) +#define AR9170_PTA_REG_DN_CURR_ADDRH (AR9170_PTA_REG_BASE + 0x13c) +#define AR9170_PTA_REG_UP_CURR_ADDRL (AR9170_PTA_REG_BASE + 0x140) +#define AR9170_PTA_REG_UP_CURR_ADDRH (AR9170_PTA_REG_BASE + 0x144) +#define AR9170_PTA_REG_DMA_MODE_CTRL (AR9170_PTA_REG_BASE + 0x148) +#define AR9170_PTA_DMA_MODE_CTRL_RESET BIT(0) +#define AR9170_PTA_DMA_MODE_CTRL_DISABLE_USB BIT(1) + +/* Protocol Controller Module */ +#define AR9170_MAC_REG_PC_REG_BASE (AR9170_MAC_REG_BASE + 0xe00) + + +#define AR9170_NUM_LEDS 2 + +/* CAM */ +#define AR9170_CAM_MAX_USER 64 +#define AR9170_CAM_MAX_KEY_LENGTH 16 + +#define AR9170_SRAM_OFFSET 0x100000 +#define AR9170_SRAM_SIZE 0x18000 + +#define AR9170_PRAM_OFFSET 0x200000 +#define AR9170_PRAM_SIZE 0x8000 + +enum cpu_clock { + AHB_STATIC_40MHZ = 0, + AHB_GMODE_22MHZ = 1, + AHB_AMODE_20MHZ = 1, + AHB_GMODE_44MHZ = 2, + AHB_AMODE_40MHZ = 2, + AHB_GMODE_88MHZ = 3, + AHB_AMODE_80MHZ = 3 +}; + +/* USB endpoints */ +enum ar9170_usb_ep { + /* + * Control EP is always EP 0 (USB SPEC) + * + * The weird thing is: the original firmware has a few + * comments that suggest that the actual EP numbers + * are in the 1 to 10 range?! + */ + AR9170_USB_EP_CTRL = 0, + + AR9170_USB_EP_TX, + AR9170_USB_EP_RX, + AR9170_USB_EP_IRQ, + AR9170_USB_EP_CMD, + AR9170_USB_NUM_EXTRA_EP = 4, + + __AR9170_USB_NUM_EP, + + __AR9170_USB_NUM_MAX_EP = 10 +}; + +enum ar9170_usb_fifo { + __AR9170_USB_NUM_MAX_FIFO = 10 +}; + +enum ar9170_tx_queues { + AR9170_TXQ0 = 0, + AR9170_TXQ1, + AR9170_TXQ2, + AR9170_TXQ3, + AR9170_TXQ_SPECIAL, + + /* keep last */ + __AR9170_NUM_TX_QUEUES = 5 +}; + +#define AR9170_TX_STREAM_TAG 0x697e +#define AR9170_RX_STREAM_TAG 0x4e00 +#define AR9170_RX_STREAM_MAX_SIZE 0xffff + +struct ar9170_stream { + __le16 length; + __le16 tag; + + u8 payload[0]; +} __packed __aligned(4); +#define AR9170_STREAM_LEN 4 + +#define AR9170_MAX_ACKTABLE_ENTRIES 8 +#define AR9170_MAX_VIRTUAL_MAC 7 + +#define AR9170_USB_EP_CTRL_MAX 64 +#define AR9170_USB_EP_TX_MAX 512 +#define AR9170_USB_EP_RX_MAX 512 +#define AR9170_USB_EP_IRQ_MAX 64 +#define AR9170_USB_EP_CMD_MAX 64 + +/* Trigger PRETBTT interrupt 6 Kus earlier */ +#define CARL9170_PRETBTT_KUS 6 + +#define AR5416_MAX_RATE_POWER 63 + +#define SET_VAL(reg, value, newvalue) \ + (value = ((value) & ~reg) | (((newvalue) << reg##_S) & reg)) + +#define SET_CONSTVAL(reg, newvalue) \ + (((newvalue) << reg##_S) & reg) + +#define MOD_VAL(reg, value, newvalue) \ + (((value) & ~reg) | (((newvalue) << reg##_S) & reg)) + +#define GET_VAL(reg, value) \ + (((value) & reg) >> reg##_S) + +#endif /* __CARL9170_SHARED_HW_H */ diff --git a/carl9170fw/include/shared/phy.h b/carl9170fw/include/shared/phy.h new file mode 100644 index 0000000..024fb42 --- /dev/null +++ b/carl9170fw/include/shared/phy.h @@ -0,0 +1,564 @@ +/* + * Shared Atheros AR9170 Header + * + * PHY register map + * + * Copyright (c) 2008-2009 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. + */ + +#ifndef __CARL9170_SHARED_PHY_H +#define __CARL9170_SHARED_PHY_H + +#define AR9170_PHY_REG_BASE (0x1bc000 + 0x9800) +#define AR9170_PHY_REG(_n) (AR9170_PHY_REG_BASE + \ + ((_n) << 2)) + +#define AR9170_PHY_REG_TEST (AR9170_PHY_REG_BASE + 0x0000) +#define AR9170_PHY_TEST_AGC_CLR 0x10000000 +#define AR9170_PHY_TEST_RFSILENT_BB 0x00002000 + +#define AR9170_PHY_REG_TURBO (AR9170_PHY_REG_BASE + 0x0004) +#define AR9170_PHY_TURBO_FC_TURBO_MODE 0x00000001 +#define AR9170_PHY_TURBO_FC_TURBO_SHORT 0x00000002 +#define AR9170_PHY_TURBO_FC_DYN2040_EN 0x00000004 +#define AR9170_PHY_TURBO_FC_DYN2040_PRI_ONLY 0x00000008 +#define AR9170_PHY_TURBO_FC_DYN2040_PRI_CH 0x00000010 +/* For 25 MHz channel spacing -- not used but supported by hw */ +#define AR9170_PHY_TURBO_FC_DYN2040_EXT_CH 0x00000020 +#define AR9170_PHY_TURBO_FC_HT_EN 0x00000040 +#define AR9170_PHY_TURBO_FC_SHORT_GI_40 0x00000080 +#define AR9170_PHY_TURBO_FC_WALSH 0x00000100 +#define AR9170_PHY_TURBO_FC_SINGLE_HT_LTF1 0x00000200 +#define AR9170_PHY_TURBO_FC_ENABLE_DAC_FIFO 0x00000800 + +#define AR9170_PHY_REG_TEST2 (AR9170_PHY_REG_BASE + 0x0008) + +#define AR9170_PHY_REG_TIMING2 (AR9170_PHY_REG_BASE + 0x0010) +#define AR9170_PHY_TIMING2_USE_FORCE 0x00001000 +#define AR9170_PHY_TIMING2_FORCE 0x00000fff +#define AR9170_PHY_TIMING2_FORCE_S 0 + +#define AR9170_PHY_REG_TIMING3 (AR9170_PHY_REG_BASE + 0x0014) +#define AR9170_PHY_TIMING3_DSC_EXP 0x0001e000 +#define AR9170_PHY_TIMING3_DSC_EXP_S 13 +#define AR9170_PHY_TIMING3_DSC_MAN 0xfffe0000 +#define AR9170_PHY_TIMING3_DSC_MAN_S 17 + +#define AR9170_PHY_REG_CHIP_ID (AR9170_PHY_REG_BASE + 0x0018) +#define AR9170_PHY_CHIP_ID_REV_0 0x80 +#define AR9170_PHY_CHIP_ID_REV_1 0x81 +#define AR9170_PHY_CHIP_ID_9160_REV_0 0xb0 + +#define AR9170_PHY_REG_ACTIVE (AR9170_PHY_REG_BASE + 0x001c) +#define AR9170_PHY_ACTIVE_EN 0x00000001 +#define AR9170_PHY_ACTIVE_DIS 0x00000000 + +#define AR9170_PHY_REG_RF_CTL2 (AR9170_PHY_REG_BASE + 0x0024) +#define AR9170_PHY_RF_CTL2_TX_END_DATA_START 0x000000ff +#define AR9170_PHY_RF_CTL2_TX_END_DATA_START_S 0 +#define AR9170_PHY_RF_CTL2_TX_END_PA_ON 0x0000ff00 +#define AR9170_PHY_RF_CTL2_TX_END_PA_ON_S 8 + +#define AR9170_PHY_REG_RF_CTL3 (AR9170_PHY_REG_BASE + 0x0028) +#define AR9170_PHY_RF_CTL3_TX_END_TO_A2_RX_ON 0x00ff0000 +#define AR9170_PHY_RF_CTL3_TX_END_TO_A2_RX_ON_S 16 + +#define AR9170_PHY_REG_ADC_CTL (AR9170_PHY_REG_BASE + 0x002c) +#define AR9170_PHY_ADC_CTL_OFF_INBUFGAIN 0x00000003 +#define AR9170_PHY_ADC_CTL_OFF_INBUFGAIN_S 0 +#define AR9170_PHY_ADC_CTL_OFF_PWDDAC 0x00002000 +#define AR9170_PHY_ADC_CTL_OFF_PWDBANDGAP 0x00004000 +#define AR9170_PHY_ADC_CTL_OFF_PWDADC 0x00008000 +#define AR9170_PHY_ADC_CTL_ON_INBUFGAIN 0x00030000 +#define AR9170_PHY_ADC_CTL_ON_INBUFGAIN_S 16 + +#define AR9170_PHY_REG_ADC_SERIAL_CTL (AR9170_PHY_REG_BASE + 0x0030) +#define AR9170_PHY_ADC_SCTL_SEL_INTERNAL_ADDAC 0x00000000 +#define AR9170_PHY_ADC_SCTL_SEL_EXTERNAL_RADIO 0x00000001 + +#define AR9170_PHY_REG_RF_CTL4 (AR9170_PHY_REG_BASE + 0x0034) +#define AR9170_PHY_RF_CTL4_TX_END_XPAB_OFF 0xff000000 +#define AR9170_PHY_RF_CTL4_TX_END_XPAB_OFF_S 24 +#define AR9170_PHY_RF_CTL4_TX_END_XPAA_OFF 0x00ff0000 +#define AR9170_PHY_RF_CTL4_TX_END_XPAA_OFF_S 16 +#define AR9170_PHY_RF_CTL4_FRAME_XPAB_ON 0x0000ff00 +#define AR9170_PHY_RF_CTL4_FRAME_XPAB_ON_S 8 +#define AR9170_PHY_RF_CTL4_FRAME_XPAA_ON 0x000000ff +#define AR9170_PHY_RF_CTL4_FRAME_XPAA_ON_S 0 + +#define AR9170_PHY_REG_TSTDAC_CONST (AR9170_PHY_REG_BASE + 0x003c) + +#define AR9170_PHY_REG_SETTLING (AR9170_PHY_REG_BASE + 0x0044) +#define AR9170_PHY_SETTLING_SWITCH 0x00003f80 +#define AR9170_PHY_SETTLING_SWITCH_S 7 + +#define AR9170_PHY_REG_RXGAIN (AR9170_PHY_REG_BASE + 0x0048) +#define AR9170_PHY_REG_RXGAIN_CHAIN_2 (AR9170_PHY_REG_BASE + 0x2048) +#define AR9170_PHY_RXGAIN_TXRX_ATTEN 0x0003f000 +#define AR9170_PHY_RXGAIN_TXRX_ATTEN_S 12 +#define AR9170_PHY_RXGAIN_TXRX_RF_MAX 0x007c0000 +#define AR9170_PHY_RXGAIN_TXRX_RF_MAX_S 18 + +#define AR9170_PHY_REG_DESIRED_SZ (AR9170_PHY_REG_BASE + 0x0050) +#define AR9170_PHY_DESIRED_SZ_ADC 0x000000ff +#define AR9170_PHY_DESIRED_SZ_ADC_S 0 +#define AR9170_PHY_DESIRED_SZ_PGA 0x0000ff00 +#define AR9170_PHY_DESIRED_SZ_PGA_S 8 +#define AR9170_PHY_DESIRED_SZ_TOT_DES 0x0ff00000 +#define AR9170_PHY_DESIRED_SZ_TOT_DES_S 20 + +#define AR9170_PHY_REG_FIND_SIG (AR9170_PHY_REG_BASE + 0x0058) +#define AR9170_PHY_FIND_SIG_FIRSTEP 0x0003f000 +#define AR9170_PHY_FIND_SIG_FIRSTEP_S 12 +#define AR9170_PHY_FIND_SIG_FIRPWR 0x03fc0000 +#define AR9170_PHY_FIND_SIG_FIRPWR_S 18 + +#define AR9170_PHY_REG_AGC_CTL1 (AR9170_PHY_REG_BASE + 0x005c) +#define AR9170_PHY_AGC_CTL1_COARSE_LOW 0x00007f80 +#define AR9170_PHY_AGC_CTL1_COARSE_LOW_S 7 +#define AR9170_PHY_AGC_CTL1_COARSE_HIGH 0x003f8000 +#define AR9170_PHY_AGC_CTL1_COARSE_HIGH_S 15 + +#define AR9170_PHY_REG_AGC_CONTROL (AR9170_PHY_REG_BASE + 0x0060) +#define AR9170_PHY_AGC_CONTROL_CAL 0x00000001 +#define AR9170_PHY_AGC_CONTROL_NF 0x00000002 +#define AR9170_PHY_AGC_CONTROL_ENABLE_NF 0x00008000 +#define AR9170_PHY_AGC_CONTROL_FLTR_CAL 0x00010000 +#define AR9170_PHY_AGC_CONTROL_NO_UPDATE_NF 0x00020000 + +#define AR9170_PHY_REG_CCA (AR9170_PHY_REG_BASE + 0x0064) +#define AR9170_PHY_CCA_MIN_PWR 0x0ff80000 +#define AR9170_PHY_CCA_MIN_PWR_S 19 +#define AR9170_PHY_CCA_THRESH62 0x0007f000 +#define AR9170_PHY_CCA_THRESH62_S 12 + +#define AR9170_PHY_REG_SFCORR (AR9170_PHY_REG_BASE + 0x0068) +#define AR9170_PHY_SFCORR_M2COUNT_THR 0x0000001f +#define AR9170_PHY_SFCORR_M2COUNT_THR_S 0 +#define AR9170_PHY_SFCORR_M1_THRESH 0x00fe0000 +#define AR9170_PHY_SFCORR_M1_THRESH_S 17 +#define AR9170_PHY_SFCORR_M2_THRESH 0x7f000000 +#define AR9170_PHY_SFCORR_M2_THRESH_S 24 + +#define AR9170_PHY_REG_SFCORR_LOW (AR9170_PHY_REG_BASE + 0x006c) +#define AR9170_PHY_SFCORR_LOW_USE_SELF_CORR_LOW 0x00000001 +#define AR9170_PHY_SFCORR_LOW_M2COUNT_THR_LOW 0x00003f00 +#define AR9170_PHY_SFCORR_LOW_M2COUNT_THR_LOW_S 8 +#define AR9170_PHY_SFCORR_LOW_M1_THRESH_LOW 0x001fc000 +#define AR9170_PHY_SFCORR_LOW_M1_THRESH_LOW_S 14 +#define AR9170_PHY_SFCORR_LOW_M2_THRESH_LOW 0x0fe00000 +#define AR9170_PHY_SFCORR_LOW_M2_THRESH_LOW_S 21 + +#define AR9170_PHY_REG_SLEEP_CTR_CONTROL (AR9170_PHY_REG_BASE + 0x0070) +#define AR9170_PHY_REG_SLEEP_CTR_LIMIT (AR9170_PHY_REG_BASE + 0x0074) +#define AR9170_PHY_REG_SLEEP_SCAL (AR9170_PHY_REG_BASE + 0x0078) + +#define AR9170_PHY_REG_PLL_CTL (AR9170_PHY_REG_BASE + 0x007c) +#define AR9170_PHY_PLL_CTL_40 0xaa +#define AR9170_PHY_PLL_CTL_40_5413 0x04 +#define AR9170_PHY_PLL_CTL_44 0xab +#define AR9170_PHY_PLL_CTL_44_2133 0xeb +#define AR9170_PHY_PLL_CTL_40_2133 0xea + +#define AR9170_PHY_REG_BIN_MASK_1 (AR9170_PHY_REG_BASE + 0x0100) +#define AR9170_PHY_REG_BIN_MASK_2 (AR9170_PHY_REG_BASE + 0x0104) +#define AR9170_PHY_REG_BIN_MASK_3 (AR9170_PHY_REG_BASE + 0x0108) +#define AR9170_PHY_REG_MASK_CTL (AR9170_PHY_REG_BASE + 0x010c) + +/* analogue power on time (100ns) */ +#define AR9170_PHY_REG_RX_DELAY (AR9170_PHY_REG_BASE + 0x0114) +#define AR9170_PHY_REG_SEARCH_START_DELAY (AR9170_PHY_REG_BASE + 0x0118) +#define AR9170_PHY_RX_DELAY_DELAY 0x00003fff + +#define AR9170_PHY_REG_TIMING_CTRL4(_i) (AR9170_PHY_REG_BASE + \ + (0x0120 + ((_i) << 12))) +#define AR9170_PHY_TIMING_CTRL4_IQCORR_Q_Q_COFF 0x01f +#define AR9170_PHY_TIMING_CTRL4_IQCORR_Q_Q_COFF_S 0 +#define AR9170_PHY_TIMING_CTRL4_IQCORR_Q_I_COFF 0x7e0 +#define AR9170_PHY_TIMING_CTRL4_IQCORR_Q_I_COFF_S 5 +#define AR9170_PHY_TIMING_CTRL4_IQCORR_ENABLE 0x800 +#define AR9170_PHY_TIMING_CTRL4_IQCAL_LOG_COUNT_MAX 0xf000 +#define AR9170_PHY_TIMING_CTRL4_IQCAL_LOG_COUNT_MAX_S 12 +#define AR9170_PHY_TIMING_CTRL4_DO_IQCAL 0x10000 +#define AR9170_PHY_TIMING_CTRL4_ENABLE_SPUR_RSSI 0x80000000 +#define AR9170_PHY_TIMING_CTRL4_ENABLE_SPUR_FILTER 0x40000000 +#define AR9170_PHY_TIMING_CTRL4_ENABLE_CHAN_MASK 0x20000000 +#define AR9170_PHY_TIMING_CTRL4_ENABLE_PILOT_MASK 0x10000000 + +#define AR9170_PHY_REG_TIMING5 (AR9170_PHY_REG_BASE + 0x0124) +#define AR9170_PHY_TIMING5_CYCPWR_THR1 0x000000fe +#define AR9170_PHY_TIMING5_CYCPWR_THR1_S 1 + +#define AR9170_PHY_REG_POWER_TX_RATE1 (AR9170_PHY_REG_BASE + 0x0134) +#define AR9170_PHY_REG_POWER_TX_RATE2 (AR9170_PHY_REG_BASE + 0x0138) +#define AR9170_PHY_REG_POWER_TX_RATE_MAX (AR9170_PHY_REG_BASE + 0x013c) +#define AR9170_PHY_POWER_TX_RATE_MAX_TPC_ENABLE 0x00000040 + +#define AR9170_PHY_REG_FRAME_CTL (AR9170_PHY_REG_BASE + 0x0144) +#define AR9170_PHY_FRAME_CTL_TX_CLIP 0x00000038 +#define AR9170_PHY_FRAME_CTL_TX_CLIP_S 3 + +#define AR9170_PHY_REG_SPUR_REG (AR9170_PHY_REG_BASE + 0x014c) +#define AR9170_PHY_SPUR_REG_MASK_RATE_CNTL (0xff << 18) +#define AR9170_PHY_SPUR_REG_MASK_RATE_CNTL_S 18 +#define AR9170_PHY_SPUR_REG_ENABLE_MASK_PPM 0x20000 +#define AR9170_PHY_SPUR_REG_MASK_RATE_SELECT (0xff << 9) +#define AR9170_PHY_SPUR_REG_MASK_RATE_SELECT_S 9 +#define AR9170_PHY_SPUR_REG_ENABLE_VIT_SPUR_RSSI 0x100 +#define AR9170_PHY_SPUR_REG_SPUR_RSSI_THRESH 0x7f +#define AR9170_PHY_SPUR_REG_SPUR_RSSI_THRESH_S 0 + +#define AR9170_PHY_REG_RADAR_EXT (AR9170_PHY_REG_BASE + 0x0140) +#define AR9170_PHY_RADAR_EXT_ENA 0x00004000 + +#define AR9170_PHY_REG_RADAR_0 (AR9170_PHY_REG_BASE + 0x0154) +#define AR9170_PHY_RADAR_0_ENA 0x00000001 +#define AR9170_PHY_RADAR_0_FFT_ENA 0x80000000 +/* inband pulse threshold */ +#define AR9170_PHY_RADAR_0_INBAND 0x0000003e +#define AR9170_PHY_RADAR_0_INBAND_S 1 +/* pulse RSSI threshold */ +#define AR9170_PHY_RADAR_0_PRSSI 0x00000fc0 +#define AR9170_PHY_RADAR_0_PRSSI_S 6 +/* pulse height threshold */ +#define AR9170_PHY_RADAR_0_HEIGHT 0x0003f000 +#define AR9170_PHY_RADAR_0_HEIGHT_S 12 +/* radar RSSI threshold */ +#define AR9170_PHY_RADAR_0_RRSSI 0x00fc0000 +#define AR9170_PHY_RADAR_0_RRSSI_S 18 +/* radar firepower threshold */ +#define AR9170_PHY_RADAR_0_FIRPWR 0x7f000000 +#define AR9170_PHY_RADAR_0_FIRPWR_S 24 + +#define AR9170_PHY_REG_RADAR_1 (AR9170_PHY_REG_BASE + 0x0158) +#define AR9170_PHY_RADAR_1_RELPWR_ENA 0x00800000 +#define AR9170_PHY_RADAR_1_USE_FIR128 0x00400000 +#define AR9170_PHY_RADAR_1_RELPWR_THRESH 0x003f0000 +#define AR9170_PHY_RADAR_1_RELPWR_THRESH_S 16 +#define AR9170_PHY_RADAR_1_BLOCK_CHECK 0x00008000 +#define AR9170_PHY_RADAR_1_MAX_RRSSI 0x00004000 +#define AR9170_PHY_RADAR_1_RELSTEP_CHECK 0x00002000 +#define AR9170_PHY_RADAR_1_RELSTEP_THRESH 0x00001f00 +#define AR9170_PHY_RADAR_1_RELSTEP_THRESH_S 8 +#define AR9170_PHY_RADAR_1_MAXLEN 0x000000ff +#define AR9170_PHY_RADAR_1_MAXLEN_S 0 + +#define AR9170_PHY_REG_SWITCH_CHAIN_0 (AR9170_PHY_REG_BASE + 0x0160) +#define AR9170_PHY_REG_SWITCH_CHAIN_2 (AR9170_PHY_REG_BASE + 0x2160) + +#define AR9170_PHY_REG_SWITCH_COM (AR9170_PHY_REG_BASE + 0x0164) + +#define AR9170_PHY_REG_CCA_THRESHOLD (AR9170_PHY_REG_BASE + 0x0168) + +#define AR9170_PHY_REG_SIGMA_DELTA (AR9170_PHY_REG_BASE + 0x016c) +#define AR9170_PHY_SIGMA_DELTA_ADC_SEL 0x00000003 +#define AR9170_PHY_SIGMA_DELTA_ADC_SEL_S 0 +#define AR9170_PHY_SIGMA_DELTA_FILT2 0x000000f8 +#define AR9170_PHY_SIGMA_DELTA_FILT2_S 3 +#define AR9170_PHY_SIGMA_DELTA_FILT1 0x00001f00 +#define AR9170_PHY_SIGMA_DELTA_FILT1_S 8 +#define AR9170_PHY_SIGMA_DELTA_ADC_CLIP 0x01ffe000 +#define AR9170_PHY_SIGMA_DELTA_ADC_CLIP_S 13 + +#define AR9170_PHY_REG_RESTART (AR9170_PHY_REG_BASE + 0x0170) +#define AR9170_PHY_RESTART_DIV_GC 0x001c0000 +#define AR9170_PHY_RESTART_DIV_GC_S 18 + +#define AR9170_PHY_REG_RFBUS_REQ (AR9170_PHY_REG_BASE + 0x017c) +#define AR9170_PHY_RFBUS_REQ_EN 0x00000001 + +#define AR9170_PHY_REG_TIMING7 (AR9170_PHY_REG_BASE + 0x0180) +#define AR9170_PHY_REG_TIMING8 (AR9170_PHY_REG_BASE + 0x0184) +#define AR9170_PHY_TIMING8_PILOT_MASK_2 0x000fffff +#define AR9170_PHY_TIMING8_PILOT_MASK_2_S 0 + +#define AR9170_PHY_REG_BIN_MASK2_1 (AR9170_PHY_REG_BASE + 0x0188) +#define AR9170_PHY_REG_BIN_MASK2_2 (AR9170_PHY_REG_BASE + 0x018c) +#define AR9170_PHY_REG_BIN_MASK2_3 (AR9170_PHY_REG_BASE + 0x0190) +#define AR9170_PHY_REG_BIN_MASK2_4 (AR9170_PHY_REG_BASE + 0x0194) +#define AR9170_PHY_BIN_MASK2_4_MASK_4 0x00003fff +#define AR9170_PHY_BIN_MASK2_4_MASK_4_S 0 + +#define AR9170_PHY_REG_TIMING9 (AR9170_PHY_REG_BASE + 0x0198) +#define AR9170_PHY_REG_TIMING10 (AR9170_PHY_REG_BASE + 0x019c) +#define AR9170_PHY_TIMING10_PILOT_MASK_2 0x000fffff +#define AR9170_PHY_TIMING10_PILOT_MASK_2_S 0 + +#define AR9170_PHY_REG_TIMING11 (AR9170_PHY_REG_BASE + 0x01a0) +#define AR9170_PHY_TIMING11_SPUR_DELTA_PHASE 0x000fffff +#define AR9170_PHY_TIMING11_SPUR_DELTA_PHASE_S 0 +#define AR9170_PHY_TIMING11_SPUR_FREQ_SD 0x3ff00000 +#define AR9170_PHY_TIMING11_SPUR_FREQ_SD_S 20 +#define AR9170_PHY_TIMING11_USE_SPUR_IN_AGC 0x40000000 +#define AR9170_PHY_TIMING11_USE_SPUR_IN_SELFCOR 0x80000000 + +#define AR9170_PHY_REG_RX_CHAINMASK (AR9170_PHY_REG_BASE + 0x01a4) +#define AR9170_PHY_REG_NEW_ADC_DC_GAIN_CORR(_i) (AR9170_PHY_REG_BASE + \ + 0x01b4 + ((_i) << 12)) +#define AR9170_PHY_NEW_ADC_GAIN_CORR_ENABLE 0x40000000 +#define AR9170_PHY_NEW_ADC_DC_OFFSET_CORR_ENABLE 0x80000000 + +#define AR9170_PHY_REG_MULTICHAIN_GAIN_CTL (AR9170_PHY_REG_BASE + 0x01ac) +#define AR9170_PHY_9285_ANT_DIV_CTL_ALL 0x7f000000 +#define AR9170_PHY_9285_ANT_DIV_CTL 0x01000000 +#define AR9170_PHY_9285_ANT_DIV_CTL_S 24 +#define AR9170_PHY_9285_ANT_DIV_ALT_LNACONF 0x06000000 +#define AR9170_PHY_9285_ANT_DIV_ALT_LNACONF_S 25 +#define AR9170_PHY_9285_ANT_DIV_MAIN_LNACONF 0x18000000 +#define AR9170_PHY_9285_ANT_DIV_MAIN_LNACONF_S 27 +#define AR9170_PHY_9285_ANT_DIV_ALT_GAINTB 0x20000000 +#define AR9170_PHY_9285_ANT_DIV_ALT_GAINTB_S 29 +#define AR9170_PHY_9285_ANT_DIV_MAIN_GAINTB 0x40000000 +#define AR9170_PHY_9285_ANT_DIV_MAIN_GAINTB_S 30 +#define AR9170_PHY_9285_ANT_DIV_LNA1 2 +#define AR9170_PHY_9285_ANT_DIV_LNA2 1 +#define AR9170_PHY_9285_ANT_DIV_LNA1_PLUS_LNA2 3 +#define AR9170_PHY_9285_ANT_DIV_LNA1_MINUS_LNA2 0 +#define AR9170_PHY_9285_ANT_DIV_GAINTB_0 0 +#define AR9170_PHY_9285_ANT_DIV_GAINTB_1 1 + +#define AR9170_PHY_REG_EXT_CCA0 (AR9170_PHY_REG_BASE + 0x01b8) +#define AR9170_PHY_REG_EXT_CCA0_THRESH62 0x000000ff +#define AR9170_PHY_REG_EXT_CCA0_THRESH62_S 0 + +#define AR9170_PHY_REG_EXT_CCA (AR9170_PHY_REG_BASE + 0x01bc) +#define AR9170_PHY_EXT_CCA_CYCPWR_THR1 0x0000fe00 +#define AR9170_PHY_EXT_CCA_CYCPWR_THR1_S 9 +#define AR9170_PHY_EXT_CCA_THRESH62 0x007f0000 +#define AR9170_PHY_EXT_CCA_THRESH62_S 16 +#define AR9170_PHY_EXT_CCA_MIN_PWR 0xff800000 +#define AR9170_PHY_EXT_CCA_MIN_PWR_S 23 + +#define AR9170_PHY_REG_SFCORR_EXT (AR9170_PHY_REG_BASE + 0x01c0) +#define AR9170_PHY_SFCORR_EXT_M1_THRESH 0x0000007f +#define AR9170_PHY_SFCORR_EXT_M1_THRESH_S 0 +#define AR9170_PHY_SFCORR_EXT_M2_THRESH 0x00003f80 +#define AR9170_PHY_SFCORR_EXT_M2_THRESH_S 7 +#define AR9170_PHY_SFCORR_EXT_M1_THRESH_LOW 0x001fc000 +#define AR9170_PHY_SFCORR_EXT_M1_THRESH_LOW_S 14 +#define AR9170_PHY_SFCORR_EXT_M2_THRESH_LOW 0x0fe00000 +#define AR9170_PHY_SFCORR_EXT_M2_THRESH_LOW_S 21 +#define AR9170_PHY_SFCORR_SPUR_SUBCHNL_SD_S 28 + +#define AR9170_PHY_REG_HALFGI (AR9170_PHY_REG_BASE + 0x01d0) +#define AR9170_PHY_HALFGI_DSC_MAN 0x0007fff0 +#define AR9170_PHY_HALFGI_DSC_MAN_S 4 +#define AR9170_PHY_HALFGI_DSC_EXP 0x0000000f +#define AR9170_PHY_HALFGI_DSC_EXP_S 0 + +#define AR9170_PHY_REG_CHANNEL_MASK_01_30 (AR9170_PHY_REG_BASE + 0x01d4) +#define AR9170_PHY_REG_CHANNEL_MASK_31_60 (AR9170_PHY_REG_BASE + 0x01d8) + +#define AR9170_PHY_REG_CHAN_INFO_MEMORY (AR9170_PHY_REG_BASE + 0x01dc) +#define AR9170_PHY_CHAN_INFO_MEMORY_CAPTURE_MASK 0x0001 + +#define AR9170_PHY_REG_HEAVY_CLIP_ENABLE (AR9170_PHY_REG_BASE + 0x01e0) +#define AR9170_PHY_REG_HEAVY_CLIP_FACTOR_RIFS (AR9170_PHY_REG_BASE + 0x01ec) +#define AR9170_PHY_RIFS_INIT_DELAY 0x03ff0000 + +#define AR9170_PHY_REG_CALMODE (AR9170_PHY_REG_BASE + 0x01f0) +#define AR9170_PHY_CALMODE_IQ 0x00000000 +#define AR9170_PHY_CALMODE_ADC_GAIN 0x00000001 +#define AR9170_PHY_CALMODE_ADC_DC_PER 0x00000002 +#define AR9170_PHY_CALMODE_ADC_DC_INIT 0x00000003 + +#define AR9170_PHY_REG_REFCLKDLY (AR9170_PHY_REG_BASE + 0x01f4) +#define AR9170_PHY_REG_REFCLKPD (AR9170_PHY_REG_BASE + 0x01f8) + + +#define AR9170_PHY_REG_CAL_MEAS_0(_i) (AR9170_PHY_REG_BASE + \ + 0x0410 + ((_i) << 12)) +#define AR9170_PHY_REG_CAL_MEAS_1(_i) (AR9170_PHY_REG_BASE + \ + 0x0414 \ + ((_i) << 12)) +#define AR9170_PHY_REG_CAL_MEAS_2(_i) (AR9170_PHY_REG_BASE + \ + 0x0418 + ((_i) << 12)) +#define AR9170_PHY_REG_CAL_MEAS_3(_i) (AR9170_PHY_REG_BASE + \ + 0x041c + ((_i) << 12)) + +#define AR9170_PHY_REG_CURRENT_RSSI (AR9170_PHY_REG_BASE + 0x041c) + +#define AR9170_PHY_REG_RFBUS_GRANT (AR9170_PHY_REG_BASE + 0x0420) +#define AR9170_PHY_RFBUS_GRANT_EN 0x00000001 + +#define AR9170_PHY_REG_CHAN_INFO_GAIN_DIFF (AR9170_PHY_REG_BASE + 0x04f4) +#define AR9170_PHY_CHAN_INFO_GAIN_DIFF_UPPER_LIMIT 320 + +#define AR9170_PHY_REG_CHAN_INFO_GAIN (AR9170_PHY_REG_BASE + 0x04fc) + +#define AR9170_PHY_REG_MODE (AR9170_PHY_REG_BASE + 0x0a00) +#define AR9170_PHY_MODE_ASYNCFIFO 0x80 +#define AR9170_PHY_MODE_AR2133 0x08 +#define AR9170_PHY_MODE_AR5111 0x00 +#define AR9170_PHY_MODE_AR5112 0x08 +#define AR9170_PHY_MODE_DYNAMIC 0x04 +#define AR9170_PHY_MODE_RF2GHZ 0x02 +#define AR9170_PHY_MODE_RF5GHZ 0x00 +#define AR9170_PHY_MODE_CCK 0x01 +#define AR9170_PHY_MODE_OFDM 0x00 +#define AR9170_PHY_MODE_DYN_CCK_DISABLE 0x100 + +#define AR9170_PHY_REG_CCK_TX_CTRL (AR9170_PHY_REG_BASE + 0x0a04) +#define AR9170_PHY_CCK_TX_CTRL_JAPAN 0x00000010 +#define AR9170_PHY_CCK_TX_CTRL_TX_DAC_SCALE_CCK 0x0000000c +#define AR9170_PHY_CCK_TX_CTRL_TX_DAC_SCALE_CCK_S 2 + +#define AR9170_PHY_REG_CCK_DETECT (AR9170_PHY_REG_BASE + 0x0a08) +#define AR9170_PHY_CCK_DETECT_WEAK_SIG_THR_CCK 0x0000003f +#define AR9170_PHY_CCK_DETECT_WEAK_SIG_THR_CCK_S 0 +/* [12:6] settling time for antenna switch */ +#define AR9170_PHY_CCK_DETECT_ANT_SWITCH_TIME 0x00001fc0 +#define AR9170_PHY_CCK_DETECT_ANT_SWITCH_TIME_S 6 +#define AR9170_PHY_CCK_DETECT_BB_ENABLE_ANT_FAST_DIV 0x2000 +#define AR9170_PHY_CCK_DETECT_BB_ENABLE_ANT_FAST_DIV_S 13 + +#define AR9170_PHY_REG_GAIN_2GHZ (AR9170_PHY_REG_BASE + 0x0a0c) +#define AR9170_PHY_REG_GAIN_2GHZ_CHAIN_2 (AR9170_PHY_REG_BASE + 0x2a0c) +#define AR9170_PHY_GAIN_2GHZ_RXTX_MARGIN 0x00fc0000 +#define AR9170_PHY_GAIN_2GHZ_RXTX_MARGIN_S 18 +#define AR9170_PHY_GAIN_2GHZ_BSW_MARGIN 0x00003c00 +#define AR9170_PHY_GAIN_2GHZ_BSW_MARGIN_S 10 +#define AR9170_PHY_GAIN_2GHZ_BSW_ATTEN 0x0000001f +#define AR9170_PHY_GAIN_2GHZ_BSW_ATTEN_S 0 +#define AR9170_PHY_GAIN_2GHZ_XATTEN2_MARGIN 0x003e0000 +#define AR9170_PHY_GAIN_2GHZ_XATTEN2_MARGIN_S 17 +#define AR9170_PHY_GAIN_2GHZ_XATTEN1_MARGIN 0x0001f000 +#define AR9170_PHY_GAIN_2GHZ_XATTEN1_MARGIN_S 12 +#define AR9170_PHY_GAIN_2GHZ_XATTEN2_DB 0x00000fc0 +#define AR9170_PHY_GAIN_2GHZ_XATTEN2_DB_S 6 +#define AR9170_PHY_GAIN_2GHZ_XATTEN1_DB 0x0000003f +#define AR9170_PHY_GAIN_2GHZ_XATTEN1_DB_S 0 + +#define AR9170_PHY_REG_CCK_RXCTRL4 (AR9170_PHY_REG_BASE + 0x0a1c) +#define AR9170_PHY_CCK_RXCTRL4_FREQ_EST_SHORT 0x01f80000 +#define AR9170_PHY_CCK_RXCTRL4_FREQ_EST_SHORT_S 19 + +#define AR9170_PHY_REG_DAG_CTRLCCK (AR9170_PHY_REG_BASE + 0x0a28) +#define AR9170_REG_DAG_CTRLCCK_EN_RSSI_THR 0x00000200 +#define AR9170_REG_DAG_CTRLCCK_RSSI_THR 0x0001fc00 +#define AR9170_REG_DAG_CTRLCCK_RSSI_THR_S 10 + +#define AR9170_PHY_REG_FORCE_CLKEN_CCK (AR9170_PHY_REG_BASE + 0x0a2c) +#define AR9170_FORCE_CLKEN_CCK_MRC_MUX 0x00000040 + +#define AR9170_PHY_REG_POWER_TX_RATE3 (AR9170_PHY_REG_BASE + 0x0a34) +#define AR9170_PHY_REG_POWER_TX_RATE4 (AR9170_PHY_REG_BASE + 0x0a38) + +#define AR9170_PHY_REG_SCRM_SEQ_XR (AR9170_PHY_REG_BASE + 0x0a3c) +#define AR9170_PHY_REG_HEADER_DETECT_XR (AR9170_PHY_REG_BASE + 0x0a40) +#define AR9170_PHY_REG_CHIRP_DETECTED_XR (AR9170_PHY_REG_BASE + 0x0a44) +#define AR9170_PHY_REG_BLUETOOTH (AR9170_PHY_REG_BASE + 0x0a54) + +#define AR9170_PHY_REG_TPCRG1 (AR9170_PHY_REG_BASE + 0x0a58) +#define AR9170_PHY_TPCRG1_NUM_PD_GAIN 0x0000c000 +#define AR9170_PHY_TPCRG1_NUM_PD_GAIN_S 14 +#define AR9170_PHY_TPCRG1_PD_GAIN_1 0x00030000 +#define AR9170_PHY_TPCRG1_PD_GAIN_1_S 16 +#define AR9170_PHY_TPCRG1_PD_GAIN_2 0x000c0000 +#define AR9170_PHY_TPCRG1_PD_GAIN_2_S 18 +#define AR9170_PHY_TPCRG1_PD_GAIN_3 0x00300000 +#define AR9170_PHY_TPCRG1_PD_GAIN_3_S 20 +#define AR9170_PHY_TPCRG1_PD_CAL_ENABLE 0x00400000 +#define AR9170_PHY_TPCRG1_PD_CAL_ENABLE_S 22 + +#define AR9170_PHY_REG_TX_PWRCTRL4 (AR9170_PHY_REG_BASE + 0x0a64) +#define AR9170_PHY_TX_PWRCTRL_PD_AVG_VALID 0x00000001 +#define AR9170_PHY_TX_PWRCTRL_PD_AVG_VALID_S 0 +#define AR9170_PHY_TX_PWRCTRL_PD_AVG_OUT 0x000001fe +#define AR9170_PHY_TX_PWRCTRL_PD_AVG_OUT_S 1 + +#define AR9170_PHY_REG_ANALOG_SWAP (AR9170_PHY_REG_BASE + 0x0a68) +#define AR9170_PHY_ANALOG_SWAP_AB 0x0001 +#define AR9170_PHY_ANALOG_SWAP_ALT_CHAIN 0x00000040 + +#define AR9170_PHY_REG_TPCRG5 (AR9170_PHY_REG_BASE + 0x0a6c) +#define AR9170_PHY_TPCRG5_PD_GAIN_OVERLAP 0x0000000f +#define AR9170_PHY_TPCRG5_PD_GAIN_OVERLAP_S 0 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_1 0x000003f0 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_1_S 4 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_2 0x0000fc00 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_2_S 10 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_3 0x003f0000 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_3_S 16 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_4 0x0fc00000 +#define AR9170_PHY_TPCRG5_PD_GAIN_BOUNDARY_4_S 22 + +#define AR9170_PHY_REG_TX_PWRCTRL6_0 (AR9170_PHY_REG_BASE + 0x0a70) +#define AR9170_PHY_REG_TX_PWRCTRL6_1 (AR9170_PHY_REG_BASE + 0x1a70) +#define AR9170_PHY_TX_PWRCTRL_ERR_EST_MODE 0x03000000 +#define AR9170_PHY_TX_PWRCTRL_ERR_EST_MODE_S 24 + +#define AR9170_PHY_REG_TX_PWRCTRL7 (AR9170_PHY_REG_BASE + 0x0a74) +#define AR9170_PHY_TX_PWRCTRL_INIT_TX_GAIN 0x01f80000 +#define AR9170_PHY_TX_PWRCTRL_INIT_TX_GAIN_S 19 + +#define AR9170_PHY_REG_TX_PWRCTRL9 (AR9170_PHY_REG_BASE + 0x0a7c) +#define AR9170_PHY_TX_DESIRED_SCALE_CCK 0x00007c00 +#define AR9170_PHY_TX_DESIRED_SCALE_CCK_S 10 +#define AR9170_PHY_TX_PWRCTRL9_RES_DC_REMOVAL 0x80000000 +#define AR9170_PHY_TX_PWRCTRL9_RES_DC_REMOVAL_S 31 + +#define AR9170_PHY_REG_TX_GAIN_TBL1 (AR9170_PHY_REG_BASE + 0x0b00) +#define AR9170_PHY_TX_GAIN 0x0007f000 +#define AR9170_PHY_TX_GAIN_S 12 + +/* Carrier leak calibration control, do it after AGC calibration */ +#define AR9170_PHY_REG_CL_CAL_CTL (AR9170_PHY_REG_BASE + 0x0b58) +#define AR9170_PHY_CL_CAL_ENABLE 0x00000002 +#define AR9170_PHY_CL_CAL_PARALLEL_CAL_ENABLE 0x00000001 + +#define AR9170_PHY_REG_POWER_TX_RATE5 (AR9170_PHY_REG_BASE + 0x0b8c) +#define AR9170_PHY_REG_POWER_TX_RATE6 (AR9170_PHY_REG_BASE + 0x0b90) + +#define AR9170_PHY_REG_CH0_TX_PWRCTRL11 (AR9170_PHY_REG_BASE + 0x0b98) +#define AR9170_PHY_REG_CH1_TX_PWRCTRL11 (AR9170_PHY_REG_BASE + 0x1b98) +#define AR9170_PHY_TX_CHX_PWRCTRL_OLPC_TEMP_COMP 0x0000fc00 +#define AR9170_PHY_TX_CHX_PWRCTRL_OLPC_TEMP_COMP_S 10 + +#define AR9170_PHY_REG_CAL_CHAINMASK (AR9170_PHY_REG_BASE + 0x0b9c) +#define AR9170_PHY_REG_VIT_MASK2_M_46_61 (AR9170_PHY_REG_BASE + 0x0ba0) +#define AR9170_PHY_REG_MASK2_M_31_45 (AR9170_PHY_REG_BASE + 0x0ba4) +#define AR9170_PHY_REG_MASK2_M_16_30 (AR9170_PHY_REG_BASE + 0x0ba8) +#define AR9170_PHY_REG_MASK2_M_00_15 (AR9170_PHY_REG_BASE + 0x0bac) +#define AR9170_PHY_REG_PILOT_MASK_01_30 (AR9170_PHY_REG_BASE + 0x0bb0) +#define AR9170_PHY_REG_PILOT_MASK_31_60 (AR9170_PHY_REG_BASE + 0x0bb4) +#define AR9170_PHY_REG_MASK2_P_15_01 (AR9170_PHY_REG_BASE + 0x0bb8) +#define AR9170_PHY_REG_MASK2_P_30_16 (AR9170_PHY_REG_BASE + 0x0bbc) +#define AR9170_PHY_REG_MASK2_P_45_31 (AR9170_PHY_REG_BASE + 0x0bc0) +#define AR9170_PHY_REG_MASK2_P_61_45 (AR9170_PHY_REG_BASE + 0x0bc4) +#define AR9170_PHY_REG_POWER_TX_SUB (AR9170_PHY_REG_BASE + 0x0bc8) +#define AR9170_PHY_REG_POWER_TX_RATE7 (AR9170_PHY_REG_BASE + 0x0bcc) +#define AR9170_PHY_REG_POWER_TX_RATE8 (AR9170_PHY_REG_BASE + 0x0bd0) +#define AR9170_PHY_REG_POWER_TX_RATE9 (AR9170_PHY_REG_BASE + 0x0bd4) +#define AR9170_PHY_REG_XPA_CFG (AR9170_PHY_REG_BASE + 0x0bd8) +#define AR9170_PHY_FORCE_XPA_CFG 0x000000001 +#define AR9170_PHY_FORCE_XPA_CFG_S 0 + +#define AR9170_PHY_REG_CH1_CCA (AR9170_PHY_REG_BASE + 0x1064) +#define AR9170_PHY_CH1_CCA_MIN_PWR 0x0ff80000 +#define AR9170_PHY_CH1_CCA_MIN_PWR_S 19 + +#define AR9170_PHY_REG_CH2_CCA (AR9170_PHY_REG_BASE + 0x2064) +#define AR9170_PHY_CH2_CCA_MIN_PWR 0x0ff80000 +#define AR9170_PHY_CH2_CCA_MIN_PWR_S 19 + +#define AR9170_PHY_REG_CH1_EXT_CCA (AR9170_PHY_REG_BASE + 0x11bc) +#define AR9170_PHY_CH1_EXT_CCA_MIN_PWR 0xff800000 +#define AR9170_PHY_CH1_EXT_CCA_MIN_PWR_S 23 + +#define AR9170_PHY_REG_CH2_EXT_CCA (AR9170_PHY_REG_BASE + 0x21bc) +#define AR9170_PHY_CH2_EXT_CCA_MIN_PWR 0xff800000 +#define AR9170_PHY_CH2_EXT_CCA_MIN_PWR_S 23 + +#endif /* __CARL9170_SHARED_PHY_H */ diff --git a/carl9170fw/include/shared/version.h b/carl9170fw/include/shared/version.h new file mode 100644 index 0000000..2ec3e91 --- /dev/null +++ b/carl9170fw/include/shared/version.h @@ -0,0 +1,7 @@ +#ifndef __CARL9170_SHARED_VERSION_H +#define __CARL9170_SHARED_VERSION_H +#define CARL9170FW_VERSION_YEAR 12 +#define CARL9170FW_VERSION_MONTH 7 +#define CARL9170FW_VERSION_DAY 7 +#define CARL9170FW_VERSION_GIT "1.9.6" +#endif /* __CARL9170_SHARED_VERSION_H */ diff --git a/carl9170fw/include/shared/wlan.h b/carl9170fw/include/shared/wlan.h new file mode 100644 index 0000000..ea17995 --- /dev/null +++ b/carl9170fw/include/shared/wlan.h @@ -0,0 +1,435 @@ +/* + * Shared Atheros AR9170 Header + * + * RX/TX meta descriptor format + * + * Copyright 2008, Johannes Berg + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, see + * http://www.gnu.org/licenses/. + * + * This file incorporates work covered by the following copyright and + * permission notice: + * Copyright (c) 2007-2008 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. + */ + +#ifndef __CARL9170_SHARED_WLAN_H +#define __CARL9170_SHARED_WLAN_H + +#include "fwcmd.h" + +#define AR9170_RX_PHY_RATE_CCK_1M 0x0a +#define AR9170_RX_PHY_RATE_CCK_2M 0x14 +#define AR9170_RX_PHY_RATE_CCK_5M 0x37 +#define AR9170_RX_PHY_RATE_CCK_11M 0x6e + +#define AR9170_ENC_ALG_NONE 0x0 +#define AR9170_ENC_ALG_WEP64 0x1 +#define AR9170_ENC_ALG_TKIP 0x2 +#define AR9170_ENC_ALG_AESCCMP 0x4 +#define AR9170_ENC_ALG_WEP128 0x5 +#define AR9170_ENC_ALG_WEP256 0x6 +#define AR9170_ENC_ALG_CENC 0x7 + +#define AR9170_RX_ENC_SOFTWARE 0x8 + +#define AR9170_RX_STATUS_MODULATION 0x03 +#define AR9170_RX_STATUS_MODULATION_S 0 +#define AR9170_RX_STATUS_MODULATION_CCK 0x00 +#define AR9170_RX_STATUS_MODULATION_OFDM 0x01 +#define AR9170_RX_STATUS_MODULATION_HT 0x02 +#define AR9170_RX_STATUS_MODULATION_DUPOFDM 0x03 + +/* depends on modulation */ +#define AR9170_RX_STATUS_SHORT_PREAMBLE 0x08 +#define AR9170_RX_STATUS_GREENFIELD 0x08 + +#define AR9170_RX_STATUS_MPDU 0x30 +#define AR9170_RX_STATUS_MPDU_S 4 +#define AR9170_RX_STATUS_MPDU_SINGLE 0x00 +#define AR9170_RX_STATUS_MPDU_FIRST 0x20 +#define AR9170_RX_STATUS_MPDU_MIDDLE 0x30 +#define AR9170_RX_STATUS_MPDU_LAST 0x10 + +#define AR9170_RX_STATUS_CONT_AGGR 0x40 +#define AR9170_RX_STATUS_TOTAL_ERROR 0x80 + +#define AR9170_RX_ERROR_RXTO 0x01 +#define AR9170_RX_ERROR_OVERRUN 0x02 +#define AR9170_RX_ERROR_DECRYPT 0x04 +#define AR9170_RX_ERROR_FCS 0x08 +#define AR9170_RX_ERROR_WRONG_RA 0x10 +#define AR9170_RX_ERROR_PLCP 0x20 +#define AR9170_RX_ERROR_MMIC 0x40 + +/* these are either-or */ +#define AR9170_TX_MAC_PROT_RTS 0x0001 +#define AR9170_TX_MAC_PROT_CTS 0x0002 +#define AR9170_TX_MAC_PROT 0x0003 + +#define AR9170_TX_MAC_NO_ACK 0x0004 +/* if unset, MAC will only do SIFS space before frame */ +#define AR9170_TX_MAC_BACKOFF 0x0008 +#define AR9170_TX_MAC_BURST 0x0010 +#define AR9170_TX_MAC_AGGR 0x0020 + +/* encryption is a two-bit field */ +#define AR9170_TX_MAC_ENCR_NONE 0x0000 +#define AR9170_TX_MAC_ENCR_RC4 0x0040 +#define AR9170_TX_MAC_ENCR_CENC 0x0080 +#define AR9170_TX_MAC_ENCR_AES 0x00c0 + +#define AR9170_TX_MAC_MMIC 0x0100 +#define AR9170_TX_MAC_HW_DURATION 0x0200 +#define AR9170_TX_MAC_QOS_S 10 +#define AR9170_TX_MAC_QOS 0x0c00 +#define AR9170_TX_MAC_DISABLE_TXOP 0x1000 +#define AR9170_TX_MAC_TXOP_RIFS 0x2000 +#define AR9170_TX_MAC_IMM_BA 0x4000 + +/* either-or */ +#define AR9170_TX_PHY_MOD_CCK 0x00000000 +#define AR9170_TX_PHY_MOD_OFDM 0x00000001 +#define AR9170_TX_PHY_MOD_HT 0x00000002 + +/* depends on modulation */ +#define AR9170_TX_PHY_SHORT_PREAMBLE 0x00000004 +#define AR9170_TX_PHY_GREENFIELD 0x00000004 + +#define AR9170_TX_PHY_BW_S 3 +#define AR9170_TX_PHY_BW (3 << AR9170_TX_PHY_BW_SHIFT) +#define AR9170_TX_PHY_BW_20MHZ 0 +#define AR9170_TX_PHY_BW_40MHZ 2 +#define AR9170_TX_PHY_BW_40MHZ_DUP 3 + +#define AR9170_TX_PHY_TX_HEAVY_CLIP_S 6 +#define AR9170_TX_PHY_TX_HEAVY_CLIP (7 << \ + AR9170_TX_PHY_TX_HEAVY_CLIP_S) + +#define AR9170_TX_PHY_TX_PWR_S 9 +#define AR9170_TX_PHY_TX_PWR (0x3f << \ + AR9170_TX_PHY_TX_PWR_S) + +#define AR9170_TX_PHY_TXCHAIN_S 15 +#define AR9170_TX_PHY_TXCHAIN (7 << \ + AR9170_TX_PHY_TXCHAIN_S) +#define AR9170_TX_PHY_TXCHAIN_1 1 +/* use for cck, ofdm 6/9/12/18/24 and HT if capable */ +#define AR9170_TX_PHY_TXCHAIN_2 5 + +#define AR9170_TX_PHY_MCS_S 18 +#define AR9170_TX_PHY_MCS (0x7f << \ + AR9170_TX_PHY_MCS_S) + +#define AR9170_TX_PHY_RATE_CCK_1M 0x0 +#define AR9170_TX_PHY_RATE_CCK_2M 0x1 +#define AR9170_TX_PHY_RATE_CCK_5M 0x2 +#define AR9170_TX_PHY_RATE_CCK_11M 0x3 + +/* same as AR9170_RX_PHY_RATE */ +#define AR9170_TXRX_PHY_RATE_OFDM_6M 0xb +#define AR9170_TXRX_PHY_RATE_OFDM_9M 0xf +#define AR9170_TXRX_PHY_RATE_OFDM_12M 0xa +#define AR9170_TXRX_PHY_RATE_OFDM_18M 0xe +#define AR9170_TXRX_PHY_RATE_OFDM_24M 0x9 +#define AR9170_TXRX_PHY_RATE_OFDM_36M 0xd +#define AR9170_TXRX_PHY_RATE_OFDM_48M 0x8 +#define AR9170_TXRX_PHY_RATE_OFDM_54M 0xc + +#define AR9170_TXRX_PHY_RATE_HT_MCS0 0x0 +#define AR9170_TXRX_PHY_RATE_HT_MCS1 0x1 +#define AR9170_TXRX_PHY_RATE_HT_MCS2 0x2 +#define AR9170_TXRX_PHY_RATE_HT_MCS3 0x3 +#define AR9170_TXRX_PHY_RATE_HT_MCS4 0x4 +#define AR9170_TXRX_PHY_RATE_HT_MCS5 0x5 +#define AR9170_TXRX_PHY_RATE_HT_MCS6 0x6 +#define AR9170_TXRX_PHY_RATE_HT_MCS7 0x7 +#define AR9170_TXRX_PHY_RATE_HT_MCS8 0x8 +#define AR9170_TXRX_PHY_RATE_HT_MCS9 0x9 +#define AR9170_TXRX_PHY_RATE_HT_MCS10 0xa +#define AR9170_TXRX_PHY_RATE_HT_MCS11 0xb +#define AR9170_TXRX_PHY_RATE_HT_MCS12 0xc +#define AR9170_TXRX_PHY_RATE_HT_MCS13 0xd +#define AR9170_TXRX_PHY_RATE_HT_MCS14 0xe +#define AR9170_TXRX_PHY_RATE_HT_MCS15 0xf + +#define AR9170_TX_PHY_SHORT_GI 0x80000000 + +#ifdef __CARL9170FW__ +struct ar9170_tx_hw_mac_control { + union { + struct { + /* + * Beware of compiler bugs in all gcc pre 4.4! + */ + + u8 erp_prot:2; + u8 no_ack:1; + u8 backoff:1; + u8 burst:1; + u8 ampdu:1; + + u8 enc_mode:2; + + u8 hw_mmic:1; + u8 hw_duration:1; + + u8 qos_queue:2; + + u8 disable_txop:1; + u8 txop_rifs:1; + + u8 ba_end:1; + u8 probe:1; + } __packed; + + __le16 set; + } __packed; +} __packed; + +struct ar9170_tx_hw_phy_control { + union { + struct { + /* + * Beware of compiler bugs in all gcc pre 4.4! + */ + + u8 modulation:2; + u8 preamble:1; + u8 bandwidth:2; + u8:1; + u8 heavy_clip:3; + u8 tx_power:6; + u8 chains:3; + u8 mcs:7; + u8:6; + u8 short_gi:1; + } __packed; + + __le32 set; + } __packed; +} __packed; + +struct ar9170_tx_rate_info { + u8 tries:3; + u8 erp_prot:2; + u8 ampdu:1; + u8 free:2; /* free for use (e.g.:RIFS/TXOP/AMPDU) */ +} __packed; + +struct carl9170_tx_superdesc { + __le16 len; + u8 rix; + u8 cnt; + u8 cookie; + u8 ampdu_density:3; + u8 ampdu_factor:2; + u8 ampdu_commit_density:1; + u8 ampdu_commit_factor:1; + u8 ampdu_unused_bit:1; + u8 queue:2; + u8 assign_seq:1; + u8 vif_id:3; + u8 fill_in_tsf:1; + u8 cab:1; + u8 padding2; + struct ar9170_tx_rate_info ri[CARL9170_TX_MAX_RATES]; + struct ar9170_tx_hw_phy_control rr[CARL9170_TX_MAX_RETRY_RATES]; +} __packed; + +struct ar9170_tx_hwdesc { + __le16 length; + struct ar9170_tx_hw_mac_control mac; + struct ar9170_tx_hw_phy_control phy; +} __packed; + +struct ar9170_tx_frame { + struct ar9170_tx_hwdesc hdr; + + union { + struct ieee80211_hdr i3e; + u8 payload[0]; + } data; +} __packed; + +struct carl9170_tx_superframe { + struct carl9170_tx_superdesc s; + struct ar9170_tx_frame f; +} __packed __aligned(4); + +#endif /* __CARL9170FW__ */ + +struct _ar9170_tx_hwdesc { + __le16 length; + __le16 mac_control; + __le32 phy_control; +} __packed; + +#define CARL9170_TX_SUPER_AMPDU_DENSITY_S 0 +#define CARL9170_TX_SUPER_AMPDU_DENSITY 0x7 +#define CARL9170_TX_SUPER_AMPDU_FACTOR 0x18 +#define CARL9170_TX_SUPER_AMPDU_FACTOR_S 3 +#define CARL9170_TX_SUPER_AMPDU_COMMIT_DENSITY 0x20 +#define CARL9170_TX_SUPER_AMPDU_COMMIT_DENSITY_S 5 +#define CARL9170_TX_SUPER_AMPDU_COMMIT_FACTOR 0x40 +#define CARL9170_TX_SUPER_AMPDU_COMMIT_FACTOR_S 6 + +#define CARL9170_TX_SUPER_MISC_QUEUE 0x3 +#define CARL9170_TX_SUPER_MISC_QUEUE_S 0 +#define CARL9170_TX_SUPER_MISC_ASSIGN_SEQ 0x4 +#define CARL9170_TX_SUPER_MISC_VIF_ID 0x38 +#define CARL9170_TX_SUPER_MISC_VIF_ID_S 3 +#define CARL9170_TX_SUPER_MISC_FILL_IN_TSF 0x40 +#define CARL9170_TX_SUPER_MISC_CAB 0x80 + +#define CARL9170_TX_SUPER_RI_TRIES 0x7 +#define CARL9170_TX_SUPER_RI_TRIES_S 0 +#define CARL9170_TX_SUPER_RI_ERP_PROT 0x18 +#define CARL9170_TX_SUPER_RI_ERP_PROT_S 3 +#define CARL9170_TX_SUPER_RI_AMPDU 0x20 +#define CARL9170_TX_SUPER_RI_AMPDU_S 5 + +struct _carl9170_tx_superdesc { + __le16 len; + u8 rix; + u8 cnt; + u8 cookie; + u8 ampdu_settings; + u8 misc; + u8 padding; + u8 ri[CARL9170_TX_MAX_RATES]; + __le32 rr[CARL9170_TX_MAX_RETRY_RATES]; +} __packed; + +struct _carl9170_tx_superframe { + struct _carl9170_tx_superdesc s; + struct _ar9170_tx_hwdesc f; + u8 frame_data[0]; +} __packed __aligned(4); + +#define CARL9170_TX_SUPERDESC_LEN 24 +#define AR9170_TX_HWDESC_LEN 8 +#define CARL9170_TX_SUPERFRAME_LEN (CARL9170_TX_SUPERDESC_LEN + \ + AR9170_TX_HWDESC_LEN) + +struct ar9170_rx_head { + u8 plcp[12]; +} __packed; + +#define AR9170_RX_HEAD_LEN 12 + +struct ar9170_rx_phystatus { + union { + struct { + u8 rssi_ant0, rssi_ant1, rssi_ant2, + rssi_ant0x, rssi_ant1x, rssi_ant2x, + rssi_combined; + } __packed; + u8 rssi[7]; + } __packed; + + u8 evm_stream0[6], evm_stream1[6]; + u8 phy_err; +} __packed; + +#define AR9170_RX_PHYSTATUS_LEN 20 + +struct ar9170_rx_macstatus { + u8 SAidx, DAidx; + u8 error; + u8 status; +} __packed; + +#define AR9170_RX_MACSTATUS_LEN 4 + +struct ar9170_rx_frame_single { + struct ar9170_rx_head phy_head; + struct ieee80211_hdr i3e; + struct ar9170_rx_phystatus phy_tail; + struct ar9170_rx_macstatus macstatus; +} __packed; + +struct ar9170_rx_frame_head { + struct ar9170_rx_head phy_head; + struct ieee80211_hdr i3e; + struct ar9170_rx_macstatus macstatus; +} __packed; + +struct ar9170_rx_frame_middle { + struct ieee80211_hdr i3e; + struct ar9170_rx_macstatus macstatus; +} __packed; + +struct ar9170_rx_frame_tail { + struct ieee80211_hdr i3e; + struct ar9170_rx_phystatus phy_tail; + struct ar9170_rx_macstatus macstatus; +} __packed; + +struct ar9170_rx_frame { + union { + struct ar9170_rx_frame_single single; + struct ar9170_rx_frame_head head; + struct ar9170_rx_frame_middle middle; + struct ar9170_rx_frame_tail tail; + } __packed; +} __packed; + +static inline u8 ar9170_get_decrypt_type(struct ar9170_rx_macstatus *t) +{ + return (t->SAidx & 0xc0) >> 4 | + (t->DAidx & 0xc0) >> 6; +} + +/* + * This is an workaround for several undocumented bugs. + * Don't mess with the QoS/AC <-> HW Queue map, if you don't + * know what you are doing. + * + * Known problems [hardware]: + * * The MAC does not aggregate frames on anything other + * than the first HW queue. + * * when an AMPDU is placed [in the first hw queue] and + * additional frames are already queued on a different + * hw queue, the MAC will ALWAYS freeze. + * + * In a nutshell: The hardware can either do QoS or + * Aggregation but not both at the same time. As a + * result, this makes the device pretty much useless + * for any serious 802.11n setup. + */ +enum ar9170_txq { + AR9170_TXQ_BK = 0, /* TXQ0 */ + AR9170_TXQ_BE, /* TXQ1 */ + AR9170_TXQ_VI, /* TXQ2 */ + AR9170_TXQ_VO, /* TXQ3 */ + + __AR9170_NUM_TXQ, +}; + +#define AR9170_TXQ_DEPTH 32 + +#endif /* __CARL9170_SHARED_WLAN_H */ diff --git a/carl9170fw/minifw/CMakeLists.txt b/carl9170fw/minifw/CMakeLists.txt new file mode 100644 index 0000000..adf5e08 --- /dev/null +++ b/carl9170fw/minifw/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 2.8) + +project(miniboot.fw) + +include("../extra/sh-elf-linux.cmake") +include("../config.cmake") + +set(miniboot_src miniboot.S) +set_source_files_properties(miniboot.S PROPERTIES LANGUAGE C) + +add_executable(miniboot.elf miniboot.S) + +set_target_properties(miniboot.elf PROPERTIES LINKER_LANGUAGE C) + +set_target_properties(miniboot.elf PROPERTIES LINK_FLAGS "-Tminiboot.lds") + +add_custom_target( + miniboot.fw ALL + ${OBJCOPY} --strip-unneeded -O binary -R .sram -R .eeprom -R .fwdsc miniboot.elf miniboot.fw + DEPENDS miniboot.elf) diff --git a/carl9170fw/minifw/Kconfig b/carl9170fw/minifw/Kconfig new file mode 100644 index 0000000..f429bd2 --- /dev/null +++ b/carl9170fw/minifw/Kconfig @@ -0,0 +1,3 @@ +config CARL9170FW_BUILD_MINIBOOT + def_bool y + prompt "Build MiniBoot Firmware Header" diff --git a/carl9170fw/minifw/miniboot.S b/carl9170fw/minifw/miniboot.S new file mode 100644 index 0000000..e5d598e --- /dev/null +++ b/carl9170fw/minifw/miniboot.S @@ -0,0 +1,7 @@ + .globl _start + .type _start, @function + .section ".boot", "ax" + _start: + mov.l startcode, r0 + jmp @r0 +startcode: .long 0x00000008 diff --git a/carl9170fw/minifw/miniboot.lds b/carl9170fw/minifw/miniboot.lds new file mode 100644 index 0000000..51e5ac4 --- /dev/null +++ b/carl9170fw/minifw/miniboot.lds @@ -0,0 +1,20 @@ +ENTRY(_start); + +MEMORY +{ + pram : ORIGIN = 0x200000, LENGTH = 16k +} + +SECTIONS +{ + .padding : { + /* NOP NOP just in case */ + LONG(0x00090009) + } > pram + + .boot : { *(.boot) } > pram + .text : { *(.text*) } > pram + .rodata : { *(.rodata*) } > pram + .bss : { *(.bss) } > pram + .data : { *(.data*) } > pram +} diff --git a/carl9170fw/toolchain/Makefile b/carl9170fw/toolchain/Makefile new file mode 100644 index 0000000..aaea8e8 --- /dev/null +++ b/carl9170fw/toolchain/Makefile @@ -0,0 +1,66 @@ +BINUTILS_VER=2.22 +BINUTILS_URL=http://mirrors.kernel.org/gnu/binutils/binutils-$(BINUTILS_VER).tar.bz2 +BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2 + +NEWLIB_VER=1.20.0 +NEWLIB_URL=ftp://sources.redhat.com/pub/newlib/newlib-$(NEWLIB_VER).tar.gz +NEWLIB_TAR=newlib-$(NEWLIB_VER).tar.gz + +GCC_VER=4.7.1 +GCC_URL=http://mirrors.kernel.org/gnu/gcc/gcc-$(GCC_VER)/gcc-$(GCC_VER).tar.bz2 +GCC_TAR=gcc-$(GCC_VER).tar.bz2 + +BASEDIR=$(shell pwd) + +define checksum +@if grep -q ' $(subst .,\.,$(1))$$' SHA256SUMS; then \ + grep ' $(subst .,\.,$(1))$$' SHA256SUMS | sha256sum -c; \ +else \ + echo "WARNING: no checksum defined for $(1)"; \ +fi +endef + +all: gcc + +src/$(BINUTILS_TAR): + wget -P src $(BINUTILS_URL) + $(call checksum,$@) + +src/$(NEWLIB_TAR): + wget -P src $(NEWLIB_URL) + $(call checksum,$@) + +src/$(GCC_TAR): + wget -P src $(GCC_URL) + $(call checksum,$@) + +src/binutils-$(BINUTILS_VER): src/$(BINUTILS_TAR) + tar -C src -xjf $< + +src/newlib-$(NEWLIB_VER): src/$(NEWLIB_TAR) + tar -C src -xzf $< + +src/gcc-$(GCC_VER): src/$(GCC_TAR) src/newlib-$(NEWLIB_VER) + tar -C src -xjf $< + ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/newlib $@ + ln -s $(BASEDIR)/src/newlib-$(NEWLIB_VER)/libgloss $@ + +binutils: src/binutils-$(BINUTILS_VER) + install -d build/binutils + cd build/binutils; \ + $(BASEDIR)/$ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170USER_H +#define __CARL9170USER_H + +#include "SDL.h" +#include "SDL_thread.h" + +#include "carlfw.h" + +#include "debug.h" +#include "hw.h" +#include "fwcmd.h" +#include "frame.h" +#include "eeprom.h" +#include "ieee80211.h" +#include "wlan.h" +#include "usb.h" + +struct carlu { + libusb_device_handle *dev; + libusb_context *ctx; + + SDL_Thread *event_thread; + bool stop_event_polling; + + struct libusb_transfer *rx_ring[AR9170_RX_BULK_BUFS]; + + struct libusb_transfer *rx_interrupt; + unsigned char irq_buf[AR9170_RX_BULK_IRQ_SIZE]; + + union { + unsigned char buf[CARL9170_MAX_CMD_LEN]; + uint32_t buf4[CARL9170_MAX_CMD_LEN / sizeof(uint32_t)]; + struct carl9170_cmd cmd; + struct carl9170_rsp rsp; + } cmd; + + struct list_head tx_queue; + SDL_mutex *tx_queue_lock; + unsigned int tx_queue_len; + + struct list_head dev_list; + unsigned int idx; + + unsigned int miniboot_size; + unsigned int rx_max; + + int event_pipe[2]; + + SDL_cond *resp_pend; + SDL_mutex *resp_lock; + uint8_t *resp_buf; + size_t resp_len; + + int tx_pending; + uint8_t cookie; + + void (*tx_cb)(struct carlu *, struct frame *); + void (*tx_fb_cb)(struct carlu *, struct frame *); + void (*rx_cb)(struct carlu *, void *, unsigned int); + int (*cmd_cb)(struct carlu *, struct carl9170_rsp *, + void *, unsigned int); + + struct carlfw *fw; + + struct ar9170_eeprom eeprom; + + struct frame_queue tx_sent_queue[__AR9170_NUM_TXQ]; + + SDL_mutex *mem_lock; + unsigned int dma_chunks; + unsigned int dma_chunk_size; + unsigned int used_dma_chunks; + + unsigned int extra_headroom; + bool tx_stream; + bool rx_stream; + + /* statistics */ + unsigned int rxed; + unsigned int txed; + + unsigned long tx_octets; + unsigned long rx_octets; +}; + +struct carlu_rate { + int8_t rix; + int8_t cnt; + uint8_t flags; +}; + +struct carlu_tx_info_tx { + unsigned int key; +}; + +struct carlu_tx_info { + uint32_t flags; + + struct carlu_rate rates[CARL9170_TX_MAX_RATES]; + + union { + struct carlu_tx_info_tx tx; + }; +}; + +static inline struct carlu_tx_info *get_tx_info(struct frame *frame) +{ + return (void *) frame->cb; +} + +void *carlu_alloc_driver(size_t size); +void carlu_free_driver(struct carlu *ar); + +int carlu_fw_check(struct carlu *ar); +void carlu_fw_info(struct carlu *ar); + +void carlu_rx(struct carlu *ar, struct frame *frame); +int carlu_tx(struct carlu *ar, struct frame *frame); +void carlu_tx_feedback(struct carlu *ar, + struct carl9170_rsp *cmd); +void carlu_handle_command(struct carlu *ar, void *buf, unsigned int len); + +struct frame *carlu_alloc_frame(struct carlu *ar, unsigned int size); +void carlu_free_frame(struct carlu *ar, struct frame *frame); +#endif /* __CARL9170USER_H */ diff --git a/carl9170fw/tools/carlu/src/cmd.c b/carl9170fw/tools/carlu/src/cmd.c new file mode 100644 index 0000000..bb87399 --- /dev/null +++ b/carl9170fw/tools/carlu/src/cmd.c @@ -0,0 +1,189 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * Abstraction Layer for FW/HW command interface + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "libusb.h" +#include +#include +#include + +#include "carlu.h" +#include "usb.h" +#include "debug.h" +#include "fwcmd.h" +#include "eeprom.h" +#include "cmd.h" + +int carlu_cmd_echo(struct carlu *ar, const uint32_t message) +{ + uint32_t _message; + int ret; + + ret = carlusb_cmd(ar, CARL9170_CMD_ECHO, + (uint8_t *)&message, sizeof(message), + (uint8_t *)&_message, sizeof(_message)); + + if (ret == 0) + ret = (message == _message) ? 0 : -EIO; + + return ret; +} + +struct carl9170_cmd *carlu_cmd_buf(struct carlu *ar, + const enum carl9170_cmd_oids cmd, const unsigned int len) +{ + struct carl9170_cmd *tmp; + + if (len % 4 || (sizeof(struct carl9170_cmd_head) + len > 64)) + return ERR_PTR(-EINVAL); + + tmp = malloc(sizeof(struct carl9170_cmd_head) + len); + if (tmp) { + tmp->hdr.cmd = cmd; + tmp->hdr.len = len; + } + return tmp; +} + +int carlu_cmd_reboot(struct carlu *ar) +{ + struct carl9170_cmd *reboot; + int err; + + /* sure, we could put the struct on the stack too. */ + reboot = carlu_cmd_buf(ar, CARL9170_CMD_REBOOT_ASYNC, 0); + if (IS_ERR_OR_NULL(reboot)) + return reboot ? PTR_ERR(reboot) : -ENOMEM; + + err = carlusb_cmd_async(ar, reboot, true); + return err; +} + +int carlu_cmd_mem_dump(struct carlu *ar, const uint32_t start, + const unsigned int len, void *_buf) +{ +#define RW 8 /* number of words to read at once */ +#define RB (sizeof(uint32_t) * RW) + uint8_t *buf = _buf; + unsigned int i, j, block; + int err; + __le32 offsets[RW]; + + for (i = 0; i < (len + RB - 1) / RB; i++) { + block = min_t(unsigned int, (len - RB * i) / sizeof(uint32_t), RW); + for (j = 0; j < block; j++) + offsets[j] = cpu_to_le32(start + RB * i + 4 * j); + + err = carlusb_cmd(ar, CARL9170_CMD_RREG, + (void *) &offsets, block * sizeof(uint32_t), + (void *) buf + RB * i, RB); + + if (err) + return err; + } + +#undef RW +#undef RB + + return 0; +} + +int carlu_cmd_mem_watch(struct carlu *ar, const uint32_t mem, + const unsigned int len, void *_buf) +{ +#define RW 8 /* number of words to read at once */ +#define RB (sizeof(uint32_t) * RW) + uint8_t *buf = _buf; + unsigned int i, j, block; + int err; + __le32 offsets[RW]; + + for (i = 0; i < (len + RB - 1) / RB; i++) { + block = min_t(unsigned int, (len - RB * i) / sizeof(uint32_t), RW); + for (j = 0; j < block; j++) + offsets[j] = cpu_to_le32(mem); + + err = carlusb_cmd(ar, CARL9170_CMD_RREG, + (void *) &offsets, block * sizeof(uint32_t), + (void *) buf + RB * i, RB); + + if (err) + return err; + } + +#undef RW +#undef RB + + return 0; +} + +int carlu_cmd_write_mem(struct carlu *ar, const uint32_t addr, + const uint32_t val) +{ + int err; + __le32 msg, block[2] = { cpu_to_le32(addr), cpu_to_le32(val) }; + + err = carlusb_cmd(ar, CARL9170_CMD_WREG, + (void *) &block, sizeof(block), + (void *) &msg, sizeof(msg)); + return err; +} + +int carlu_cmd_read_mem(struct carlu *ar, const uint32_t _addr, + uint32_t *val) +{ + int err; + __le32 msg, addr = { cpu_to_le32(_addr) }; + err = carlusb_cmd(ar, CARL9170_CMD_RREG, (void *) &addr, sizeof(addr), + (void *) &msg, sizeof(msg)); + + *val = le32_to_cpu(msg); + return err; +} + +int carlu_cmd_read_eeprom(struct carlu *ar) +{ + + int err; + + err = carlu_cmd_mem_dump(ar, AR9170_EEPROM_START, sizeof(ar->eeprom), + &ar->eeprom); + +#ifndef __CHECKER__ + /* don't want to handle trailing remains */ + BUILD_BUG_ON(sizeof(ar->eeprom) % 8); +#endif + + if (ar->eeprom.length == cpu_to_le16(0xffff)) + return -ENODATA; + + return 0; +} diff --git a/carl9170fw/tools/carlu/src/cmd.h b/carl9170fw/tools/carlu/src/cmd.h new file mode 100644 index 0000000..ccc9a43 --- /dev/null +++ b/carl9170fw/tools/carlu/src/cmd.h @@ -0,0 +1,135 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * register/memory/command access functions + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170USER_CMD_H +#define __CARL9170USER_CMD_H + +#include "carlu.h" + +int carlu_cmd_echo(struct carlu *ar, const uint32_t message); +int carlu_cmd_reboot(struct carlu *ar); +int carlu_cmd_read_eeprom(struct carlu *ar); +int carlu_cmd_mem_dump(struct carlu *ar, const uint32_t start, + const unsigned int len, void *_buf); +int carlu_cmd_write_mem(struct carlu *ar, const uint32_t addr, + const uint32_t val); +int carlu_cmd_mem_watch(struct carlu *ar, const uint32_t mem, + const unsigned int len, void *_buf); + +struct carl9170_cmd *carlu_cmd_buf(struct carlu *ar, + const enum carl9170_cmd_oids cmd, const unsigned int len); + +#define PAYLOAD_MAX (CARL9170_MAX_CMD_LEN / 4 - 1) +/* + * Macros to facilitate writing multiple registers in a single + * write-combining USB command. Note that when the first group + * fails the whole thing will fail without any others attempted, + * but you won't know which write in the group failed. + */ +#define carlu_regwrite_begin(ar) \ +do { \ + struct carlu *__ar = ar; \ + unsigned int __nreg = 0; \ + int __err = 0; \ + uint32_t __dummy; + +#define carlu_regwrite_flush() \ + if (__nreg) { \ + __err = carlusb_cmd(__ar, CARL9170_CMD_WREG, \ + (u8 *)&__ar->cmd.cmd.data, 8 * __nreg, \ + (u8 *)&__dummy, sizeof(__dummy)); \ + __nreg = 0; \ + if (__err) \ + goto __regwrite_out; \ + } + +#define carlu_regwrite(r, v) do { \ + __ar->cmd.buf4[2 * __nreg + 1] = cpu_to_le32(r); \ + __ar->cmd.buf4[2 * __nreg + 2] = cpu_to_le32(v); \ + __nreg++; \ + if ((__nreg >= PAYLOAD_MAX / 2)) { \ + __err = carlusb_cmd(__ar, CARL9170_CMD_WREG, \ + (u8 *)&__ar->cmd.cmd.data, 8 * __nreg, \ + (u8 *)&__dummy, sizeof(__dummy)); \ + \ + __nreg = 0; \ + if (__err) \ + goto __regwrite_out; \ + } \ +} while (0) + +#define carlu_regwrite_finish() \ +__regwrite_out : \ + if (__err == 0 && __nreg) \ + carlu_regwrite_flush(); + +#define carlu_regwrite_result() \ + __err; \ +} while (0); + + +#define carlu_async_get_buf() \ +do { \ + __cmd = carlu_cmd_buf(__carl, CARL9170_CMD_WREG_ASYNC, \ + CARL9170_MAX_CMD_PAYLOAD_LEN); \ + if (IS_ERR_OR_NULL(__cmd)) { \ + __err = __cmd ? PTR_ERR(__cmd) : -ENOMEM; \ + goto __async_regwrite_out; \ + } \ +} while (0); + +#define carlu_async_regwrite_begin(carl) \ +do { \ + int __nreg = 0, __err = 0; \ + struct carlu *__carl = carl; \ + struct carl9170_cmd *__cmd; \ + carlu_async_get_buf(); \ + +#define carlu_async_regwrite_flush() \ + if (__nreg) { \ + __cmd->hdr.len = 8 * __nreg; \ + __err = carlusb_cmd_async(__carl, __cmd, true); \ + __nreg = 0; \ + if (__err) \ + goto __async_regwrite_out; \ + __cmd = NULL; \ + carlu_async_get_buf(); \ + } + +#define carlu_async_regwrite(r, v) do { \ + __cmd->wreg.regs[__nreg].addr = cpu_to_le32(r); \ + __cmd->wreg.regs[__nreg].val = cpu_to_le32(v); \ + __nreg++; \ + if ((__nreg >= PAYLOAD_MAX / 2)) \ + carlu_async_regwrite_flush(); \ +} while (0) + +#define carlu_async_regwrite_finish() \ +__async_regwrite_out : \ + if (__err == 0 && __nreg) \ + carlu_async_regwrite_flush(); + +#define carlu_async_regwrite_result() \ + __err; \ +} while (0); + +#endif /* __CARL9170USER_CMD_H */ diff --git a/carl9170fw/tools/carlu/src/debug.c b/carl9170fw/tools/carlu/src/debug.c new file mode 100644 index 0000000..f8d6372 --- /dev/null +++ b/carl9170fw/tools/carlu/src/debug.c @@ -0,0 +1,101 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * Random assortment of debug stuff + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#include "debug.h" + +bool print_message_debug_level; +enum debug_level_t debug_level; +FILE *_stdout; +FILE *_stddbg; +FILE *_stderr; + +void init_debug() +{ + debug_level = VERBOSE; + debug_level = INFO; + print_message_debug_level = false; + + _stdout = stdout; + _stddbg = stdout; + _stderr = stderr; +} + +FILE *dbg_lvl_to_fh(const enum debug_level_t lvl) +{ + switch (lvl) { + case ERROR: + case WARNING: + return _stderr; + case INFO: + return _stdout; + case VERBOSE: + return _stddbg; + default: + BUG_ON(1); + } +} + +void print_hex_dump_bytes(const enum debug_level_t lvl, const char *pre, + const void *buf, size_t len) +{ + char line[58]; + char str[17] = { 0 }; + const unsigned char *tmp = (void *) buf; + char *pbuf = line; + size_t i, j; + + for (i = 0; i < len; i++) { + if (i % 16 == 0) { + if (pbuf != line) { + __fprintf(lvl, "%s%s: %s\n", pre, line, str); + pbuf = line; + } + + pbuf += sprintf(pbuf, "0x%04lx: ", (unsigned long)i); + } + + pbuf += sprintf(pbuf, "%.2x ", tmp[i]); + str[i % 16] = (isprint(tmp[i]) && isascii(tmp[i])) ? tmp[i] : '.'; + } + if (pbuf != line) { + if ((i % 16)) { + str[i % 16] = '\0'; + + for (j = 0; j < (16 - (i % 16)); j++) + pbuf += sprintf(pbuf, " "); + } + + __fprintf(lvl, "%s%s: %s\n", pre, line, str); + } +} diff --git a/carl9170fw/tools/carlu/src/debug.h b/carl9170fw/tools/carlu/src/debug.h new file mode 100644 index 0000000..5c78056 --- /dev/null +++ b/carl9170fw/tools/carlu/src/debug.h @@ -0,0 +1,72 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * Debug API definition + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170USER_DEBUG_H +#define __CARL9170USER_DEBUG_H + +#include +#include "compiler.h" + +enum debug_level_t { + SILENT, + ERROR, + WARNING, + INFO, + VERBOSE, + + /* KEEP LAST */ + ALL, +}; + +extern bool print_message_debug_level; +extern enum debug_level_t debug_level; + +#define __fprintf(lvl, fmt, args...) do { \ + if (lvl <= debug_level) { \ + if (print_message_debug_level) \ + fprintf(dbg_lvl_to_fh(lvl), "<%d>:" fmt, lvl, ##args); \ + else \ + fprintf(dbg_lvl_to_fh(lvl), fmt, ##args); \ + } \ + } while (0); + +#define dbg(fmt, args...) __fprintf(VERBOSE, fmt, ##args) +#define info(fmt, args...) __fprintf(INFO, fmt, ##args) +#define warn(fmt, args...) __fprintf(WARNING, fmt, ##args) +#define err(fmt, args...) __fprintf(ERROR, fmt, ##args) + +#define BUG_ON(a) \ + do { \ + if (a) { \ + __fprintf(ERROR, "!!!=>BUG IN function \"%s\" at line %d<=!!! %s\n", \ + __func__, __LINE__, #a); \ + fflush(stderr); \ + abort(); \ + } \ + } while (0) + +FILE *dbg_lvl_to_fh(const enum debug_level_t lvl); +void init_debug(void); +void print_hex_dump_bytes(const enum debug_level_t lvl, const char *prefix, + const void *buf, size_t len); + +#endif /* __CARL9170USER_DEBUG_H */ diff --git a/carl9170fw/tools/carlu/src/fw.c b/carl9170fw/tools/carlu/src/fw.c new file mode 100644 index 0000000..fa4b388 --- /dev/null +++ b/carl9170fw/tools/carlu/src/fw.c @@ -0,0 +1,131 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * Firmware parsers + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "libusb.h" +#include +#include +#include + +#include "carlu.h" +#include "usb.h" +#include "debug.h" + +int carlu_fw_check(struct carlu *ar) +{ + struct carl9170fw_otus_desc *otus_desc; + + otus_desc = carlfw_find_desc(ar->fw, (uint8_t *) OTUS_MAGIC, + sizeof(*otus_desc), + CARL9170FW_OTUS_DESC_CUR_VER); + + if (!otus_desc) { + err("No valid OTUS descriptor found.\n"); + return -EINVAL; + } + + if (!carl9170fw_supports(otus_desc->feature_set, CARL9170FW_DUMMY_FEATURE)) { + err("Invalid Firmware Descriptor.\n"); + return -EIO; + } + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_UNUSABLE)) + dbg("Firmware is marked as unuseable.\n"); + + info("Firmware Version: %d.\n", otus_desc->api_ver); + + return 0; +} + +int carlusb_fw_check(struct carlu *ar) +{ + struct carl9170fw_otus_desc *otus_desc; + + otus_desc = carlfw_find_desc(ar->fw, (uint8_t *) OTUS_MAGIC, + sizeof(*otus_desc), + CARL9170FW_OTUS_DESC_CUR_VER); + + if (!otus_desc) { + err("No valid USB descriptor found.\n"); + return -ENODATA; + } + + if (!carl9170fw_supports(otus_desc->feature_set, CARL9170FW_DUMMY_FEATURE)) { + err("Invalid Firmware Descriptor.\n"); + return -EINVAL; + } + + if (!carl9170fw_supports(otus_desc->feature_set, CARL9170FW_USB_INIT_FIRMWARE)) { + err("Firmware does not know how to initialize USB core.\n"); + return -EOPNOTSUPP; + } + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_USB_DOWN_STREAM)) { + dbg("Enabled tx stream mode.\n"); + ar->tx_stream = true; + ar->extra_headroom = sizeof(struct ar9170_stream); + } + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_USB_UP_STREAM)) { + dbg("Enabled rx stream mode.\n"); + ar->rx_stream = true; + } + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_USB_RESP_EP2)) + dbg("Firmware sends traps over EP2.\n"); + + ar->dma_chunk_size = le16_to_cpu(otus_desc->tx_frag_len); + ar->dma_chunks = otus_desc->tx_descs; + ar->rx_max = le16_to_cpu(otus_desc->rx_max_frame_len); + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_MINIBOOT)) + ar->miniboot_size = le16_to_cpu(otus_desc->miniboot_size); + + return 0; +} + +void carlu_fw_info(struct carlu *ar) +{ + struct carl9170fw_motd_desc *motd_desc; + unsigned int fw_date; + + motd_desc = carlfw_find_desc(ar->fw, (uint8_t *) MOTD_MAGIC, + sizeof(*motd_desc), + CARL9170FW_MOTD_DESC_CUR_VER); + + if (motd_desc) { + fw_date = le32_to_cpu(motd_desc->fw_year_month_day); + + info("Firmware Date: 2%.3d-%.2d-%.2d\n", + CARL9170FW_GET_YEAR(fw_date), CARL9170FW_GET_MONTH(fw_date), + CARL9170FW_GET_DAY(fw_date)); + } +} diff --git a/carl9170fw/tools/carlu/src/main.c b/carl9170fw/tools/carlu/src/main.c new file mode 100644 index 0000000..c1b3277 --- /dev/null +++ b/carl9170fw/tools/carlu/src/main.c @@ -0,0 +1,307 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * main program routine + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "SDL.h" +#include + +#include "debug.h" +#include "carlu.h" +#include "usb.h" +#include "frame.h" +#include "test.h" +#include "cmd.h" + +void *carlu_alloc_driver(size_t size) +{ + unsigned int i; + struct carlu *ar; + + if (size < sizeof(*ar)) { + err("bogus driver context request."); + return NULL; + } + + ar = malloc(size); + if (ar == NULL) { + err("failed to alloc driver context."); + return NULL; + } + memset(ar, 0, size); + + for (i = 0; i < __AR9170_NUM_TXQ; i++) + frame_queue_init(&ar->tx_sent_queue[i]); + ar->resp_lock = SDL_CreateMutex(); + ar->mem_lock = SDL_CreateMutex(); + ar->resp_pend = SDL_CreateCond(); + ar->tx_pending = 0; + return ar; +} + +void carlu_free_driver(struct carlu *ar) +{ + unsigned int i; + + dbg("destroy driver struct.\n"); + SDL_DestroyMutex(ar->resp_lock); + SDL_DestroyMutex(ar->mem_lock); + SDL_DestroyCond(ar->resp_pend); + + for (i = 0; i < __AR9170_NUM_TXQ; i++) + frame_queue_kill(&ar->tx_sent_queue[i]); + + free(ar); +} + +static int carlu_init() +{ + struct SDL_version compiled; + int ret; + + SDL_VERSION(&compiled); + dbg("=== SDL %d.%d.%d ===\n", compiled.major, compiled.minor, compiled.patch); + + ret = SDL_Init(SDL_INIT_TIMER); + if (ret != 0) { + err("Unable to initialize SDL: (%s)\n", SDL_GetError()); + return EXIT_FAILURE; + } + + return usb_init(); +} + +static void carlu_exit() +{ + SDL_Quit(); + usb_exit(); +} + +static int carlu_dump_eeprom(void) +{ + struct carlu *carl = NULL; + uint8_t data[8192] = { 0 }; + int err; + + err = carlu_init(); + if (err) + goto out; + + carl = carlusb_probe(); + if (IS_ERR_OR_NULL(carl)) { + err = PTR_ERR(carl); + goto out; + } + + err = carlu_cmd_mem_dump(carl, 0, sizeof(data), &data); + if (err) + goto out_close; + + print_hex_dump_bytes(INFO, "EEPROM:", data, sizeof(data)); + +out_close: + carlusb_close(carl); + +out: + carlu_exit(); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} + +static int carlu_run_gpio_test(void) +{ + struct carlu *carl = NULL; + int err; + + err = carlu_init(); + if (err) + goto out; + + carl = carlusb_probe(); + if (IS_ERR_OR_NULL(carl)) { + err = PTR_ERR(carl); + goto out; + } + + err = carlu_gpio_test(carl); + if (err) + goto out_close; + +out_close: + carlusb_close(carl); + +out: + carlu_exit(); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} + +static int carlu_run_random_test(void) +{ + struct carlu *carl = NULL; + int err; + + err = carlu_init(); + if (err) + goto out; + + carl = carlusb_probe(); + if (IS_ERR_OR_NULL(carl)) { + err = PTR_ERR(carl); + goto out; + } + + err = carlu_random_test(carl); + if (err) + goto out_close; + +out_close: + carlusb_close(carl); + +out: + carlu_exit(); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} + +static int carlu_run_loop_test(void) +{ + struct carlu *carl; + int err; + + err = carlu_init(); + if (err) + return EXIT_FAILURE; + + carl = carlusb_probe(); + if (IS_ERR_OR_NULL(carl)) { + err = PTR_ERR(carl); + goto out; + } + + carlu_cmd_write_mem(carl, AR9170_MAC_REG_BCN_PERIOD, 0xFFFFFFFF); + carlu_cmd_write_mem(carl, AR9170_MAC_REG_PRETBTT, 0xFFFFFFFF); + + /* different payload test */ + carlu_loopback_test(carl, 9000, 1000, 1566, 1566); + carlusb_close(carl); + +out: + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} + +static int carlu_probe_all(void) +{ + struct carlu *carl[32] = { 0 }; + unsigned int devs; + int ret; + + ret = carlu_init(); + if (ret) + return EXIT_FAILURE; + + for (devs = 0; devs < ARRAY_SIZE(carl); devs++) { + carl[devs] = carlusb_probe(); + if (IS_ERR_OR_NULL(carl[devs])) + break; + } + + info("Found %d devices\n", devs); + + for (; devs > 0; devs--) + carlusb_close(carl[devs - 1]); + + carlu_exit(); + return EXIT_SUCCESS; +} + +struct menu_struct { + char option; + unsigned int parameters; + int (*function)(void); + char help_text[80]; +}; + +#define MENU_ITEM(op, func, helpme) \ + { \ + .option = op, \ + .parameters = 0, \ + .function = func, \ + .help_text = helpme, \ + } + +static int show_help(void); + +static const struct menu_struct menu[] = { + [0] = MENU_ITEM('h', show_help, "shows this useless help message text."), /* keep this entry at 0! */ + MENU_ITEM('e', carlu_dump_eeprom, "hexdumps eeprom content to stdout."), + MENU_ITEM('l', carlusb_print_known_devices, "list of all known ar9170 usb devices."), + MENU_ITEM('p', carlu_probe_all, "probe all possible devices."), + MENU_ITEM('t', carlu_run_loop_test, "run tx/rx test."), + MENU_ITEM('g', carlu_run_gpio_test, "flash the leds."), + MENU_ITEM('r', carlu_run_random_test, "get random numbers."), +}; + +static int show_help(void) +{ + unsigned int i; + char parameters[ARRAY_SIZE(menu) + 1]; + + for (i = 0; i < ARRAY_SIZE(menu); i++) + parameters[i] = menu[i].option; + + parameters[ARRAY_SIZE(menu)] = '\0'; + + info("usage: ar9170user -[%s]\n", parameters); + + for (i = 0; i < ARRAY_SIZE(menu); i++) + info("\t-%c\t%s\n", menu[i].option, menu[i].help_text); + + return EXIT_FAILURE; +} + +static int select_menu_item(const char arg) +{ + unsigned int i; + + for (i = ARRAY_SIZE(menu) - 1; i != 0; i--) { + if (arg == menu[i].option) + break; + } + + return menu[i].function(); +} + +int main(int argc, char *argv[]) +{ + init_debug(); + + if (argc != 2 || strlen(argv[1]) != 2 || argv[1][0] != '-') + return show_help(); + + return select_menu_item(argv[1][1]); +} diff --git a/carl9170fw/tools/carlu/src/rx.c b/carl9170fw/tools/carlu/src/rx.c new file mode 100644 index 0000000..2a77334 --- /dev/null +++ b/carl9170fw/tools/carlu/src/rx.c @@ -0,0 +1,181 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * RX data processing + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "libusb.h" + +#include "carlu.h" +#include "debug.h" +#include "frame.h" +#include "ieee80211.h" +#include "wlan.h" + +static void carlu_handle_data(struct carlu *ar, void *buf, + unsigned int len) +{ + if (ar->rx_cb) { + ar->rx_cb(ar, buf, len); + } else { + dbg("unhandled data:\n"); + print_hex_dump_bytes(VERBOSE, "DATA:", buf, len); + } +} + +void carlu_handle_command(struct carlu *ar, void *buf, + unsigned int len) +{ + struct carl9170_rsp *cmd; + int ret = 0; + + cmd = (void *) buf; + + if ((cmd->hdr.cmd & CARL9170_RSP_FLAG) != CARL9170_RSP_FLAG) { + if ((cmd->hdr.cmd & CARL9170_CMD_ASYNC_FLAG)) + return; + + SDL_mutexP(ar->resp_lock); + if (ar->resp_buf && ar->resp_len && ar->resp_len >= (len - 4)) { + memcpy(ar->resp_buf, buf + 4, len - 4); + ar->resp_buf = NULL; + } else { + warn("spurious command response (%d / %d)\n", + (int) len - 4, (int) ar->resp_len); + print_hex_dump_bytes(WARNING, "RSP:", buf, len); + } + SDL_mutexV(ar->resp_lock); + + SDL_CondSignal(ar->resp_pend); + return; + } + + if (ar->cmd_cb) + ret = ar->cmd_cb(ar, cmd, buf, len); + + if (ret) { + switch (cmd->hdr.cmd) { + case CARL9170_RSP_TXCOMP: + carlu_tx_feedback(ar, cmd); + break; + + case CARL9170_RSP_TEXT: + info("carl9170 FW: %.*s\n", (int)len - 4, (char *)buf + 4); + break; + + case CARL9170_RSP_HEXDUMP: + info("carl9170 FW: hexdump\n"); + print_hex_dump_bytes(INFO, "HEX:", (char *)buf + 4, len - 4); + break; + + case CARL9170_RSP_WATCHDOG: + err("Woof Woof! Watchdog notification.\n"); + break; + + case CARL9170_RSP_GPIO: + info("GPIO Interrupt => GPIO state %.8x\n", + le32_to_cpu(cmd->gpio.gpio)); + break; + + case CARL9170_RSP_RADAR: + info("RADAR Interrupt"); + break; + + default: + warn("received unhandled event 0x%x\n", cmd->hdr.cmd); + print_hex_dump_bytes(WARNING, "RSP:", (char *)buf + 4, len - 4); + break; + } + } +} + +static void __carlu_rx(struct carlu *ar, uint8_t *buf, unsigned int len) +{ + unsigned int i; + + i = 0; + + /* weird thing, but this is the same in the original driver */ + while (len > 2 && i < 12 && buf[0] == 0xff && buf[1] == 0xff) { + i += 2; + len -= 2; + buf += 2; + } + + if (i == 12) { + struct carl9170_rsp *cmd; + i = 0; + + while (i < len) { + cmd = (void *) &buf[i]; + + carlu_handle_command(ar, cmd, cmd->hdr.len + 4); + i += cmd->hdr.len + 4; + } + } else { + carlu_handle_data(ar, buf, len); + } +} + +static void carlu_rx_stream(struct carlu *ar, struct frame *frame) +{ + void *buf = frame->data; + unsigned int len = frame->len; + + while (len >= 4) { + struct ar9170_stream *rx_stream; + unsigned int resplen, elen; + + rx_stream = (void *) buf; + resplen = le16_to_cpu(rx_stream->length); + elen = roundup(resplen + 4, 4); + + if (rx_stream->tag != cpu_to_le16(0x4e00)) { + warn("frame has no tag %p %u %x.\n", + buf, (int) len, rx_stream->tag); + print_hex_dump_bytes(WARNING, "FRAME:", frame->data, frame->len); + + __carlu_rx(ar, buf, len); + return; + } + + __carlu_rx(ar, rx_stream->payload, resplen); + + len -= elen; + buf += elen; + } +} + +void carlu_rx(struct carlu *ar, struct frame *frame) +{ + if (ar->rx_stream) + carlu_rx_stream(ar, frame); + else + __carlu_rx(ar, frame->data, frame->len); +} diff --git a/carl9170fw/tools/carlu/src/test.c b/carl9170fw/tools/carlu/src/test.c new file mode 100644 index 0000000..bf49559 --- /dev/null +++ b/carl9170fw/tools/carlu/src/test.c @@ -0,0 +1,237 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * Various tests + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "libusb.h" +#include "SDL.h" + +#include "carlu.h" +#include "debug.h" +#include "frame.h" +#include "usb.h" +#include "cmd.h" + +void debug_test(void) +{ + err("This is an error.\n"); + warn("This is a warnig.\n"); + info("This is an informative message.\n"); + dbg("This is just utter useless babble.\n"); +} + +void carlu_frame_test(struct carlu *ar) +{ + struct frame *frame; + + frame = carlu_alloc_frame(ar, 0x40); + frame_reserve(frame, 0x10); + + memset(frame_put(frame, 0x10), 0x11, 0x10); + memset(frame_put(frame, 0x10), 0x22, 0x10); + memset(frame_push(frame, 0x10), 0x33, 0x10); + memset(frame_put(frame, 0x10), 0x44, 0x10); + + print_hex_dump_bytes(INFO, "DATA:", frame->data, frame->len); + + print_hex_dump_bytes(INFO, "PAYLOAD:", frame->payload, frame->alloced); + + frame_free(frame); +} + +static void carlu_loopback_tx_cb(struct carlu *ar __unused, + struct frame *frame __unused) +{ +} + +static int carlu_loopback_cmd(struct carlu *ar __unused, + struct carl9170_rsp *cmd, void *buf __unused, + unsigned int len __unused) +{ + unsigned int i, n; + + switch (cmd->hdr.cmd) { + case CARL9170_RSP_TXCOMP: + n = cmd->hdr.ext; + dbg("received tx feedback (%d).\n", n); + + for (i = 0; i < n; i++) { + dbg("cookie:%x info:%x\n", + cmd->_tx_status[i].cookie, + cmd->_tx_status[i].info); + } + return -1; + + default: + return -1; + } +} + +static void carlu_loopback_rx(struct carlu *ar, + void *buf __unused, unsigned int len) +{ + ar->rxed++; + ar->rx_octets += len; +} + +static void carlu_loopback_mark_tx_frames(struct frame *frame) +{ + unsigned int i; + + for (i = 0; i < frame->len; i++) + frame->data[i] = (uint8_t) i; +} + +void carlu_loopback_test(struct carlu *ar, const unsigned int total_runs, + const unsigned int interval, const unsigned int min_len, const unsigned int max_len) +{ + struct frame *frame; + uint32_t start_time, total_time = 0; + float moctets, dtime; + unsigned int runs = 0, i = 0, j = 0, len; + int ret; + + if (min_len > max_len) { + err("stresstest: invalid parameters => min_len:%d > max_len:%d", + min_len, max_len); + return; + } + + if (min_len < 4) { + err("stresstest: invalid parameters => min_len is smaller than 4"); + return; + } + + len = min_len; + frame = carlu_alloc_frame(ar, len); + frame_put(frame, len); + + carlu_loopback_mark_tx_frames(frame); + + ar->rx_cb = carlu_loopback_rx; + ar->cmd_cb = carlu_loopback_cmd; + ar->tx_cb = carlu_loopback_tx_cb; + + start_time = SDL_GetTicks(); + while (runs <= total_runs) { + if (frame && carlu_tx(ar, frame) == 0) { + len = min_len; + i++; + } else { + frame_free(frame); + } + + frame = NULL; + + frame = carlu_alloc_frame(ar, len); + frame_put(frame, len); + + carlu_loopback_mark_tx_frames(frame); + j++; + + total_time = SDL_GetTicks() - start_time; + + if (total_time >= interval) { + moctets = ((float)ar->tx_octets) / (1024.0f * 1024.0f); + dtime = ((float)total_time) / 1000; + info("%d: tx %d of %d => %.2f MiB in %.2f secs => %.4f MBits/s\n", + runs, i, j, moctets, dtime, (moctets * 8.0f) / dtime); + + moctets = ((float)ar->rx_octets) / (1024.0f * 1024.0f); + info("%d: rx %d of %d => %.2f MiB in %.2f secs => %.4f MBits/s\n", + runs, ar->rxed, i, moctets, dtime, (moctets * 8.0f) / dtime); + + if ((ar->rxed == 0 && i) || !i) { + ret = carlu_cmd_echo(ar, 0xdeadbeef); + if (ret) + warn("firmware crashed... echo_cmd: (%d)\n", ret); + } + + total_time = 0; + i = 0; + j = 0; + ar->rxed = 0; + ar->txed = 0; + ar->rx_octets = 0; + ar->tx_octets = 0; + runs++; + start_time = SDL_GetTicks(); + } + } + + ar->rx_cb = NULL; + ar->cmd_cb = NULL; + ar->tx_cb = NULL; +} + +int carlu_gpio_test(struct carlu *ar) +{ + uint32_t gpio; + +#define CHK(cmd) \ + do { \ + int __err = cmd; \ + if ((__err)) \ + return __err; \ + } while (0) + + CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio)); + info("GPIO state:%x\n", gpio); + + /* turn both LEDs on */ + CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA, + AR9170_GPIO_PORT_LED_0 | AR9170_GPIO_PORT_LED_1)); + + SDL_Delay(700); + + CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio)); + info("GPIO state:%x\n", gpio); + + /* turn LEDs off everything */ + CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA, 0)); + + CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio)); + info("GPIO state:%x\n", gpio); +} + +int carlu_random_test(struct carlu *ar) +{ + uint32_t buf[4096]; + int err, i; + + err = carlu_cmd_mem_watch(ar, AR9170_RAND_REG_NUM, sizeof(buf), buf); + if (err) + return err; + + for (i = 0; i < ARRAY_SIZE(buf); i++) + info("%.2x %.2x ", buf[i] & 0xff, buf[i] >> 8); + + info("\n"); +} diff --git a/carl9170fw/tools/carlu/src/test.h b/carl9170fw/tools/carlu/src/test.h new file mode 100644 index 0000000..373ba08 --- /dev/null +++ b/carl9170fw/tools/carlu/src/test.h @@ -0,0 +1,35 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * test.c header + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170USER_TEST_H +#define __CARL9170USER_TEST_H + +#include "carlu.h" + +void carlu_loopback_test(struct carlu *ar, const unsigned int total_runs, + const unsigned int interval, const unsigned int min_len, + const unsigned int max_len); + +int carlu_gpio_test(struct carlu *ar); +int carlu_random_test(struct carlu *ar); + +#endif /* __CARL9170USER_TEST_H */ diff --git a/carl9170fw/tools/carlu/src/tx.c b/carl9170fw/tools/carlu/src/tx.c new file mode 100644 index 0000000..ec97502 --- /dev/null +++ b/carl9170fw/tools/carlu/src/tx.c @@ -0,0 +1,213 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * xmit - related functions + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include "libusb.h" + +#include "carlu.h" +#include "debug.h" +#include "frame.h" +#include "usb.h" +#include "ieee80211.h" +#include "wlan.h" + +struct frame *carlu_alloc_frame(struct carlu *ar, unsigned int size) +{ + struct frame *tmp; + unsigned int total_len; + + total_len = ar->extra_headroom + sizeof(struct _carl9170_tx_superframe) + size; + + tmp = frame_alloc(total_len); + if (!tmp) + return NULL; + + frame_reserve(tmp, sizeof(struct _carl9170_tx_superframe) + ar->extra_headroom); + + tmp->queue = 2; + + return tmp; +} + +static int carlu_alloc_dev_mem(struct carlu *ar, + struct frame *frame) +{ + struct _carl9170_tx_superframe *txp = (void *)frame->data; + unsigned int len, chunks; + + len = roundup(frame->len, ar->dma_chunk_size); + chunks = len / ar->dma_chunk_size; + + SDL_mutexP(ar->mem_lock); + if (ar->tx_pending >= ar->dma_chunks || + ar->used_dma_chunks + chunks >= ar->dma_chunks) { + SDL_mutexV(ar->mem_lock); + return -ENOSPC; + } + + ar->used_dma_chunks += chunks; + ar->tx_pending++; + txp->s.cookie = ar->cookie++; + SDL_mutexV(ar->mem_lock); + + return 0; +} + +static void carlu_free_dev_mem(struct carlu *ar, + struct frame *frame) +{ + struct _carl9170_tx_superframe *txp = (void *)frame->data; + unsigned int len, chunks; + + len = roundup(frame->len, ar->dma_chunk_size); + chunks = len / ar->dma_chunk_size; + + SDL_mutexP(ar->mem_lock); + ar->used_dma_chunks -= chunks; + ar->tx_pending--; + SDL_mutexV(ar->mem_lock); +} + +void carlu_free_frame(struct carlu *ar __unused, + struct frame *frame) +{ + frame_free(frame); +} + +static struct frame *carlu_find_frame(struct carlu *ar, + unsigned int queue, uint8_t cookie) +{ + struct frame *frame = NULL; + + BUG_ON(queue >= __AR9170_NUM_TXQ); + BUG_ON(SDL_mutexP(ar->tx_sent_queue[queue].lock) != 0); + FRAME_WALK(frame, &ar->tx_sent_queue[queue]) { + struct _carl9170_tx_superframe *super; + + super = (void *) frame->data; + if (super->s.cookie == cookie) { + __frame_unlink(&ar->tx_sent_queue[queue], frame); + SDL_mutexV(ar->tx_sent_queue[queue].lock); + return frame; + } + } + SDL_mutexV(ar->tx_sent_queue[queue].lock); + + return NULL; +} + +static void carlu_tx_fb_cb(struct carlu *ar, + struct frame *frame) +{ + if (ar->tx_fb_cb) + ar->tx_fb_cb(ar, frame); + else + carlu_free_frame(ar, frame); + +} + +void carlu_tx_feedback(struct carlu *ar, + struct carl9170_rsp *cmd) +{ + unsigned int i, n, k, q; + struct frame *frame; + struct carlu_tx_info *tx_info; + + n = cmd->hdr.ext; + + for (i = 0; i < n; i++) { + q = (cmd->_tx_status[i].info >> CARL9170_TX_STATUS_QUEUE_S) & + CARL9170_TX_STATUS_QUEUE; + frame = carlu_find_frame(ar, q, cmd->_tx_status[i].cookie); + if (frame) { + carlu_free_dev_mem(ar, frame); + tx_info = get_tx_info(frame); + + k = (cmd->_tx_status[i].info >> CARL9170_TX_STATUS_RIX) + & CARL9170_TX_STATUS_RIX_S; + tx_info->rates[k].cnt = (cmd->_tx_status[i].info >> + CARL9170_TX_STATUS_TRIES_S) & + CARL9170_TX_STATUS_TRIES; + for (k++; k < CARL9170_TX_MAX_RATES; k++) { + tx_info->rates[k].rix = -1; + tx_info->rates[k].cnt = -1; + } + + carlu_tx_fb_cb(ar, frame); + } else { + err("Found no frame for cookie %d.\n", + cmd->_tx_status[i].cookie); + } + } +} + +int carlu_tx(struct carlu *ar, struct frame *frame) +{ + struct _carl9170_tx_superframe *txp; + unsigned int len, queue; + int cookie, err; + + len = frame->len; + + txp = (void *) frame_push(frame, sizeof(struct _carl9170_tx_superframe)); + + if (txp->s.rix) + goto err_out; + + err = carlu_alloc_dev_mem(ar, frame); + if (err) + goto err_out; + + txp->s.len = cpu_to_le16(frame->len); + + queue = (frame->queue % __AR9170_NUM_TXQ); + + SET_VAL(CARL9170_TX_SUPER_MISC_QUEUE, txp->s.misc, queue); + + txp->f.length = len + FCS_LEN; /* + I(C)V_LEN */ + + txp->f.mac_control = cpu_to_le16(AR9170_TX_MAC_HW_DURATION | + AR9170_TX_MAC_BACKOFF); + txp->f.mac_control |= cpu_to_le16(queue << AR9170_TX_MAC_QOS_S); + + txp->f.phy_control = cpu_to_le32(AR9170_TX_PHY_MOD_CCK | AR9170_TX_PHY_BW_20MHZ | + ((17 * 2) << AR9170_TX_PHY_TX_PWR_S) | + (AR9170_TX_PHY_TXCHAIN_1 << AR9170_TX_PHY_TXCHAIN_S) | + (11 << AR9170_TX_PHY_MCS_S)); + + frame_queue_tail(&ar->tx_sent_queue[queue], frame); + carlusb_tx(ar, frame); + return 0; + +err_out: + frame_pull(frame, sizeof(struct _carl9170_tx_superframe)); + return err; +} diff --git a/carl9170fw/tools/carlu/src/usb.c b/carl9170fw/tools/carlu/src/usb.c new file mode 100644 index 0000000..ebc19a9 --- /dev/null +++ b/carl9170fw/tools/carlu/src/usb.c @@ -0,0 +1,793 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * USB back-end driver + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include "libusb.h" + +#include "carlu.h" +#include "usb.h" +#include "debug.h" +#include "list.h" +#include "cmd.h" + +#define ADD_DEV(_vid, _pid, _vs, _ps) { \ + .idVendor = _vid, \ + .idProduct = _pid, \ + .vendor_name = _vs, \ + .product_name = _ps \ +} + +static const struct { + uint16_t idVendor; + uint16_t idProduct; + char *vendor_name; + char *product_name; +} dev_list[] = { + ADD_DEV(0x0cf3, 0x9170, "Atheros", "9170"), + ADD_DEV(0x0cf3, 0x1001, "Atheros", "TG121N"), + ADD_DEV(0x0cf3, 0x1002, "TP-Link", "TL-WN821N v2"), + ADD_DEV(0xcace, 0x0300, "Cace", "Airpcap NX"), + ADD_DEV(0x07d1, 0x3c10, "D-Link", "DWA 160 A1"), + ADD_DEV(0x07d1, 0x3a09, "D-Link", "DWA 160 A2"), + ADD_DEV(0x0846, 0x9010, "Netgear", "WNDA3100"), + ADD_DEV(0x0846, 0x9001, "Netgear", "WN111 v2"), + ADD_DEV(0x0ace, 0x1221, "Zydas", "ZD1221"), + ADD_DEV(0x0586, 0x3417, "ZyXEL", "NWD271N"), + ADD_DEV(0x0cde, 0x0023, "Z-Com", "UB81 BG"), + ADD_DEV(0x0cde, 0x0026, "Z-Com", "UB82 ABG"), + ADD_DEV(0x0cde, 0x0027, "Sphairon", "Homelink 1202"), + ADD_DEV(0x083a, 0xf522, "Arcadyan", "WN7512"), + ADD_DEV(0x2019, 0x5304, "Planex", "GWUS300"), + ADD_DEV(0x04bb, 0x093f, "IO-Data", "WNGDNUS2"), + ADD_DEV(0x057C, 0x8401, "AVM", "FRITZ!WLAN USB Stick N"), + ADD_DEV(0x057C, 0x8402, "AVM", "FRITZ!WLAN USB Stick N 2.4"), +}; + +static libusb_context *usb_ctx; +static LIST_HEAD(active_dev_list); + +static int carlusb_event_thread(void *_ar) +{ + struct carlu *ar = (void *)_ar; + dbg("event thread active and polling.\n"); + + while (!ar->stop_event_polling) + libusb_handle_events(ar->ctx); + + dbg("==> event thread desixed.\n"); + return 0; +} + +static int carlusb_is_ar9170(struct libusb_device_descriptor *desc) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(dev_list); i++) { + if ((desc->idVendor == dev_list[i].idVendor) && + (desc->idProduct == dev_list[i].idProduct)) { + dbg("== found device \"%s %s\" [0x%04x:0x%04x]\n", + dev_list[i].vendor_name, dev_list[i].product_name, + desc->idVendor, desc->idProduct); + + return i; + } + } + + return -1; +} + +static bool carlusb_is_dev(struct carlu *iter, + struct libusb_device *dev) +{ + libusb_device *list_dev; + + if (!iter->dev) + return false; + + list_dev = libusb_get_device(iter->dev); + + if (libusb_get_bus_number(list_dev) == libusb_get_bus_number(dev) && + libusb_get_device_address(list_dev) == libusb_get_device_address(dev)) + return true; + + return false; +} + +int carlusb_show_devinfo(struct carlu *ar) +{ + struct libusb_device_descriptor desc; + libusb_device *dev; + int err; + + dev = libusb_get_device(ar->dev); + + err = libusb_get_device_descriptor(dev, &desc); + if (err) + return err; + + info("USB Device Information:\n"); + info("\tUSB VendorID:%.4x(%s), ProductID:%.4x(%s)\n", + dev_list[ar->idx].idVendor, dev_list[ar->idx].vendor_name, + dev_list[ar->idx].idProduct, dev_list[ar->idx].product_name); + info("\tBus:%d Address:%d\n", libusb_get_bus_number(dev), + libusb_get_device_address(dev)); + + return 0; +} + +static int carlusb_get_dev(struct carlu *ar, bool reset) +{ + struct carlu *iter; + libusb_device_handle *dev; + libusb_device **list; + int ret, err, i, idx = -1; + + ret = libusb_get_device_list(usb_ctx, &list); + if (ret < 0) { + err("usb device enum failed (%d)\n", ret); + return ret; + } + + for (i = 0; i < ret; i++) { + struct libusb_device_descriptor desc; + + memset(&desc, 0, sizeof(desc)); + err = libusb_get_device_descriptor(list[i], &desc); + if (err != 0) + continue; + + idx = carlusb_is_ar9170(&desc); + if (idx < 0) + continue; + + list_for_each_entry(iter, &active_dev_list, dev_list) { + if (carlusb_is_dev(iter, list[i])) { + err = -EALREADY; + break; + } + } + + if (err) + continue; + + err = libusb_open(list[i], &dev); + if (err != 0) { + err("failed to open device (%d)\n", err); + continue; + } + + err = libusb_kernel_driver_active(dev, 0); + switch (err) { + case 0: + break; + default: + err("failed to aquire exculusive access (%d).\n", err); + goto skip; + } + + if (reset) { + err = libusb_reset_device(dev); + if (err != 0) { + err("failed to reset device (%d)\n", err); + goto skip; + } + } + + err = libusb_claim_interface(dev, 0); + if (err == 0) { + dbg(">device is now under our control.\n"); + break; + } else { + err("failed to claim device (%d)\n", err); + goto skip; + } + +skip: + libusb_close(dev); + } + + if (i != ret) { + ar->idx = idx; + ar->ctx = usb_ctx; + ar->dev = dev; + list_add_tail(&ar->dev_list, &active_dev_list); + ret = 0; + } else { + ret = -ENODEV; + } + + libusb_free_device_list(list, 1); + return ret; +} + +static void carlusb_tx_cb(struct carlu *ar, + struct frame *frame) +{ + if (ar->tx_cb) + ar->tx_cb(ar, frame); + + ar->tx_octets += frame->len; + + carlu_free_frame(ar, frame); +} + +static void carlusb_zap_queues(struct carlu *ar) +{ + struct frame *frame; + + BUG_ON(SDL_mutexP(ar->tx_queue_lock) != 0); + while (!list_empty(&ar->tx_queue)) { + frame = list_first_entry(&ar->tx_queue, struct frame, dcb.list); + list_del(&frame->dcb.list); + carlusb_tx_cb(ar, frame); + } + SDL_mutexV(ar->tx_queue_lock); +} + +static void carlusb_free_driver(struct carlu *ar) +{ + if (!IS_ERR_OR_NULL(ar)) { + if (ar->event_pipe[0] > -1) + close(ar->event_pipe[0]); + + if (ar->event_pipe[1] > -1) + close(ar->event_pipe[1]); + + carlusb_zap_queues(ar); + carlfw_release(ar->fw); + ar->fw = NULL; + + if (ar->dev) { + libusb_release_interface(ar->dev, 0); + libusb_close(ar->dev); + ar->dev = NULL; + } + carlu_free_driver(ar); + } +} + +static int carlusb_init(struct carlu *ar) +{ + init_list_head(&ar->tx_queue); + ar->tx_queue_lock = SDL_CreateMutex(); + ar->event_pipe[0] = ar->event_pipe[1] = -1; + + return 0; +} + +static struct carlu *carlusb_open(void) +{ + struct carlu *tmp; + int err; + + tmp = carlu_alloc_driver(sizeof(*tmp)); + if (tmp == NULL) + return NULL; + + err = carlusb_init(tmp); + if (err < 0) + goto err_out; + + err = carlusb_get_dev(tmp, true); + if (err < 0) + goto err_out; + + return tmp; + +err_out: + carlusb_free_driver(tmp); + return ERR_PTR(err); +} + +static void carlusb_cancel_rings(struct carlu *ar) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(ar->rx_ring); i++) + libusb_cancel_transfer(ar->rx_ring[i]); + + libusb_cancel_transfer(ar->rx_interrupt); +} + +static void carlusb_free_rings(struct carlu *ar) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(ar->rx_ring); i++) + libusb_free_transfer(ar->rx_ring[i]); + + libusb_free_transfer(ar->rx_interrupt); +} + +static void carlusb_destroy(struct carlu *ar) +{ + int event_thread_status; + + dbg("==>release device.\n"); + + ar->stop_event_polling = true; + + carlusb_cancel_rings(ar); + + SDL_WaitThread(ar->event_thread, &event_thread_status); + + carlusb_free_rings(ar); + list_del(&ar->dev_list); +} + +static void carlusb_tx_bulk_cb(struct libusb_transfer *transfer); + +static void carlusb_tx_pending(struct carlu *ar) +{ + struct frame *frame; + struct libusb_transfer *urb; + int err; + + BUG_ON(SDL_mutexP(ar->tx_queue_lock) != 0); + if (ar->tx_queue_len >= (AR9170_TX_MAX_ACTIVE_URBS) || + list_empty(&ar->tx_queue)) + goto out; + + ar->tx_queue_len++; + + urb = libusb_alloc_transfer(0); + if (urb == NULL) + goto out; + + frame = list_first_entry(&ar->tx_queue, struct frame, dcb.list); + list_del(&frame->dcb.list); + + if (ar->tx_stream) { + struct ar9170_stream *tx_stream; + + tx_stream = frame_push(frame, sizeof(*tx_stream)); + tx_stream->length = cpu_to_le16(frame->len); + tx_stream->tag = cpu_to_le16(0x697e); + } + + libusb_fill_bulk_transfer(urb, ar->dev, AR9170_EP_TX, (unsigned char *) + frame->data, frame->len, carlusb_tx_bulk_cb, (void *)frame, 0); + + /* FIXME: ZERO_PACKET support! */ + urb->flags |= LIBUSB_TRANSFER_FREE_TRANSFER; +/* urb->flags |= LIBUSB_TRANSFER_ZERO_PACKET; */ + frame->dev = (void *) ar; + frame_get(frame); + + err = libusb_submit_transfer(urb); + if (err != 0) { + err("->usb bulk tx submit failed (%d).\n", err); + libusb_free_transfer(urb); + } + +out: + SDL_mutexV(ar->tx_queue_lock); + return; +} + +void carlusb_tx(struct carlu *ar, struct frame *frame) +{ + BUG_ON(SDL_mutexP(ar->tx_queue_lock) != 0); + + list_add_tail(&frame->dcb.list, &ar->tx_queue); + SDL_mutexV(ar->tx_queue_lock); + + carlusb_tx_pending(ar); +} + +static void carlusb_tx_bulk_cb(struct libusb_transfer *transfer) +{ + struct frame *frame = (void *) transfer->user_data; + struct carlu *ar = (void *) frame->dev; + + BUG_ON(SDL_mutexP(ar->tx_queue_lock) != 0); + ar->tx_queue_len--; + SDL_mutexV(ar->tx_queue_lock); + + if (ar->tx_stream) + frame_pull(frame, 4); + + carlusb_tx_cb(ar, frame); + carlusb_tx_pending(ar); +} + +static void carlusb_rx_interrupt_cb(struct libusb_transfer *transfer) +{ + struct carlu *ar = (void *) transfer->user_data; + int err; + + switch (transfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + carlu_handle_command(ar, transfer->buffer, transfer->actual_length); + break; + + case LIBUSB_TRANSFER_CANCELLED: + return; + + default: + err("==>rx_irq urb died (%d)\n", transfer->status); + break; + } + + err = libusb_submit_transfer(transfer); + if (err != 0) + err("==>rx_irq urb resubmit failed (%d)\n", err); +} + +static void carlusb_rx_bulk_cb(struct libusb_transfer *transfer) +{ + struct frame *frame = (void *) transfer->user_data; + struct carlu *ar = (void *) frame->dev; + int err; + + switch (transfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + frame_put(frame, transfer->actual_length); + + carlu_rx(ar, frame); + + frame_trim(frame, 0); + break; + + case LIBUSB_TRANSFER_CANCELLED: + return; + + default: + err("==>rx_bulk urb died (%d)\n", transfer->status); + break; + } + + err = libusb_submit_transfer(transfer); + if (err != 0) + err("->rx_bulk urb resubmit failed (%d)\n", err); +} + +static int carlusb_initialize_rxirq(struct carlu *ar) +{ + int err; + + ar->rx_interrupt = libusb_alloc_transfer(0); + if (ar->rx_interrupt == NULL) { + err("==>cannot alloc rx interrupt urb\n"); + return -1; + } + + libusb_fill_interrupt_transfer(ar->rx_interrupt, ar->dev, AR9170_EP_IRQ, + (unsigned char *)&ar->irq_buf, sizeof(ar->irq_buf), + carlusb_rx_interrupt_cb, (void *) ar, 0); + + err = libusb_submit_transfer(ar->rx_interrupt); + if (err != 0) { + err("==>failed to submit rx interrupt (%d)\n", err); + return err; + } + + dbg("rx interrupt is now operational.\n"); + return 0; +} + +static int carlusb_initialize_rxrings(struct carlu *ar) +{ + struct frame *tmp; + unsigned int i; + int err; + + for (i = 0; i < ARRAY_SIZE(ar->rx_ring); i++) { + tmp = frame_alloc(ar->rx_max); + if (tmp == NULL) + return -ENOMEM; + + tmp->dev = (void *) ar; + + ar->rx_ring[i] = libusb_alloc_transfer(0); + if (ar->rx_ring[i] == NULL) { + frame_free(tmp); + return -ENOMEM; + } + + libusb_fill_bulk_transfer(ar->rx_ring[i], ar->dev, + AR9170_EP_RX, (unsigned char *)tmp->data, + ar->rx_max, carlusb_rx_bulk_cb, (void *)tmp, 0); + + err = libusb_submit_transfer(ar->rx_ring[i]); + if (err != 0) { + err("==>failed to submit rx buld urb (%d)\n", err); + return EXIT_FAILURE; + } + } + + dbg("rx ring is now ready to receive.\n"); + return 0; +} + +static int carlusb_load_firmware(struct carlu *ar) +{ + int ret = 0; + + dbg("loading firmware...\n"); + + ar->fw = carlfw_load(CARL9170_FIRMWARE_FILE); + if (IS_ERR_OR_NULL(ar->fw)) + return PTR_ERR(ar->fw); + + ret = carlu_fw_check(ar); + if (ret) + return ret; + + ret = carlusb_fw_check(ar); + if (ret) + return ret; + + return 0; +} + +static int carlusb_upload_firmware(struct carlu *ar, bool boot) +{ + uint32_t addr = 0x200000; + size_t len; + void *buf; + int ret = 0; + + dbg("initiating firmware image upload procedure.\n"); + + buf = carlfw_get_fw(ar->fw, &len); + if (IS_ERR_OR_NULL(buf)) + return PTR_ERR(buf); + + if (ar->miniboot_size) { + dbg("Miniboot firmware size:%d\n", ar->miniboot_size); + len -= ar->miniboot_size; + buf += ar->miniboot_size; + } + + while (len) { + int blocklen = len > 4096 ? 4096 : len; + + ret = libusb_control_transfer(ar->dev, 0x40, 0x30, addr >> 8, 0, buf, blocklen, 1000); + if (ret != blocklen && ret != LIBUSB_ERROR_TIMEOUT) { + err("==>firmware upload failed (%d)\n", ret); + return -EXIT_FAILURE; + } + + dbg("uploaded %d bytes to start address 0x%04x.\n", blocklen, addr); + + buf += blocklen; + addr += blocklen; + len -= blocklen; + } + + if (boot) { + ret = libusb_control_transfer(ar->dev, 0x40, 0x31, 0, 0, NULL, 0, 5000); + if (ret < 0) { + err("unable to boot firmware (%d)\n", ret); + return -EXIT_FAILURE; + } + + /* give the firmware some time to reset & reboot */ + SDL_Delay(100); + + /* + * since the device did a full usb reset, + * we have to get a new "dev". + */ + libusb_release_interface(ar->dev, 0); + libusb_close(ar->dev); + ar->dev = NULL; + list_del(&ar->dev_list); + + ret = carlusb_get_dev(ar, false); + } + + return 0; +} + +int carlusb_cmd_async(struct carlu *ar, struct carl9170_cmd *cmd, + const bool free_buf) +{ + struct libusb_transfer *urb; + int ret, send; + + if (cmd->hdr.len > (CARL9170_MAX_CMD_LEN - 4)) { + err("|-> too much payload\n"); + ret = -EINVAL; + goto out; + } + + if (cmd->hdr.len % 4) { + err("|-> invalid command length\n"); + ret = -EINVAL; + goto out; + } + + ret = libusb_interrupt_transfer(ar->dev, AR9170_EP_CMD, (void *) cmd, cmd->hdr.len + 4, &send, 32); + if (ret != 0) { + err("OID:0x%.2x failed due to (%d) (%d).\n", cmd->hdr.cmd, ret, send); + print_hex_dump_bytes(ERROR, "CMD:", cmd, cmd->hdr.len); + } + +out: + if (free_buf) + free((void *)cmd); + + return ret; +} + +int carlusb_cmd(struct carlu *ar, uint8_t oid, + uint8_t *cmd, size_t clen, + uint8_t *rsp, size_t rlen) +{ + int ret, send; + + if (clen > (CARL9170_MAX_CMD_LEN - 4)) { + err("|-> OID:0x%.2x has too much payload (%d octs)\n", oid, (int)clen); + return -EINVAL; + } + + ret = SDL_mutexP(ar->resp_lock); + if (ret != 0) { + err("failed to acquire resp_lock.\n"); + print_hex_dump_bytes(ERROR, "CMD:", ar->cmd.buf, clen); + return -1; + } + + ar->cmd.cmd.hdr.len = clen; + ar->cmd.cmd.hdr.cmd = oid; + /* buf[2] & buf[3] are padding */ + if (clen && cmd != (uint8_t *)(&ar->cmd.cmd.data)) + memcpy(&ar->cmd.cmd.data, cmd, clen); + + ar->resp_buf = (uint8_t *)rsp; + ar->resp_len = rlen; + + ret = carlusb_cmd_async(ar, &ar->cmd.cmd, false); + if (ret != 0) { + err("OID:0x%.2x failed due to (%d) (%d).\n", oid, ret, send); + print_hex_dump_bytes(ERROR, "CMD:", ar->cmd.buf, clen); + SDL_mutexV(ar->resp_lock); + return ret; + } + + ret = SDL_CondWaitTimeout(ar->resp_pend, ar->resp_lock, 100); + if (ret != 0) { + err("|-> OID:0x%.2x timed out %d.\n", oid, ret); + ar->resp_buf = NULL; + ar->resp_len = 0; + ret = -ETIMEDOUT; + } + + SDL_mutexV(ar->resp_lock); + return ret; +} + +struct carlu *carlusb_probe(void) +{ + struct carlu *ar; + int ret = -ENOMEM; + + ar = carlusb_open(); + if (IS_ERR_OR_NULL(ar)) { + if (IS_ERR(ar)) + ret = PTR_ERR(ar); + goto err_out; + } + + ret = carlusb_show_devinfo(ar); + if (ret) + goto err_out; + + ret = carlusb_load_firmware(ar); + if (ret) + goto err_out; + + ret = pipe(ar->event_pipe); + if (ret) + goto err_out; + + ar->stop_event_polling = false; + ar->event_thread = SDL_CreateThread(carlusb_event_thread, ar); + + ret = carlusb_upload_firmware(ar, true); + if (ret) + goto err_kill; + + ret = carlusb_initialize_rxirq(ar); + if (ret) + goto err_kill; + + ret = carlusb_initialize_rxrings(ar); + if (ret) + goto err_kill; + + ret = carlu_cmd_echo(ar, 0x44110dee); + if (ret) { + err("echo test failed...\n"); + goto err_kill; + } + + info("firmware is active and running.\n"); + + carlu_fw_info(ar); + + return ar; + +err_kill: + carlusb_destroy(ar); + +err_out: + carlusb_free_driver(ar); + err("usb device rendezvous failed (%d).\n", ret); + return ERR_PTR(ret); +} + +void carlusb_close(struct carlu *ar) +{ + carlu_cmd_reboot(ar); + + carlusb_destroy(ar); + carlusb_free_driver(ar); +} + +int carlusb_print_known_devices(void) +{ + unsigned int i; + + debug_level = INFO; + + info("==> dumping known device list <==\n"); + for (i = 0; i < ARRAY_SIZE(dev_list); i++) { + info("Vendor:\"%-9s\" Product:\"%-26s\" => USBID:[0x%04x:0x%04x]\n", + dev_list[i].vendor_name, dev_list[i].product_name, + dev_list[i].idVendor, dev_list[i].idProduct); + } + info("==> end of device list <==\n"); + + return EXIT_SUCCESS; +} + +int usb_init(void) +{ + int ret; + + ret = libusb_init(&usb_ctx); + if (ret != 0) { + err("failed to initialize usb subsystem (%d)\n", ret); + return ret; + } + + /* like a silent chatterbox! */ + libusb_set_debug(usb_ctx, 2); + + return 0; +} + +void usb_exit(void) +{ + libusb_exit(usb_ctx); +} diff --git a/carl9170fw/tools/carlu/src/usb.h b/carl9170fw/tools/carlu/src/usb.h new file mode 100644 index 0000000..66c674f --- /dev/null +++ b/carl9170fw/tools/carlu/src/usb.h @@ -0,0 +1,68 @@ +/* + * carlu - userspace testing utility for ar9170 devices + * + * USB back-end API declaration + * + * Copyright 2009-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARL9170USER_USB_H +#define __CARL9170USER_USB_H + +#include "SDL.h" +#include "SDL_thread.h" +#include "libusb.h" +#include "frame.h" +#include "list.h" + +#include "fwcmd.h" +#include +#include "carlu.h" + +#define AR9170_RX_BULK_BUFS 16 +#define AR9170_RX_BULK_BUF_SIZE 8192 +#define AR9170_RX_BULK_IRQ_SIZE 64 + +/* endpoints */ +#define AR9170_EP_TX (LIBUSB_ENDPOINT_OUT | AR9170_USB_EP_TX) +#define AR9170_EP_RX (LIBUSB_ENDPOINT_IN | AR9170_USB_EP_RX) +#define AR9170_EP_IRQ (LIBUSB_ENDPOINT_IN | AR9170_USB_EP_IRQ) +#define AR9170_EP_CMD (LIBUSB_ENDPOINT_OUT | AR9170_USB_EP_CMD) + +#define AR9170_TX_MAX_ACTIVE_URBS 8 + +#define CARL9170_FIRMWARE_FILE (CARLU_PATH "/../../carlfw/carl9170.fw") + +struct carlu; + +void carlusb_reset_txep(struct carlu *ar); + +int usb_init(void); +void usb_exit(void); + +struct carlu *carlusb_probe(void); +void carlusb_close(struct carlu *ar); + +void carlusb_tx(struct carlu *ar, struct frame *frame); +int carlusb_fw_check(struct carlu *ar); + +int carlusb_cmd(struct carlu *_ar, uint8_t oid, uint8_t *cmd, size_t clen, + uint8_t *rsp, size_t rlen); + +int carlusb_print_known_devices(void); + +#endif /* __CARL9170USER_USB_H */ diff --git a/carl9170fw/tools/include/frame.h b/carl9170fw/tools/include/frame.h new file mode 100644 index 0000000..f753fe3 --- /dev/null +++ b/carl9170fw/tools/include/frame.h @@ -0,0 +1,401 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Most ideas and some code are copied from the linux' kernels + * include/linux/skbuff.h + */ + +#ifndef __TOOLS_FRAME_H +#define __TOOLS_FRAME_H + +#include "SDL.h" +#include "list.h" + +/** + * struct frame_queue - sk_buff_head like frame queue + * + * @list: pointer to head and tail + * @lock: mutex lock for serialize access + * @len: exact number of queued frames + */ + +struct frame_queue { + struct list_head list; + SDL_mutex *lock; + size_t len; +}; + +/** + * struct frame - frame data structure (like sk_buff) + * + * @list: storage for double-linked &struct frame_queue list + * @dev: pointer to private device/driver structure + * @timestamp: space for the current timestamp + * @cb: private driver data + * @dcb: more reserved space for low-level / backend driver + * @queue: selected frame queue / priority + * @ref: reference counter + * @alloced: maximum available space + * @total_len: currently consumed and reserved memory + * @len: current frame length + * @head: points to the buffer head + * @data: current frame data pointer + * @tail: frame data tail pointer + * @payload: frame data storage container + */ + +struct frame { + struct list_head list; + void *dev; + unsigned long timestamp; + uint8_t cb[64]; + union { + struct list_head list; + uint8_t raw_data[32]; + } dcb; + + unsigned int queue; + unsigned int ref; + unsigned int alloced; + unsigned int total_len; + unsigned int len; + uint8_t *head; + uint8_t *data; + uint8_t *tail; + + /* payload must be the last entry */ + uint8_t payload[0]; +}; + +/** + * frame_put - append more data to &struct frame + * + * Allocate @size bytes from &struct frame tail and + * returns a pointer to the requested location. + * + * @frame: frame to alter + * @size: extra size + */ +static inline void *frame_put(struct frame *frame, unsigned int size) +{ + void *tmp; + + BUG_ON(frame->total_len + size > frame->alloced); + + frame->len += size; + frame->total_len += size; + + tmp = (void *) frame->tail; + frame->tail += size; + + BUG_ON(frame->tail > (frame->payload + frame->alloced)); + + return tmp; +} + +/** + * frame_push - allocate head + * + * returns a pointer to a newly allocate area at &struct frame head. + * + * @frame: frame to modify + * @size: requested extra size + */ +static inline void *frame_push(struct frame *frame, unsigned int size) +{ + frame->len += size; + frame->data -= size; + + BUG_ON(frame->data < frame->payload); + return frame->data; +} + +/** + * frame_get - reference frame buffer + * + * grab a reference from the frame buffer, in order to + * prevent it from being freed prematurely by a different user. + * + * @frame: frame pointer + */ +static inline struct frame *frame_get(struct frame *frame) +{ + frame->ref++; + return frame; +} + +/** + * frame_pull - remove space from &struct frame head + * + * Does the opposite of frame_push() and removes freed-up + * space at the frames's head. + * + * @frame: pointer to frame structure + * @size: bytes to remove from head + */ +static inline void *frame_pull(struct frame *frame, unsigned int size) +{ + BUG_ON(frame->len < size); + + frame->len -= size; + frame->total_len -= size; + frame->data += size; + + return frame->data; +} + +/** + * frame_reserve - reserve frame headroom + * + * Reserve a certain amount of space to allow headroom manipulations + * in the future. + * + * @frame: frame to adjust + * @size: bytes to reserve + */ +static inline void frame_reserve(struct frame *frame, unsigned int size) +{ + BUG_ON(frame->total_len + size > frame->alloced); + BUG_ON(frame->len != 0); + + frame->total_len += size; + frame->data += size; + frame->tail += size; +} + +/** + * frame_trim - set frame length + * + * cut the frame to @size length. + * + * @frame: frame to be trimmed + * @size: new length + */ +static inline void frame_trim(struct frame *frame, unsigned int size) +{ + BUG_ON(size > frame->total_len); + + frame->len = size; + frame->total_len = size; + frame->data = frame->head; + frame->tail = frame->head + size; +} + +/** + * frame_alloc - alloc and initialize new frame + * + * returns a newly created &struct frame object. + * + * @size: maximum frame size of the new frame + */ +static inline struct frame *frame_alloc(unsigned int size) +{ + struct frame *tmp; + + tmp = malloc(size + sizeof(*tmp)); + if (tmp != NULL) { + memset(tmp, 0, sizeof(*tmp)); + init_list_head(&tmp->list); + init_list_head(&tmp->dcb.list); + tmp->len = 0; + tmp->total_len = 0; + tmp->alloced = size; + + tmp->head = tmp->payload; + tmp->data = tmp->payload; + tmp->tail = tmp->payload; + tmp->ref = 1; + } + return tmp; +} + +/** + * frame_free - unref and free frame + * + * Unreference frame and free it up, if all users are gone. + * + * @frame: frame to be freed + */ +static inline void frame_free(struct frame *frame) +{ + if (!--frame->ref) + free(frame); +} + +/** + * FRAME_WALK - MACRO walker + * + * Walks over all queued elements in &struct frame_queue + * + * NOTE: This function is vulnerable in concurrent access + * scenarios without proper locking. + * + * @pos: current position inside the queue + * @head: &struct frame_queue head + */ +#define FRAME_WALK(pos, head) \ + list_for_each_entry((pos), &(head)->list, list) + +static inline void __frame_queue_init(struct frame_queue *queue) +{ + queue->len = 0; + init_list_head(&queue->list); +} + +/** + * frame_queue_init - initialize frame_queue + * + * Initialize the given &struct frame_queue object. + * + * @queue: frame_queue to be initialized + */ +static inline void frame_queue_init(struct frame_queue *queue) +{ + queue->lock = SDL_CreateMutex(); + __frame_queue_init(queue); +} + +/** + * frame_queue_len - returns number of queue elements + * + * @queue: frame_queue object + */ +static inline unsigned int frame_queue_len(struct frame_queue *queue) +{ + return queue->len; +} + +/** + * frame_queue_empty - returns %TRUE whenever queue is empty + * + * @queue: frame_queue object + */ +static inline bool frame_queue_empty(struct frame_queue *queue) +{ + return list_empty(&queue->list); +} + +static inline void __frame_queue_head(struct frame_queue *queue, struct frame *frame) +{ + list_add_head(&frame->list, &queue->list); + queue->len++; +} + +/** + * frame_queue_head - queue a frame at the queues head + * @queue: queue to use + */ +static inline void frame_queue_head(struct frame_queue *queue, struct frame *frame) +{ + BUG_ON((SDL_mutexP(queue->lock) != 0)); + __frame_queue_head(queue, frame); + SDL_mutexV(queue->lock); +} + +static inline void __frame_queue_tail(struct frame_queue *queue, struct frame *frame) +{ + list_add_tail(&frame->list, &queue->list); + queue->len++; +} + +/** + * frame_queue_head - queue a frame at the queues tail + * @queue: queue to use + */ +static inline void frame_queue_tail(struct frame_queue *queue, struct frame *frame) +{ + BUG_ON((SDL_mutexP(queue->lock) != 0)); + __frame_queue_tail(queue, frame); + SDL_mutexV(queue->lock); +} + +static inline void __frame_unlink(struct frame_queue *queue, struct frame *frame) +{ + list_del(&frame->list); + queue->len--; +} + +/** + * frame_queue_unlink - remove a frame from the queue + * @queue: queue to use + * @frame: frame to remove + */ +static inline void frame_unlink(struct frame_queue *queue, struct frame *frame) +{ + BUG_ON((SDL_mutexP(queue->lock) != 0)); + __frame_unlink(queue, frame); + SDL_mutexV(queue->lock); +} + + +static inline struct frame *__frame_dequeue(struct frame_queue *queue) +{ + struct frame *tmp = NULL; + + if (!frame_queue_empty(queue)) { + tmp = list_entry(queue->list.next, struct frame, list); + __frame_unlink(queue, tmp); + } + + return tmp; +} + +/** + * frame_dequeue - remove frame from the head of the queue + * + * @queue: queue to dequeue from + */ +static inline struct frame *frame_dequeue(struct frame_queue *queue) +{ + struct frame *tmp; + + BUG_ON((SDL_mutexP(queue->lock) != 0)); + + tmp = __frame_dequeue(queue); + SDL_mutexV(queue->lock); + return tmp; +} + +static inline void __frame_queue_purge(struct frame_queue *queue) +{ + while (list_empty(&queue->list) == false) + frame_free(__frame_dequeue(queue)); +} + +/** + * frame_queue_purge - frees all queued &struct frame objects + * + * @queue: queue to be freed + */ +static inline void frame_queue_purge(struct frame_queue *queue) +{ + BUG_ON((SDL_mutexP(queue->lock) != 0)); + __frame_queue_purge(queue); + SDL_mutexV(queue->lock); +} + +/** + * frame_queue_kill - destroys frame_queue object + * + * Destroy object and frees up all remaining elements + * + * @queue: frame_queue victim + */ +static inline void frame_queue_kill(struct frame_queue *queue) +{ + SDL_DestroyMutex(queue->lock); + __frame_queue_purge(queue); +} + +#endif /* __TOOLS_FRAME_H */ diff --git a/carl9170fw/tools/include/list.h b/carl9170fw/tools/include/list.h new file mode 100644 index 0000000..1991d97 --- /dev/null +++ b/carl9170fw/tools/include/list.h @@ -0,0 +1,92 @@ +/* + * list.h List Utilities + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation version 2.1 + * of the License. + * + * Copyright (c) 2003-2006 Thomas Graf + */ + +#ifndef __LIST_H +#define __LIST_H + +struct list_head { + struct list_head *next; + struct list_head *prev; +}; + +static inline void list_add(struct list_head *obj, + struct list_head *prev, + struct list_head *next) +{ + prev->next = obj; + obj->prev = prev; + next->prev = obj; + obj->next = next; +} + +static inline void list_add_tail(struct list_head *obj, + struct list_head *head) +{ + list_add(obj, head->prev, head); +} + +static inline void list_add_head(struct list_head *obj, + struct list_head *head) +{ + list_add(obj, head, head->next); +} + +static inline void list_del(struct list_head *obj) +{ + obj->prev->next = obj->next; + obj->next->prev = obj->prev; + obj->next = obj->prev = obj; +} + +static inline void list_replace(struct list_head *old, + struct list_head *obj) +{ + obj->next = old->next; + obj->next->prev = obj; + obj->prev = old->prev; + obj->prev->next = obj; +} + +static inline int list_empty(struct list_head *head) +{ + return head->next == head; +} + +#define list_entry(ptr, type, member) \ + container_of(ptr, type, member) + +#define list_first_entry(ptr, type, member) \ + container_of((ptr)->next, type, member) + +#define list_at_tail(pos, head, member) \ + ((pos)->member.next == (head)) + +#define list_at_head(pos, head, member) \ + ((pos)->member.prev == (head)) + +#define LIST_HEAD(name) \ + struct list_head name = { &(name), &(name) } + +#define list_for_each_entry(pos, head, member) \ + for (pos = list_entry((head)->next, typeof(*pos), member); \ + &(pos)->member != (head); \ + (pos) = list_entry((pos)->member.next, typeof(*(pos)), member)) + +#define list_for_each_entry_safe(pos, n, head, member) \ + for (pos = list_entry((head)->next, typeof(*pos), member), \ + n = list_entry(pos->member.next, typeof(*pos), member); \ + &(pos)->member != (head); \ + pos = n, n = list_entry(n->member.next, typeof(*n), member)) + +#define init_list_head(head) \ + do { (head)->next = (head); (head)->prev = (head); } while (0) + +#endif /* __LIST_H */ diff --git a/carl9170fw/tools/lib/CMakeLists.txt b/carl9170fw/tools/lib/CMakeLists.txt new file mode 100644 index 0000000..2d139e6 --- /dev/null +++ b/carl9170fw/tools/lib/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 2.8) + +project(libcarlfw) + +set(carlfw_src carlfw.c) + +add_library( carlfw STATIC ${carlfw_src}) diff --git a/carl9170fw/tools/lib/carlfw.c b/carl9170fw/tools/lib/carlfw.c new file mode 100644 index 0000000..ce61afb --- /dev/null +++ b/carl9170fw/tools/lib/carlfw.c @@ -0,0 +1,630 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "carlfw.h" + +struct carlfw_file { + char *name; + size_t len; + char *data; +}; + +struct carlfw { + struct carlfw_file fw; + struct carlfw_file hdr; + + struct list_head desc_list; + unsigned int desc_list_entries, + desc_list_len; +}; + +#define carlfw_walk_descs(iter, fw) \ + list_for_each_entry(iter, &fw->desc_list, h.list) + +struct carlfw_list_entry_head { + struct list_head list; +}; + +struct carlfw_list_entry { + struct carlfw_list_entry_head h; + union { + struct carl9170fw_desc_head head; + uint32_t data[0]; + char text[0]; + }; +}; + +static inline struct carlfw_list_entry *carlfw_desc_to_entry(struct carl9170fw_desc_head *head) +{ + return container_of(head, struct carlfw_list_entry, head); +} + +static inline struct carl9170fw_desc_head *carlfw_entry_to_desc(struct carlfw_list_entry *entry) +{ + return &entry->head; +} + +static void carlfw_entry_unlink(struct carlfw *fw, + struct carlfw_list_entry *entry) +{ + fw->desc_list_entries--; + fw->desc_list_len -= le16_to_cpu(entry->head.length); + list_del(&entry->h.list); +} + +static void carlfw_entry_del(struct carlfw *fw, + struct carlfw_list_entry *entry) +{ + carlfw_entry_unlink(fw, entry); + free(entry); +} + +static struct carlfw_list_entry *carlfw_find_entry(struct carlfw *fw, + const uint8_t descid[4], + unsigned int len, + uint8_t compatible_revision) +{ + struct carlfw_list_entry *iter; + + carlfw_walk_descs(iter, fw) { + if (carl9170fw_desc_cmp(&iter->head, descid, len, + compatible_revision)) + return (void *)iter; + } + + return NULL; +} + +static struct carlfw_list_entry *__carlfw_entry_add_prepare(struct carlfw *fw, + const struct carl9170fw_desc_head *desc) +{ + struct carlfw_list_entry *tmp; + unsigned int len; + + len = le16_to_cpu(desc->length); + + if (len < sizeof(struct carl9170fw_desc_head)) + return ERR_PTR(-EINVAL); + + tmp = malloc(sizeof(*tmp) + len); + if (!tmp) + return ERR_PTR(-ENOMEM); + + fw->desc_list_entries++; + fw->desc_list_len += len; + + memcpy(tmp->data, desc, len); + return tmp; +} + +static void __carlfw_release(struct carlfw_file *f) +{ + f->len = 0; + if (f->name) + free(f->name); + f->name = NULL; + + if (f->data) + free(f->data); + f->data = NULL; +} + +void carlfw_release(struct carlfw *fw) +{ + struct carlfw_list_entry *entry; + + if (!IS_ERR_OR_NULL(fw)) { + while (!list_empty(&fw->desc_list)) { + entry = list_entry(fw->desc_list.next, + struct carlfw_list_entry, h.list); + carlfw_entry_del(fw, entry); + } + + __carlfw_release(&fw->fw); + __carlfw_release(&fw->hdr); + free(fw); + } +} + +static int __carlfw_load(struct carlfw_file *file, const char *name, const char *mode) +{ + struct stat file_stat; + FILE *fh; + int err; + + fh = fopen(name, mode); + if (fh == NULL) + return errno ? -errno : -1; + + err = fstat(fileno(fh), &file_stat); + if (err) + return errno ? -errno : -1; + + file->len = file_stat.st_size; + file->data = malloc(file->len); + if (file->data == NULL) + return -ENOMEM; + + err = fread(file->data, file->len, 1, fh); + if (err != 1) + return -ferror(fh); + + file->name = strdup(name); + fclose(fh); + + if (!file->name) + return -ENOMEM; + + return 0; +} + +static void *__carlfw_find_desc(struct carlfw_file *file, + uint8_t descid[4], + unsigned int len, + uint8_t compatible_revision) +{ + int scan = file->len, found = 0; + struct carl9170fw_desc_head *tmp = NULL; + + while (scan >= 0) { + if (file->data[scan] == descid[CARL9170FW_MAGIC_SIZE - found - 1]) + found++; + else + found = 0; + + if (found == CARL9170FW_MAGIC_SIZE) + break; + + scan--; + } + + if (found == CARL9170FW_MAGIC_SIZE) { + tmp = (void *) &file->data[scan]; + + if (!CHECK_HDR_VERSION(tmp, compatible_revision) && + (le16_to_cpu(tmp->length) >= len)) + return tmp; + } + + return NULL; +} + +void *carlfw_find_desc(struct carlfw *fw, + const uint8_t descid[4], + const unsigned int len, + const uint8_t compatible_revision) +{ + struct carlfw_list_entry *tmp; + + tmp = carlfw_find_entry(fw, descid, len, compatible_revision); + + return tmp ? carlfw_entry_to_desc(tmp) : NULL; +} + +int carlfw_desc_add_tail(struct carlfw *fw, + const struct carl9170fw_desc_head *desc) +{ + struct carlfw_list_entry *tmp; + + tmp = __carlfw_entry_add_prepare(fw, desc); + if (IS_ERR(tmp)) + return PTR_ERR(tmp); + + list_add_tail(&tmp->h.list, &fw->desc_list); + return 0; +} + +int carlfw_desc_add(struct carlfw *fw, + const struct carl9170fw_desc_head *desc, + struct carl9170fw_desc_head *prev, + struct carl9170fw_desc_head *next) +{ + struct carlfw_list_entry *tmp; + + tmp = __carlfw_entry_add_prepare(fw, desc); + if (IS_ERR(tmp)) + return PTR_ERR(tmp); + + list_add(&tmp->h.list, &((carlfw_desc_to_entry(prev))->h.list), + &((carlfw_desc_to_entry(next))->h.list)); + return 0; +} + +int carlfw_desc_add_before(struct carlfw *fw, + const struct carl9170fw_desc_head *desc, + struct carl9170fw_desc_head *pos) +{ + struct carl9170fw_desc_head *prev; + struct carlfw_list_entry *prev_entry; + + prev_entry = carlfw_desc_to_entry(pos); + + prev = carlfw_entry_to_desc((struct carlfw_list_entry *) prev_entry->h.list.prev); + + return carlfw_desc_add(fw, desc, prev, pos); +} + +void carlfw_desc_unlink(struct carlfw *fw, + struct carl9170fw_desc_head *desc) +{ + carlfw_entry_unlink(fw, carlfw_desc_to_entry(desc)); +} + +void carlfw_desc_del(struct carlfw *fw, + struct carl9170fw_desc_head *desc) +{ + carlfw_entry_del(fw, carlfw_desc_to_entry(desc)); +} + +void *carlfw_desc_mod_len(struct carlfw *fw __unused, + struct carl9170fw_desc_head *desc, size_t len) +{ + struct carlfw_list_entry *obj, tmp; + int new_len = le16_to_cpu(desc->length) + len; + + if (new_len < (int)sizeof(*desc)) + return ERR_PTR(-EINVAL); + + if (new_len > CARL9170FW_DESC_MAX_LENGTH) + return ERR_PTR(-E2BIG); + + obj = carlfw_desc_to_entry(desc); + + memcpy(&tmp, obj, sizeof(tmp)); + obj = realloc(obj, new_len + sizeof(struct carlfw_list_entry_head)); + if (obj == NULL) + return ERR_PTR(-ENOMEM); + + list_replace(&tmp.h.list, &obj->h.list); + + desc = carlfw_entry_to_desc(obj); + desc->length = le16_to_cpu(new_len); + fw->desc_list_len += len; + + return desc; +} + +void *carlfw_desc_next(struct carlfw *fw, + struct carl9170fw_desc_head *pos) +{ + struct carlfw_list_entry *entry; + + if (!pos) + entry = (struct carlfw_list_entry *) &fw->desc_list; + else + entry = carlfw_desc_to_entry(pos); + + if (list_at_tail(entry, &fw->desc_list, h.list)) + return NULL; + + entry = (struct carlfw_list_entry *) entry->h.list.next; + + return carlfw_entry_to_desc(entry); +} + +static int carlfw_parse_descs(struct carlfw *fw, + struct carl9170fw_otus_desc *otus_desc) +{ + const struct carl9170fw_desc_head *iter = NULL; + int err; + + carl9170fw_for_each_hdr(iter, &otus_desc->head) { + err = carlfw_desc_add_tail(fw, iter); + if (err) + return err; + } + /* LAST is added automatically by carlfw_store */ + + return err; +} + +#if BYTE_ORDER == LITTLE_ENDIAN +#define CRCPOLY_LE 0xedb88320 + +/* copied from the linux kernel */ +static uint32_t crc32_le(uint32_t crc, unsigned char const *p, size_t len) +{ + int i; + while (len--) { + crc ^= *p++; + for (i = 0; i < 8; i++) + crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0); + } + return crc; +} +#else +#error "this tool does not work with a big endian host yet!" +#endif + +static int carlfw_check_crc32s(struct carlfw *fw) +{ + struct carl9170fw_chk_desc *chk_desc; + struct carlfw_list_entry *iter; + unsigned int elen; + uint32_t crc32; + + chk_desc = carlfw_find_desc(fw, (uint8_t *) CHK_MAGIC, + sizeof(*chk_desc), + CARL9170FW_CHK_DESC_CUR_VER); + if (!chk_desc) + return -ENODATA; + + crc32 = crc32_le(~0, (void *) fw->fw.data, fw->fw.len); + if (crc32 != le32_to_cpu(chk_desc->fw_crc32)) + return -EINVAL; + + carlfw_walk_descs(iter, fw) { + elen = le16_to_cpu(iter->head.length); + + if (carl9170fw_desc_cmp(&iter->head, (uint8_t *) CHK_MAGIC, + sizeof(*chk_desc), + CARL9170FW_CHK_DESC_CUR_VER)) + continue; + + crc32 = crc32_le(crc32, (void *) &iter->head, elen); + } + + if (crc32 != le32_to_cpu(chk_desc->hdr_crc32)) + return -EINVAL; + + return 0; +} + +struct carlfw *carlfw_load(const char *basename) +{ + char filename[256]; + struct carlfw *fw; + struct carl9170fw_otus_desc *otus_desc; + struct carl9170fw_last_desc *last_desc; + struct carlfw_file *hdr_file; + unsigned long fin, diff, off, rem; + int err; + + fw = calloc(1, sizeof(*fw)); + if (!fw) + return ERR_PTR(-ENOMEM); + + init_list_head(&fw->desc_list); + + err = __carlfw_load(&fw->fw, basename, "r"); + if (err) + goto err_out; + + if (fw->hdr.name) + hdr_file = &fw->hdr; + else + hdr_file = &fw->fw; + + otus_desc = __carlfw_find_desc(hdr_file, (uint8_t *) OTUS_MAGIC, + sizeof(*otus_desc), + CARL9170FW_OTUS_DESC_CUR_VER); + last_desc = __carlfw_find_desc(hdr_file, (uint8_t *) LAST_MAGIC, + sizeof(*last_desc), + CARL9170FW_LAST_DESC_CUR_VER); + + if (!otus_desc || !last_desc || + (unsigned long) otus_desc > (unsigned long) last_desc) { + err = -ENODATA; + goto err_out; + } + + err = carlfw_parse_descs(fw, otus_desc); + if (err) + goto err_out; + + fin = (unsigned long)last_desc + sizeof(*last_desc); + diff = fin - (unsigned long)otus_desc; + rem = hdr_file->len - (fin - (unsigned long) hdr_file->data); + + if (rem) { + off = (unsigned long)otus_desc - (unsigned long)hdr_file->data; + memmove(&hdr_file->data[off], + ((uint8_t *)last_desc) + sizeof(*last_desc), rem); + } + + hdr_file->len -= diff; + hdr_file->data = realloc(hdr_file->data, hdr_file->len); + if (!hdr_file->data && hdr_file->len) { + err = -ENOMEM; + goto err_out; + } + + err = carlfw_check_crc32s(fw); + if (err && err != -ENODATA) + goto err_out; + + return fw; + +err_out: + carlfw_release(fw); + return ERR_PTR(err); +} + +static int carlfw_apply_checksums(struct carlfw *fw) +{ + struct carlfw_list_entry *iter; + struct carl9170fw_chk_desc tmp = { + CARL9170FW_FILL_DESC(CHK_MAGIC, sizeof(tmp), + CARL9170FW_CHK_DESC_MIN_VER, + CARL9170FW_CHK_DESC_CUR_VER) }; + struct carl9170fw_chk_desc *chk_desc = NULL; + int err = 0; + unsigned int len = 0, elen, max_len; + uint32_t crc32; + + chk_desc = carlfw_find_desc(fw, (uint8_t *) CHK_MAGIC, + sizeof(*chk_desc), + CARL9170FW_CHK_DESC_CUR_VER); + if (chk_desc) { + carlfw_desc_del(fw, &chk_desc->head); + chk_desc = NULL; + } + + max_len = fw->desc_list_len; + + crc32 = crc32_le(~0, (void *) fw->fw.data, fw->fw.len); + tmp.fw_crc32 = cpu_to_le32(crc32); + + /* + * NOTE: + * + * The descriptor checksum is seeded with the firmware's crc32. + * This neat trick ensures that the driver can check whenever + * descriptor actually belongs to the firmware, or not. + */ + + carlfw_walk_descs(iter, fw) { + elen = le16_to_cpu(iter->head.length); + + if (max_len < len + elen) + return -EMSGSIZE; + + crc32 = crc32_le(crc32, (void *) &iter->head, elen); + len += elen; + } + + tmp.hdr_crc32 = cpu_to_le32(crc32); + + err = carlfw_desc_add_tail(fw, &tmp.head); + + return err; +} + +int carlfw_store(struct carlfw *fw) +{ + struct carl9170fw_last_desc last_desc = { + CARL9170FW_FILL_DESC(LAST_MAGIC, sizeof(last_desc), + CARL9170FW_LAST_DESC_MIN_VER, + CARL9170FW_LAST_DESC_CUR_VER) }; + + struct carlfw_list_entry *iter; + FILE *fh; + int err, elen; + + err = carlfw_apply_checksums(fw); + if (err) + return err; + + fh = fopen(fw->fw.name, "w"); + if (!fh) + return -errno; + + err = fwrite(fw->fw.data, fw->fw.len, 1, fh); + if (err != 1) { + err = -errno; + goto close_out; + } + + if (fw->hdr.name) { + fclose(fh); + + fh = fopen(fw->hdr.name, "w"); + } + + carlfw_walk_descs(iter, fw) { + elen = le16_to_cpu(iter->head.length); + + if (elen > CARL9170FW_DESC_MAX_LENGTH) { + err = -E2BIG; + goto close_out; + } + + err = fwrite(iter->data, elen, 1, fh); + if (err != 1) { + err = -ferror(fh); + goto close_out; + } + } + + err = fwrite(&last_desc, sizeof(last_desc), 1, fh); + if (err != 1) { + err = -ferror(fh); + goto close_out; + } + + err = 0; + +close_out: + fclose(fh); + return err; +} + +void *carlfw_mod_tailroom(struct carlfw *fw, ssize_t len) +{ + size_t new_len; + void *buf; + + new_len = fw->fw.len + len; + + if (!carl9170fw_size_check(new_len)) + return ERR_PTR(-EINVAL); + + buf = realloc(fw->fw.data, new_len); + if (buf == NULL) + return ERR_PTR(-ENOMEM); + + fw->fw.len = new_len; + fw->fw.data = buf; + return &fw->fw.data[new_len - len]; +} + +void *carlfw_mod_headroom(struct carlfw *fw, ssize_t len) +{ + size_t new_len; + void *ptr; + + new_len = fw->fw.len + len; + if (!carl9170fw_size_check(new_len)) + return ERR_PTR(-EINVAL); + + if (len < 0) + memmove(fw->fw.data, &fw->fw.data[len], new_len); + + ptr = carlfw_mod_tailroom(fw, len); + if (IS_ERR_OR_NULL(ptr)) + return ptr; + + if (len > 0) + memmove(&fw->fw.data[len], &fw->fw.data[0], new_len - len); + + return fw->fw.data; +} + +void *carlfw_get_fw(struct carlfw *fw, size_t *len) +{ + *len = fw->fw.len; + return fw->fw.data; +} + +unsigned int carlfw_get_descs_num(struct carlfw *fw) +{ + return fw->desc_list_entries; +} + +unsigned int carlfw_get_descs_size(struct carlfw *fw) +{ + return fw->desc_list_len; +} diff --git a/carl9170fw/tools/lib/carlfw.h b/carl9170fw/tools/lib/carlfw.h new file mode 100644 index 0000000..6e722c9 --- /dev/null +++ b/carl9170fw/tools/lib/carlfw.h @@ -0,0 +1,67 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __CARLFW_H +#define __CARLFW_H + +#include +#include "compiler.h" +#include "fwdesc.h" +#include "list.h" + +struct carlfw; + +void carlfw_release(struct carlfw *fw); +struct carlfw *carlfw_load(const char *basename); +int carlfw_store(struct carlfw *fw); +void *carlfw_find_desc(struct carlfw *fw, + const uint8_t descid[4], const unsigned int len, + const uint8_t compatible_revision); + +int carlfw_desc_add_tail(struct carlfw *fw, + const struct carl9170fw_desc_head *desc); + +int carlfw_desc_add(struct carlfw *fw, + const struct carl9170fw_desc_head *desc, + struct carl9170fw_desc_head *prev, + struct carl9170fw_desc_head *next); + +void *carlfw_desc_mod_len(struct carlfw *fw, + struct carl9170fw_desc_head *desc, + size_t len); + +int carlfw_desc_add_before(struct carlfw *fw, + const struct carl9170fw_desc_head *desc, + struct carl9170fw_desc_head *pos); + +void carlfw_desc_unlink(struct carlfw *fw, + struct carl9170fw_desc_head *desc); + +void carlfw_desc_del(struct carlfw *fw, + struct carl9170fw_desc_head *entry); + +void *carlfw_desc_next(struct carlfw *fw, + struct carl9170fw_desc_head *pos); + +void *carlfw_mod_tailroom(struct carlfw *fw, ssize_t len); +void *carlfw_mod_headroom(struct carlfw *fw, ssize_t len); + +void *carlfw_get_fw(struct carlfw *fw, size_t *len); + +unsigned int carlfw_get_descs_num(struct carlfw *fw); +unsigned int carlfw_get_descs_size(struct carlfw *fw); +#endif /* __CARLFW_H */ diff --git a/carl9170fw/tools/src/CMakeLists.txt b/carl9170fw/tools/src/CMakeLists.txt new file mode 100644 index 0000000..3cd31fd --- /dev/null +++ b/carl9170fw/tools/src/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 2.8) + +project(tools) + +add_custom_target(wol ALL COMMAND gcc wol.c -o wol) + +set(tools fwinfo miniboot checksum eeprom_fix) + +foreach(tool ${tools}) + add_executable( ${tool} ${tool}.c ) + add_definitions("-std=gnu99 -Wall -Wextra -Wshadow") + target_link_libraries( ${tool} carlfw ) +endforeach() diff --git a/carl9170fw/tools/src/checksum.c b/carl9170fw/tools/src/checksum.c new file mode 100644 index 0000000..b394174 --- /dev/null +++ b/carl9170fw/tools/src/checksum.c @@ -0,0 +1,89 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "carlfw.h" + +#include "compiler.h" + +static void checksum_help(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, "\tchecksum FW-FILE\n"); + + fprintf(stderr, "\nDescription:\n"); + fprintf(stderr, "\tThis simple utility adds/updates various " + "checksums.\n"); + + fprintf(stderr, "\nParameteres:\n"); + fprintf(stderr, "\t 'FW-FILE' = firmware name\n"); + fprintf(stderr, "\n"); +} + +int main(int argc, char *args[]) +{ + struct carlfw *fw = NULL; + int err = 0; + + if (argc != 2) { + err = -EINVAL; + goto out; + } + + fw = carlfw_load(args[1]); + if (IS_ERR_OR_NULL(fw)) { + err = PTR_ERR(fw); + fprintf(stderr, "Failed to open file \"%s\" (%d).\n", + args[1], err); + goto out; + } + + /* + * No magic here, The checksum descriptor is added/update + * automatically in a subroutine of carlfw_store(). + * + * This tools serves as a skeleton/example. + */ + err = carlfw_store(fw); + if (err) { + fprintf(stderr, "Failed to apply checksum (%d).\n", err); + goto out; + } + +out: + switch (err) { + case 0: + fprintf(stdout, "checksum applied.\n"); + break; + case -EINVAL: + checksum_help(); + break; + default: + break; + } + + carlfw_release(fw); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/carl9170fw/tools/src/eeprom_fix.c b/carl9170fw/tools/src/eeprom_fix.c new file mode 100644 index 0000000..088510e --- /dev/null +++ b/carl9170fw/tools/src/eeprom_fix.c @@ -0,0 +1,326 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "carlfw.h" + +#include "compiler.h" + +static int get_val(char *str, unsigned int *val) +{ + int err; + + err = sscanf(str, "%8x", val); + if (err != 1) + return -EINVAL; + + return 0; +} + +static int get_addr(char *str, unsigned int *val) +{ + int err; + + err = get_val(str, val); + if (*val & 3) { + fprintf(stderr, "Address 0x%.8x is not a multiple of 4.\n", + *val); + + return -EINVAL; + } + + return err; +} + +static int +new_fix_entry(struct carlfw *fw, struct carl9170fw_fix_entry *fix_entry) +{ + struct carl9170fw_fix_desc *fix; + unsigned int len; + + len = sizeof(*fix) + sizeof(*fix_entry); + fix = malloc(len); + if (!fix) + return -ENOMEM; + + carl9170fw_fill_desc(&fix->head, (uint8_t *) FIX_MAGIC, + cpu_to_le16(len), + CARL9170FW_FIX_DESC_MIN_VER, + CARL9170FW_FIX_DESC_CUR_VER); + + memcpy(&fix->data[0], fix_entry, sizeof(*fix_entry)); + + return carlfw_desc_add_tail(fw, &fix->head); +} + +static struct carl9170fw_fix_entry * +scan_for_similar_fix(struct carl9170fw_fix_desc *fix, __le32 address) +{ + unsigned int i, entries; + + entries = (le16_to_cpu(fix->head.length) - sizeof(*fix)) / + sizeof(struct carl9170fw_fix_entry); + + for (i = 0; i < entries; i++) { + if (address == fix->data[i].address) + return &fix->data[i]; + } + + return NULL; +} + +static int +add_another_fix_entry(struct carlfw *fw, struct carl9170fw_fix_desc *fix, + struct carl9170fw_fix_entry *fix_entry) +{ + unsigned int entry; + + fix = carlfw_desc_mod_len(fw, &fix->head, sizeof(*fix_entry)); + if (IS_ERR_OR_NULL(fix)) + return (int) PTR_ERR(fix); + + entry = (le16_to_cpu(fix->head.length) - sizeof(*fix)) / + sizeof(*fix_entry) - 1; + + memcpy(&fix->data[entry], fix_entry, sizeof(*fix_entry)); + return 0; +} + +static int +update_entry(char option, struct carl9170fw_fix_entry *entry, + struct carl9170fw_fix_entry *fix) +{ + switch (option) { + case '=': + entry->mask = fix->mask; + entry->value = fix->value; + break; + + case 'O': + entry->mask |= fix->mask; + entry->value |= fix->value; + break; + + case 'A': + entry->mask &= fix->mask; + entry->value &= fix->value; + break; + + default: + fprintf(stderr, "Unknown option: '%c'\n", option); + return -EINVAL; + } + + return 0; +} + +static void user_education(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, "\teeprom_fix FW-FILE SWITCH [ADDRESS [VALUE MASK]]\n"); + + fprintf(stderr, "\nDescription:\n"); + fprintf(stderr, "\tThis utility manage a set of overrides which " + "commands the driver\n\tto load customized EEPROM' " + "data for all specified addresses.\n"); + + fprintf(stderr, "\nParameters:\n"); + fprintf(stderr, "\t'FW-FILE' = firmware file [basename]\n"); + fprintf(stderr, "\t'SWITCH' = [=|d|D]\n"); + fprintf(stderr, "\t | '=' => add/set value for address\n"); + fprintf(stderr, "\t | 'D' => removes all EEPROM overrides\n"); + fprintf(stderr, "\t * 'd' => removed override for 'address'\n"); + fprintf(stderr, "\n\t'ADDRESS' = location of the EEPROM override\n"); + fprintf(stderr, "\t\t NB: must be a multiple of 4.\n"); + fprintf(stderr, "\t\t an address map can be found in eeprom.h.\n"); + fprintf(stderr, "\n\t'VALUE' = replacement value\n"); + fprintf(stderr, "\t'MASK' = mask for the value placement.\n\n"); + + exit(EXIT_FAILURE); +} + +static int +set_fix(struct carlfw *fw, struct carl9170fw_fix_desc *fix, + char __unused option, int __unused argc, char *args[]) +{ + struct carl9170fw_fix_entry fix_entry, *entry = NULL; + unsigned int address, value, mask; + int err; + + err = get_addr(args[3], &address); + if (err) + return err; + + err = get_val(args[4], &value); + if (err) + return err; + + err = get_val(args[5], &mask); + if (err) + return err; + + fix_entry.address = cpu_to_le32(address); + fix_entry.value = cpu_to_le32(value); + fix_entry.mask = cpu_to_le32(mask); + + if (!fix) { + err = new_fix_entry(fw, &fix_entry); + } else { + entry = scan_for_similar_fix(fix, fix_entry.address); + if (entry) { + err = update_entry(option, entry, &fix_entry); + if (err) + fprintf(stdout, "Overwrite old entry.\n"); + } else { + err = add_another_fix_entry(fw, fix, &fix_entry); + } + } + + return err; +} + +static int +del_fix(struct carlfw *fw, struct carl9170fw_fix_desc *fix, + char __unused option, int __unused argc, char *args[]) +{ + struct carl9170fw_fix_entry *entry = NULL; + unsigned int address; + unsigned long off; + unsigned int rem_len; + int err; + + err = get_addr(args[3], &address); + if (err) + return err; + + if (fix) + entry = scan_for_similar_fix(fix, cpu_to_le32(address)); + + if (!entry) { + fprintf(stderr, "Entry for 0x%.8x not found\n", address); + return -EINVAL; + } + + off = (unsigned long) entry - (unsigned long) fix->data; + rem_len = le16_to_cpu(fix->head.length) - off; + + if (rem_len) { + unsigned long cont; + cont = (unsigned long) entry + sizeof(*entry); + memmove(entry, (void *)cont, rem_len); + } + + fix = carlfw_desc_mod_len(fw, &fix->head, -sizeof(*entry)); + err = IS_ERR_OR_NULL(fix); + return err; +} + +static int del_all(struct carlfw *fw, struct carl9170fw_fix_desc *fix, + char __unused option, int __unused argc, char __unused *args[]) +{ + if (!fix) + return 0; + + carlfw_desc_del(fw, &fix->head); + return 0; +} + +static const struct { + char option; + int argc; + int (*func)(struct carlfw *, struct carl9170fw_fix_desc *, + char, int, char **); +} programm_function[] = { + { '=', 6, set_fix }, + { 'O', 6, set_fix }, + { 'A', 6, set_fix }, + { 'd', 4, del_fix }, + { 'D', 3, del_all }, +}; + +int main(int argc, char *args[]) +{ + struct carl9170fw_fix_desc *fix; + struct carlfw *fw = NULL; + unsigned int i; + int err = 0; + char option; + + if (argc < 3 || argc > 6) { + err = -EINVAL; + goto out; + } + + fw = carlfw_load(args[1]); + if (IS_ERR_OR_NULL(fw)) { + err = PTR_ERR(fw); + fprintf(stderr, "Failed to open file \"%s\" (%d).\n", + args[1], err); + goto out; + } + + fix = carlfw_find_desc(fw, (uint8_t *)FIX_MAGIC, sizeof(*fix), + CARL9170FW_FIX_DESC_CUR_VER); + + option = args[2][0]; + for (i = 0; i < ARRAY_SIZE(programm_function); i++) { + if (programm_function[i].option != option) + continue; + + if (argc != programm_function[i].argc) { + err = -EINVAL; + goto out; + } + + err = programm_function[i].func(fw, fix, option, argc, args); + if (err) + goto out; + + break; + } + if (i == ARRAY_SIZE(programm_function)) { + fprintf(stderr, "Unknown option: '%c'\n", + args[2][0]); + goto out; + } + + err = carlfw_store(fw); + if (err) { + fprintf(stderr, "Failed to apply changes (%d).\n", err); + goto out; + } + +out: + carlfw_release(fw); + + if (err) { + if (err == -EINVAL) + user_education(); + else + fprintf(stderr, "%s\n", strerror(err)); + } + + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/carl9170fw/tools/src/fwinfo.c b/carl9170fw/tools/src/fwinfo.c new file mode 100644 index 0000000..0d5cd09 --- /dev/null +++ b/carl9170fw/tools/src/fwinfo.c @@ -0,0 +1,331 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "carlfw.h" + +#include "fwcmd.h" +#include "compiler.h" + +struct feature_list { + unsigned int id; + char name[64]; + void (*func)(const struct carl9170fw_desc_head *, struct carlfw *fw); +}; + +#define CHECK_FOR_FEATURE(feature_enum) \ + { .id = feature_enum, .name = #feature_enum, .func = NULL } + +#define CHECK_FOR_FEATURE_FUNC(feature_enum, _func) \ + { .id = feature_enum, .name = #feature_enum, .func = _func } + +static void show_miniboot_info(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_otus_desc *otus = (const void *) head; + + fprintf(stdout, "\t\t\tminiboot size: %d Bytes\n", otus->miniboot_size); +} + +static const struct feature_list known_otus_features_v1[] = { + CHECK_FOR_FEATURE(CARL9170FW_DUMMY_FEATURE), + CHECK_FOR_FEATURE_FUNC(CARL9170FW_MINIBOOT, show_miniboot_info), + CHECK_FOR_FEATURE(CARL9170FW_USB_INIT_FIRMWARE), + CHECK_FOR_FEATURE(CARL9170FW_USB_RESP_EP2), + CHECK_FOR_FEATURE(CARL9170FW_USB_DOWN_STREAM), + CHECK_FOR_FEATURE(CARL9170FW_USB_UP_STREAM), + CHECK_FOR_FEATURE(CARL9170FW_UNUSABLE), + CHECK_FOR_FEATURE(CARL9170FW_COMMAND_PHY), + CHECK_FOR_FEATURE(CARL9170FW_COMMAND_CAM), + CHECK_FOR_FEATURE(CARL9170FW_WLANTX_CAB), + CHECK_FOR_FEATURE(CARL9170FW_HANDLE_BACK_REQ), + CHECK_FOR_FEATURE(CARL9170FW_GPIO_INTERRUPT), + CHECK_FOR_FEATURE(CARL9170FW_PSM), + CHECK_FOR_FEATURE(CARL9170FW_RX_FILTER), + CHECK_FOR_FEATURE(CARL9170FW_WOL), + CHECK_FOR_FEATURE(CARL9170FW_FIXED_5GHZ_PSM), + CHECK_FOR_FEATURE(CARL9170FW_HW_COUNTERS), + CHECK_FOR_FEATURE(CARL9170FW_RX_BA_FILTER), +}; + +static void check_feature_list(const struct carl9170fw_desc_head *head, + const __le32 bitmap, + const struct feature_list *list, + const unsigned int entries, + struct carlfw *fw) +{ + unsigned int i; + + for (i = 0; i < entries; i++) { + if (!carl9170fw_supports(bitmap, list[i].id)) + continue; + + fprintf(stdout, "\t\t%2d = %s\n", list[i].id, list[i].name); + if (list[i].func) + list[i].func(head, fw); + } +} + +static void show_otus_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw) +{ + const struct carl9170fw_otus_desc *otus = (const void *) head; + + BUILD_BUG_ON(ARRAY_SIZE(known_otus_features_v1) != __CARL9170FW_FEATURE_NUM); + + fprintf(stdout, "\tFirmware upload pointer: 0x%x\n", + otus->fw_address); + fprintf(stdout, "\tBeacon Address: %x, (reserved:%d Bytes)\n", + le32_to_cpu(otus->bcn_addr), le16_to_cpu(otus->bcn_len)); + fprintf(stdout, "\tTX DMA chunk size:%d Bytes, TX DMA chunks:%d\n", + otus->tx_frag_len, otus->tx_descs); + fprintf(stdout, "\t=> %d Bytes are reserved for the TX queues\n", + otus->tx_frag_len * otus->tx_descs); + fprintf(stdout, "\tCommand response buffers:%d\n", otus->cmd_bufs); + fprintf(stdout, "\tMax. RX stream block size:%d Bytes\n", + otus->rx_max_frame_len); + fprintf(stdout, "\tSupported Firmware Interfaces: %d\n", otus->vif_num); + fprintf(stdout, "\tFirmware API Version: %d\n", otus->api_ver); + fprintf(stdout, "\tSupported Features: (raw:%.08x)\n", + le32_to_cpu(otus->feature_set)); + + check_feature_list(head, otus->feature_set, known_otus_features_v1, + ARRAY_SIZE(known_otus_features_v1), fw); +} + +static void show_motd_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_motd_desc *motd = (const void *) head; + char buf[CARL9170FW_MOTD_STRING_LEN]; + unsigned int fw_date; + + fw_date = motd->fw_year_month_day; + fprintf(stdout, "\tFirmware Build Date (YYYY-MM-DD): 2%03d-%02d-%02d\n", + CARL9170FW_GET_YEAR(fw_date), CARL9170FW_GET_MONTH(fw_date), + CARL9170FW_GET_DAY(fw_date)); + + strncpy(buf, motd->desc, CARL9170FW_MOTD_STRING_LEN); + fprintf(stdout, "\tFirmware Text:\"%s\"\n", buf); + + strncpy(buf, motd->release, CARL9170FW_MOTD_STRING_LEN); + fprintf(stdout, "\tFirmware Release:\"%s\"\n", buf); +} + +static void show_fix_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_fix_desc *fix = (const void *) head; + const struct carl9170fw_fix_entry *iter; + unsigned int i; + + for (i = 0; i < (head->length - sizeof(*head)) / sizeof(*iter); i++) { + iter = &fix->data[i]; + fprintf(stdout, "\t\t%d: 0x%.8x := 0x%.8x (0x%.8x)\n", i, + le32_to_cpu(iter->address), le32_to_cpu(iter->value), + le32_to_cpu(iter->mask)); + } +} + +static void show_dbg_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_dbg_desc *dbg = (const void *) head; + +#define DBG_ADDR(_name, _reg) do { \ + unsigned int __tmp = le32_to_cpu(dbg->_reg); \ + if (__tmp) \ + fprintf(stdout, "\t\t" _name " = 0x%.8x\n", __tmp); \ + } while (0); + + fprintf(stdout, "\tFirmware Debug Registers/Counters\n"); + DBG_ADDR("bogoclock ", bogoclock_addr); + DBG_ADDR("counter ", counter_addr); + DBG_ADDR("rx total ", rx_total_addr); + DBG_ADDR("rx overrun ", rx_overrun_addr); + DBG_ADDR("rx filer ", rx_filter); +} + +static void show_txsq_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_txsq_desc *txsq = (const void *) head; + + fprintf(stdout, "\t\ttx-seq table addr: 0x%x\n", + le32_to_cpu(txsq->seq_table_addr)); +} + + +static const struct feature_list wol_triggers_v1[] = { + CHECK_FOR_FEATURE(CARL9170_WOL_DISCONNECT), + CHECK_FOR_FEATURE(CARL9170_WOL_MAGIC_PKT), +}; + +static void show_wol_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_wol_desc *wol = (const void *) head; + + fprintf(stdout, "\tSupported WOWLAN triggers: (raw:%.08x)\n", + le32_to_cpu(wol->supported_triggers)); + + check_feature_list(head, wol->supported_triggers, wol_triggers_v1, + ARRAY_SIZE(wol_triggers_v1), fw); +} + +static void show_chk_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) +{ + const struct carl9170fw_chk_desc *chk = (const void *) head; + + fprintf(stdout, "\tFirmware Descriptor CRC32: %08x\n", + le32_to_cpu(chk->hdr_crc32)); + fprintf(stdout, "\tFirmware Image CRC32: %08x\n", + le32_to_cpu(chk->fw_crc32)); +} + +static void show_last_desc(const struct carl9170fw_desc_head *head, + struct carlfw *fw __unused) + +{ + const struct carl9170fw_last_desc *last __unused = (const void *) head; + + /* Nothing here */ +} + +#define ADD_HANDLER(_magic, _func) \ + { \ + .magic = _magic##_MAGIC, \ + .min_ver = CARL9170FW_## _magic##_DESC_CUR_VER, \ + .func = _func, \ + .size = CARL9170FW_## _magic##_DESC_SIZE, \ + } + +static const struct { + uint8_t magic[4]; + uint8_t min_ver; + void (*func)(const struct carl9170fw_desc_head *, struct carlfw *); + uint16_t size; +} known_magics[] = { + ADD_HANDLER(OTUS, show_otus_desc), + ADD_HANDLER(TXSQ, show_txsq_desc), + ADD_HANDLER(MOTD, show_motd_desc), + ADD_HANDLER(DBG, show_dbg_desc), + ADD_HANDLER(FIX, show_fix_desc), + ADD_HANDLER(CHK, show_chk_desc), + ADD_HANDLER(WOL, show_wol_desc), + ADD_HANDLER(LAST, show_last_desc), +}; + +static const uint8_t otus_magic[4] = { OTUS_MAGIC }; + +static void show_desc_head(struct carl9170fw_desc_head *head) +{ +#define P(c) (isprint(c) ? c : ' ') + + fprintf(stdout, ">\t%c%c%c%c Descriptor: size:%d, compatible:%d, " + "version:%d\n", + P(head->magic[0]), P(head->magic[1]), P(head->magic[2]), + P(head->magic[3]), le16_to_cpu(head->length), head->min_ver, + head->cur_ver); +} + +static void fwinfo_info(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, "\tfwinfo FW-FILE\n"); + + fprintf(stderr, "\nDescription:\n"); + fprintf(stderr, "\tDisplay firmware descriptors information in " + "a human readable form.\n"); + + fprintf(stderr, "\nParameteres:\n"); + fprintf(stderr, "\t 'FW-FILE' = firmware file/base-name\n\n"); +} + +int main(int argc, char *args[]) +{ + struct carlfw *fw = NULL; + struct carl9170fw_desc_head *fw_desc; + unsigned int i; + int err = 0; + size_t len; + + if (argc != 2) { + err = -EINVAL; + goto out; + } + + fw = carlfw_load(args[1]); + if (IS_ERR_OR_NULL(fw)) { + err = PTR_ERR(fw); + fprintf(stderr, "Failed to open firmware \"%s\" (%d).\n", + args[1], err); + goto out; + } + + carlfw_get_fw(fw, &len); + fprintf(stdout, "General Firmware Statistics:\n"); + fprintf(stdout, "\tFirmware file size: %u Bytes\n", (unsigned int)len); + fprintf(stdout, "\t%d Descriptors in %d Bytes\n", + carlfw_get_descs_num(fw), carlfw_get_descs_size(fw)); + + fw_desc = NULL; + fprintf(stdout, "\nDetailed Descriptor Description:\n"); + while ((fw_desc = carlfw_desc_next(fw, fw_desc))) { + show_desc_head(fw_desc); + + for (i = 0; i < ARRAY_SIZE(known_magics); i++) { + if (carl9170fw_desc_cmp(fw_desc, known_magics[i].magic, + known_magics[i].size, known_magics[i].min_ver)) { + known_magics[i].func(fw_desc, fw); + break; + } + } + + if (i == ARRAY_SIZE(known_magics)) + fprintf(stderr, "Unknown Descriptor.\n"); + + fprintf(stdout, "\n"); + } + +out: + switch (err) { + case 0: + break; + + case -EINVAL: + fwinfo_info(); + break; + + default: + fprintf(stderr, "%s\n", strerror(-err)); + break; + } + + carlfw_release(fw); + return err ? EXIT_FAILURE : EXIT_SUCCESS; +} diff --git a/carl9170fw/tools/src/miniboot.c b/carl9170fw/tools/src/miniboot.c new file mode 100644 index 0000000..509d82d --- /dev/null +++ b/carl9170fw/tools/src/miniboot.c @@ -0,0 +1,200 @@ +/* + * Copyright 2010-2011 Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "carlfw.h" + +#include "compiler.h" + +static void mini_help(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, "\tminiboot ACTION FW-FILE [MB-FILE]\n"); + + fprintf(stderr, "\nDescription:\n"); + fprintf(stderr, "\tFirmware concatenation utility.\n"); + + fprintf(stderr, "\nParameteres:\n"); + fprintf(stderr, "\t'ACTION' = [a|d]\n"); + fprintf(stderr, "\t | 'a' = Add miniboot firmware.\n"); + fprintf(stderr, "\t * 'd' = remove miniboot firmware.\n"); + fprintf(stderr, "\t'FW-FILE' = destination for the package.\n"); + fprintf(stderr, "\t'MB-FILE' = extra firmware image.\n"); +} + +static int add_mini(struct carlfw *fw, const char *mini) +{ + struct stat file_stat; + struct carl9170fw_otus_desc *otus_desc = NULL; + FILE *m = NULL; + char *buf = NULL; + size_t extra; + int err; + + m = fopen(mini, "r"); + if (m == NULL) { + fprintf(stderr, "Failed to open file %s (%d).\n", + mini, errno); + err = -errno; + goto fail; + } + + err = fstat(fileno(m), &file_stat); + if (err) { + fprintf(stderr, "Failed to query file infos from " + "\"%s\" (%d).\n", mini, errno); + err = -errno; + goto fail; + } + extra = file_stat.st_size; + + otus_desc = carlfw_find_desc(fw, (uint8_t *) OTUS_MAGIC, + sizeof(*otus_desc), + CARL9170FW_OTUS_DESC_CUR_VER); + if (!otus_desc) { + fprintf(stderr, "No OTUS descriptor found\n"); + goto fail; + } + + if (carl9170fw_supports(otus_desc->feature_set, CARL9170FW_MINIBOOT)) { + fprintf(stderr, "Firmware has already a miniboot image.\n"); + goto fail; + } + + otus_desc->feature_set |= cpu_to_le32(BIT(CARL9170FW_MINIBOOT)); + otus_desc->miniboot_size = cpu_to_le16(extra); + + buf = carlfw_mod_headroom(fw, extra); + if (IS_ERR_OR_NULL(buf)) { + fprintf(stderr, "Unable to add miniboot image.\n"); + goto fail; + } + + err = fread(buf, extra, 1, m); + if (err != 1) { + fprintf(stderr, "Unable to load miniboot.\n"); + goto fail; + } + + carlfw_store(fw); + fclose(m); + + return 0; + +fail: + if (m) + fclose(m); + + return err; +} + +static int del_mini(struct carlfw *fw) +{ + struct carl9170fw_otus_desc *otus_desc = NULL; + void *buf; + int cut; + + otus_desc = carlfw_find_desc(fw, (uint8_t *) OTUS_MAGIC, + sizeof(*otus_desc), + CARL9170FW_OTUS_DESC_CUR_VER); + if (!otus_desc) { + fprintf(stderr, "Firmware is not for USB devices.\n"); + return -ENODATA; + } + + if (!carl9170fw_supports(otus_desc->feature_set, CARL9170FW_MINIBOOT)) { + fprintf(stderr, "Firmware has no miniboot image.\n"); + return -EINVAL; + } + + cut = le16_to_cpu(otus_desc->miniboot_size); + + buf = carlfw_mod_headroom(fw, -cut); + if (IS_ERR_OR_NULL(buf)) { + fprintf(stderr, "Unable to remove miniboot.\n"); + return PTR_ERR(buf); + } + + otus_desc->feature_set &= cpu_to_le32(~BIT(CARL9170FW_MINIBOOT)); + otus_desc->miniboot_size = cpu_to_le16(0); + + carlfw_store(fw); + return 0; +} + +int main(int argc, char *args[]) +{ + struct carlfw *fw = NULL; + int err; + + if (argc < 3 || argc > 4) { + err = -EINVAL; + goto err_param; + } + + switch (args[1][0]) { + case 'a': + if (argc != 4) + goto err_param; + + fw = carlfw_load(args[2]); + if (IS_ERR_OR_NULL(fw)) { + err = PTR_ERR(fw); + goto err_out; + } + + err = add_mini(fw, args[3]); + break; + case 'd': + if (argc != 3) + goto err_param; + + fw = carlfw_load(args[2]); + if (IS_ERR_OR_NULL(fw)) { + err = PTR_ERR(fw); + goto err_out; + } + + err = del_mini(fw); + break; + + default: + goto err_param; + break; + } + + carlfw_release(fw); + return EXIT_SUCCESS; + +err_out: + carlfw_release(fw); + fprintf(stderr, "miniboot action failed (%d).\n", err); + return EXIT_FAILURE; + +err_param: + carlfw_release(fw); + mini_help(); + return EXIT_FAILURE; +} diff --git a/carl9170fw/tools/src/wol.c b/carl9170fw/tools/src/wol.c new file mode 100644 index 0000000..41daba2 --- /dev/null +++ b/carl9170fw/tools/src/wol.c @@ -0,0 +1,209 @@ +/* + * Copyright 2011, Christian Lamparter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include /* ETH_P_ALL */ +#include /* sockaddr_ll */ +#include /* IFNAMSIZ */ + +static int monitor_init(const char *ifname) +{ + struct sockaddr_ll ll; + int monitor_sock; + + memset(&ll, 0, sizeof(ll)); + ll.sll_family = AF_PACKET; + ll.sll_ifindex = if_nametoindex(ifname); + if (ll.sll_ifindex == 0) { + fprintf(stderr, "Monitor interface '%s' does not exist\n", ifname); + return -1; + } + + monitor_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); + if (monitor_sock < 0) { + fprintf(stderr, "socket(PF_PACKET,SOCK_RAW): %s\n", strerror(errno)); + return -1; + } + + if (bind(monitor_sock, (struct sockaddr *) &ll, sizeof(ll)) < 0) { + fprintf(stderr, "bind(PACKET): %s\n", strerror(errno)); + close(monitor_sock); + return -1; + } + + return monitor_sock; +} + +static int inject_frame(int s, const void *data, size_t len) +{ +#define IEEE80211_RADIOTAP_F_FRAG 0x08 + unsigned char rtap_hdr[] = { + 0x00, 0x00, /* radiotap version */ + 0x0e, 0x00, /* radiotap length */ + 0x02, 0xc0, 0x00, 0x00, /* bmap: flags, tx and rx flags */ + IEEE80211_RADIOTAP_F_FRAG, /* F_FRAG (fragment if required) */ + 0x00, /* padding */ + 0x00, 0x00, /* RX and TX flags to indicate that */ + 0x00, 0x00, /* this is the injected frame directly */ + }; + struct iovec iov[2] = { + { + .iov_base = &rtap_hdr, + .iov_len = sizeof(rtap_hdr), + }, + { + .iov_base = (void *) data, + .iov_len = len, + } + }; + struct msghdr msg = { + .msg_name = NULL, + .msg_namelen = 0, + .msg_iov = iov, + .msg_iovlen = 2, + .msg_control = NULL, + .msg_controllen = 0, + .msg_flags = 0, + }; + int ret; + + ret = sendmsg(s, &msg, 0); + if (ret < 0) + perror("sendmsg"); + return ret; +} + +static unsigned char wol_magic_tmpl[30 + 6 + 16 * 6] = { + 0x08, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* RA */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* TA */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* SA */ + 0x00, 0x00, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +}; + +static void prepare_wol(unsigned char *wol_magic, unsigned char *mac) +{ + int i; + + for (i = 0; i < 16; i++) + memcpy(&wol_magic[30 + i * 6], mac, 6); +} + +void usage(void) +{ + fprintf(stderr, "Usage:\n"); + fprintf(stderr, "\twol -i monitor_dev -m DE:VI:CE:MA:CW:OL -n #num -v\n"); + + fprintf(stderr, "\nDescription:\n"); + fprintf(stderr, "\tThis utility generates a WOL packet for the" + "given [MAC] address and tries to injects" + "it into [monitor_dev]\n"); + + exit(EXIT_FAILURE); +} + +#define MAC_STR "%2X:%2X:%2X:%2X:%2X:%2X" + +#define M(a, i) ((unsigned int *)&a[i]) +#define MAC_ARG(a) M(a, 0), M(a, 1), M(a, 2), M(a, 3), M(a, 4), M(a, 5) + +#define M2(a, i) (a[i]) +#define MAC_ARG2(a) M2(a, 0), M2(a, 1), M2(a, 2), M2(a, 3), M2(a, 4), M2(a, 5) + +int main(int argc, char **args) +{ + int sock, err = 0, opt, num = 10; + unsigned char mac[ETH_ALEN]; + char dev_name[IFNAMSIZ + 1] = { 0 }; + bool has_mac = false, has_dev = false, verbose = false; + + while ((opt = getopt(argc, args, "m:i:n:v")) != -EXIT_FAILURE) { + switch (opt) { + case 'i': + has_dev = true; + strncpy(dev_name, optarg, IFNAMSIZ); + break; + case 'm': + has_mac = true; + err = sscanf(optarg, MAC_STR, MAC_ARG(mac)) != 6; + if (err) + fprintf(stderr, "invalid MAC: \"%s\"\n", optarg); + break; + + case 'n': + err = sscanf(optarg, "%d", &num) != 1; + err |= num < 1 | num > 1000; + if (err) + fprintf(stderr, "invalid tries: \"%s\"\n", optarg); + break; + + case 'v': + verbose = true; + break; + + default: + err = -EINVAL; + break; + } + + if (err) + break; + } + + if (!has_mac || !has_dev || err) + usage(); + + if (verbose) + fprintf(stdout, "Opening monitor injection interface [%s].\n", dev_name); + + sock = monitor_init(dev_name); + if (sock < 0) + return EXIT_FAILURE; + + if (verbose) + fprintf(stdout, "Generating %d WOL packet for ["MAC_STR"].\n", num, MAC_ARG2(mac)); + + prepare_wol(wol_magic_tmpl, mac); + + while (num--) { + err = inject_frame(sock, wol_magic_tmpl, sizeof(wol_magic_tmpl)); + if (err < 0) { + fprintf(stderr, "failed to send WOL packet.\n"); + break; + } else if (verbose) { + fprintf(stdout, "WOL packet sent.\n"); + } + } + + close(sock); + if (err < 0) + return EXIT_FAILURE; + + return 0; +} diff --git a/cavium/cnn55xx_ae.fw b/cavium/cnn55xx_ae.fw new file mode 100644 index 0000000..95fc76f Binary files /dev/null and b/cavium/cnn55xx_ae.fw differ diff --git a/cavium/cnn55xx_se.fw b/cavium/cnn55xx_se.fw new file mode 100644 index 0000000..bc3c4d0 Binary files /dev/null and b/cavium/cnn55xx_se.fw differ diff --git a/cbfw-3.2.5.1.bin b/cbfw-3.2.5.1.bin new file mode 100644 index 0000000..4ac4d1e Binary files /dev/null and b/cbfw-3.2.5.1.bin differ diff --git a/check_whence.py b/check_whence.py new file mode 100755 index 0000000..2e6950a --- /dev/null +++ b/check_whence.py @@ -0,0 +1,110 @@ +#!/usr/bin/python3 + +import os, re, sys +from io import open + +def list_whence(): + with open('WHENCE', encoding='utf-8') as whence: + for line in whence: + match = re.match(r'(?:File|Source):\s*"(.*)"', line) + if match: + yield match.group(1) + continue + match = re.match(r'(?:File|Source):\s*(\S*)', line) + if match: + yield match.group(1) + continue + match = re.match(r'Licen[cs]e: (?:.*\bSee (.*) for details\.?|(\S*))\n', + line) + if match: + if match.group(1): + for name in re.split(r', | and ', match.group(1)): + yield name + continue + if match.group(2): + # Just one word - may or may not be a filename + if not re.search(r'unknown|distributable', match.group(2), + re.IGNORECASE): + yield match.group(2) + continue + +def list_whence_files(): + with open('WHENCE', encoding='utf-8') as whence: + for line in whence: + match = re.match(r'File:\s*(.*)', line) + if match: + yield match.group(1).replace("\ ", " ").replace("\"", "") + continue + +def list_links_list(): + with open('WHENCE', encoding='utf-8') as whence: + for line in whence: + match = re.match(r'Link:\s*(.*)', line) + if match: + linkname, target = match.group(1).split("->") + + linkname = linkname.strip().replace("\ ", " ").replace("\"", "") + target = target.strip().replace("\ ", " ").replace("\"", "") + + # Link target is relative to the link + target = os.path.join(os.path.dirname(linkname), target) + target = os.path.normpath(target) + + yield (linkname, target) + continue + +def list_git(): + with os.popen('git ls-files') as git_files: + for line in git_files: + yield line.rstrip('\n') + +def main(): + ret = 0 + whence_list = list(list_whence()) + whence_files = list(list_whence_files()) + links_list = list(list_links_list()) + known_files = set(name for name in whence_list if not name.endswith('/')) | \ + set(['check_whence.py', 'configure', 'Makefile', + 'README', 'copy-firmware.sh', 'WHENCE']) + known_prefixes = set(name for name in whence_list if name.endswith('/')) + git_files = set(list_git()) + + for name in set(name for name in whence_files if name.endswith('/')): + sys.stderr.write('E: %s listed in WHENCE as File, but is directory\n' % + name) + ret = 1 + + for name in set(fw for fw in whence_files if whence_files.count(fw) > 1): + sys.stderr.write('E: %s listed in WHENCE twice\n' % name) + ret = 1 + + for name in set(link for link in whence_files if os.path.islink(link)): + sys.stderr.write('E: %s listed in WHENCE as File, but is a symlink\n' % + name) + ret = 1 + + for name in set(link[0] for link in links_list if os.path.islink(link[0])): + sys.stderr.write('E: %s listed in WHENCE as Link, is in tree\n' % name) + ret = 1 + + for name in sorted(list(known_files - git_files)): + sys.stderr.write('E: %s listed in WHENCE does not exist\n' % name) + ret = 1 + + for name in sorted(list(git_files - known_files)): + # Ignore subdirectory changelogs and GPG detached signatures + if (name.endswith('/ChangeLog') or + (name.endswith('.asc') and name[:-4] in known_files)): + continue + + # Ignore unknown files in known directories + for prefix in known_prefixes: + if name.startswith(prefix): + break + else: + sys.stderr.write('E: %s not listed in WHENCE\n' % name) + ret = 1 + return ret + +if __name__ == '__main__': + sys.exit(main()) diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin new file mode 100644 index 0000000..391865c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c896e-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin new file mode 100644 index 0000000..bf2f574 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c896e-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8971.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8971.bin new file mode 100644 index 0000000..03216ce Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8971.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8972.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8972.bin new file mode 100644 index 0000000..f19995b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8972.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8973.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8973.bin new file mode 100644 index 0000000..3eed79e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8973.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin new file mode 100644 index 0000000..5989e7d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8975-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin new file mode 100644 index 0000000..03e138d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8975-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin new file mode 100644 index 0000000..61eb874 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8981-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin new file mode 100644 index 0000000..3f91e90 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8981-l1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin new file mode 100644 index 0000000..ad09ba7 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8981-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin new file mode 100644 index 0000000..5bae2db Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8981-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin new file mode 100644 index 0000000..926d5d1 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin new file mode 100644 index 0000000..051d479 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c89c3-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin new file mode 100644 index 0000000..9265248 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c89c6-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin new file mode 100644 index 0000000..89a0c42 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c89c6-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin new file mode 100644 index 0000000..3b0f120 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b42.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin new file mode 100644 index 0000000..42cb462 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b43.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin new file mode 100644 index 0000000..dc18530 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b44.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin new file mode 100644 index 0000000..b9e633f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b45.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin new file mode 100644 index 0000000..6c76165 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b47.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin new file mode 100644 index 0000000..e5b9d18 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin new file mode 100644 index 0000000..b3020d6 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-l1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin new file mode 100644 index 0000000..93842b9 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin new file mode 100644 index 0000000..063df39 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b63-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin new file mode 100644 index 0000000..a085a3e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin new file mode 100644 index 0000000..4795970 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b8f-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin b/cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin new file mode 100644 index 0000000..e515877 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-103c8b92.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin new file mode 100644 index 0000000..7ca0907 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin new file mode 100644 index 0000000..2c20fc0 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin new file mode 100644 index 0000000..7ca0907 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin new file mode 100644 index 0000000..2c20fc0 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-104312af-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin new file mode 100644 index 0000000..6adb69c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin new file mode 100644 index 0000000..712bf79 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin new file mode 100644 index 0000000..6adb69c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin new file mode 100644 index 0000000..712bf79 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431a8f-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin new file mode 100644 index 0000000..e51977f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin new file mode 100644 index 0000000..b395078 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin new file mode 100644 index 0000000..4fb2f02 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin new file mode 100644 index 0000000..bf23875 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431b93-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin new file mode 100644 index 0000000..461d694 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin new file mode 100644 index 0000000..a2f10bd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin new file mode 100644 index 0000000..ec2a5f1 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin new file mode 100644 index 0000000..5fa0296 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e02-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin new file mode 100644 index 0000000..613a85f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin new file mode 100644 index 0000000..962ccb8 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin new file mode 100644 index 0000000..6122d2a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin new file mode 100644 index 0000000..e66f298 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431e12-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin new file mode 100644 index 0000000..7b4f7ae Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin new file mode 100644 index 0000000..30e4466 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin new file mode 100644 index 0000000..87690bd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin new file mode 100644 index 0000000..a3258ed Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10431f12-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin new file mode 100644 index 0000000..7932321 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin new file mode 100644 index 0000000..2628b6d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin new file mode 100644 index 0000000..fbe69ef Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin new file mode 100644 index 0000000..eb09b85 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a30-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin new file mode 100644 index 0000000..3bc0d9c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin new file mode 100644 index 0000000..1d43909 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin new file mode 100644 index 0000000..297d1ae Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin new file mode 100644 index 0000000..6d2864b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a50-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin new file mode 100644 index 0000000..6492924 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin new file mode 100644 index 0000000..fdd750c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin new file mode 100644 index 0000000..e372dfd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin new file mode 100644 index 0000000..56b2933 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-10433a60-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin new file mode 100644 index 0000000..48ab2ae Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin new file mode 100644 index 0000000..d7aea4f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa22f1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin new file mode 100644 index 0000000..94b4dc2 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin new file mode 100644 index 0000000..4f9ab2b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa22f2-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin new file mode 100644 index 0000000..f61bad0 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin new file mode 100644 index 0000000..9e37c8c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin new file mode 100644 index 0000000..7c29518 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin new file mode 100644 index 0000000..bfc9277 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa2316-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin new file mode 100644 index 0000000..e409aa7 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin new file mode 100644 index 0000000..8866405 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa3847-spkid1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin new file mode 100644 index 0000000..31b6f65 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin b/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin new file mode 100644 index 0000000..59422ee Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-cali-17aa3855-spkid1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin new file mode 100644 index 0000000..b53389f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c896e-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin new file mode 100644 index 0000000..1c4505a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c896e-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8971.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8971.bin new file mode 100644 index 0000000..88aa16b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8971.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8972.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8972.bin new file mode 100644 index 0000000..6d305e0 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8972.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8973.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8973.bin new file mode 100644 index 0000000..dde145a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8973.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin new file mode 100644 index 0000000..d080f06 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8975-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin new file mode 100644 index 0000000..f456858 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8975-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin new file mode 100644 index 0000000..1738fd0 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8981-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin new file mode 100644 index 0000000..d7a7c4a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8981-l1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin new file mode 100644 index 0000000..45525d1 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8981-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin new file mode 100644 index 0000000..ffd3500 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8981-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin new file mode 100644 index 0000000..c42d9bb Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin new file mode 100644 index 0000000..56e6bc5 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c89c3-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin new file mode 100644 index 0000000..e641aa6 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c89c6-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin new file mode 100644 index 0000000..68eba03 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c89c6-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin new file mode 100644 index 0000000..679d240 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b42.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin new file mode 100644 index 0000000..725443c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b43.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin new file mode 100644 index 0000000..2e7a01d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b44.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin new file mode 100644 index 0000000..d800cc8 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b45.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin new file mode 100644 index 0000000..166c0ce Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b47.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin new file mode 100644 index 0000000..29eab3c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin new file mode 100644 index 0000000..562673d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-l1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin new file mode 100644 index 0000000..468bb2a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin new file mode 100644 index 0000000..5674b34 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b63-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin new file mode 100644 index 0000000..be57dcd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin new file mode 100644 index 0000000..9ea7939 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b8f-r1.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin b/cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin new file mode 100644 index 0000000..4647690 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-103c8b92.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin new file mode 100644 index 0000000..780a391 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin new file mode 100644 index 0000000..baf35bb Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin new file mode 100644 index 0000000..780a391 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin new file mode 100644 index 0000000..baf35bb Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-104312af-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin new file mode 100644 index 0000000..750c1cb Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin new file mode 100644 index 0000000..d52047c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin new file mode 100644 index 0000000..750c1cb Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin new file mode 100644 index 0000000..d52047c Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431a8f-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin new file mode 100644 index 0000000..df16398 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin new file mode 100644 index 0000000..3590b9b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin new file mode 100644 index 0000000..d230042 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin new file mode 100644 index 0000000..2a51121 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431b93-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin new file mode 100644 index 0000000..daf51d8 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin new file mode 100644 index 0000000..5fb969b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin new file mode 100644 index 0000000..d9c2928 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin new file mode 100644 index 0000000..499e4bd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e02-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin new file mode 100644 index 0000000..d47b65f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin new file mode 100644 index 0000000..e1c1b1a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin new file mode 100644 index 0000000..8a2779d Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin new file mode 100644 index 0000000..2d2340a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431e12-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin new file mode 100644 index 0000000..4ff0603 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin new file mode 100644 index 0000000..f38fb2b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin new file mode 100644 index 0000000..59f70fd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin new file mode 100644 index 0000000..b1f94f9 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10431f12-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin new file mode 100644 index 0000000..913c17b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin new file mode 100644 index 0000000..5137006 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin new file mode 100644 index 0000000..6efb260 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin new file mode 100644 index 0000000..330550e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a30-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin new file mode 100644 index 0000000..3826470 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin new file mode 100644 index 0000000..1c1903f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin new file mode 100644 index 0000000..7058171 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin new file mode 100644 index 0000000..560bebe Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a50-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin new file mode 100644 index 0000000..ae7ed32 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin new file mode 100644 index 0000000..6b5753f Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin new file mode 100644 index 0000000..a015595 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin new file mode 100644 index 0000000..9c39150 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-10433a60-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin new file mode 100644 index 0000000..7ec68dd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin new file mode 100644 index 0000000..ba694f5 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa22f1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin new file mode 100644 index 0000000..0b1a666 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin new file mode 100644 index 0000000..b3902b3 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa22f2-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin new file mode 100644 index 0000000..44b0549 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin new file mode 100644 index 0000000..d1b0efd Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin new file mode 100644 index 0000000..4f4f00a Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin new file mode 100644 index 0000000..1f9c35b Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa2316-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin new file mode 100644 index 0000000..3502ba8 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin new file mode 100644 index 0000000..4871d61 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin new file mode 100644 index 0000000..b767b2e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin new file mode 100644 index 0000000..3e856da Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3847-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin new file mode 100644 index 0000000..d3c184e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin new file mode 100644 index 0000000..a8471ec Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid0-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin new file mode 100644 index 0000000..d3c184e Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-l0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin new file mode 100644 index 0000000..a8471ec Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot-17aa3855-spkid1-r0.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot.bin b/cirrus/cs35l41-dsp1-spk-prot.bin new file mode 100644 index 0000000..9097ef8 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot.bin differ diff --git a/cirrus/cs35l41-dsp1-spk-prot.wmfw b/cirrus/cs35l41-dsp1-spk-prot.wmfw new file mode 100644 index 0000000..a888ee2 Binary files /dev/null and b/cirrus/cs35l41-dsp1-spk-prot.wmfw differ diff --git a/cirrus/cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw b/cirrus/cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw new file mode 100644 index 0000000..062af8b Binary files /dev/null and b/cirrus/cs35l41/v6.39.0/halo_cspl_RAM_revB2_29.41.0.wmfw differ diff --git a/cirrus/cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw b/cirrus/cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw new file mode 100644 index 0000000..a250845 Binary files /dev/null and b/cirrus/cs35l41/v6.47.0/halo_cspl_RAM_revB2_29.49.0.wmfw differ diff --git a/cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw b/cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw new file mode 100644 index 0000000..c671a5f Binary files /dev/null and b/cirrus/cs35l41/v6.61.1/halo_cspl_RAM_revB2_29.63.1.wmfw differ diff --git a/cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw b/cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw new file mode 100755 index 0000000..19ed6b0 Binary files /dev/null and b/cirrus/cs35l41/v6.63.0/halo_cspl_RAM_revB2_29.65.0.wmfw differ diff --git a/cis/3CCFEM556.cis b/cis/3CCFEM556.cis new file mode 100644 index 0000000..e950230 Binary files /dev/null and b/cis/3CCFEM556.cis differ diff --git a/cis/3CXEM556.cis b/cis/3CXEM556.cis new file mode 100644 index 0000000..52408ac Binary files /dev/null and b/cis/3CXEM556.cis differ diff --git a/cis/COMpad2.cis b/cis/COMpad2.cis new file mode 100644 index 0000000..daaedd7 Binary files /dev/null and b/cis/COMpad2.cis differ diff --git a/cis/COMpad4.cis b/cis/COMpad4.cis new file mode 100644 index 0000000..9ca6f0a Binary files /dev/null and b/cis/COMpad4.cis differ diff --git a/cis/DP83903.cis b/cis/DP83903.cis new file mode 100644 index 0000000..9755300 Binary files /dev/null and b/cis/DP83903.cis differ diff --git a/cis/LA-PCM.cis b/cis/LA-PCM.cis new file mode 100644 index 0000000..f6f1208 Binary files /dev/null and b/cis/LA-PCM.cis differ diff --git a/cis/MT5634ZLX.cis b/cis/MT5634ZLX.cis new file mode 100644 index 0000000..0d59fa4 Binary files /dev/null and b/cis/MT5634ZLX.cis differ diff --git a/cis/Makefile b/cis/Makefile new file mode 100644 index 0000000..0a222f1 --- /dev/null +++ b/cis/Makefile @@ -0,0 +1,14 @@ +# The pack_cis tool from cis-tools +# . +PACK_CIS = pack_cis + +CIS_SRC := $(wildcard src/*.cis) +CIS_BIN := $(notdir $(CIS_SRC)) + +all: $(CIS_BIN) + +%.cis: src/%.cis + $(PACK_CIS) -o $@ $< + +clean: + rm -f $(CIS_BIN) diff --git a/cis/NE2K.cis b/cis/NE2K.cis new file mode 100644 index 0000000..6dac8c1 Binary files /dev/null and b/cis/NE2K.cis differ diff --git a/cis/PCMLM28.cis b/cis/PCMLM28.cis new file mode 100644 index 0000000..a35d93e Binary files /dev/null and b/cis/PCMLM28.cis differ diff --git a/cis/PE-200.cis b/cis/PE-200.cis new file mode 100644 index 0000000..266e061 Binary files /dev/null and b/cis/PE-200.cis differ diff --git a/cis/PE520.cis b/cis/PE520.cis new file mode 100644 index 0000000..f34fa91 Binary files /dev/null and b/cis/PE520.cis differ diff --git a/cis/RS-COM-2P.cis b/cis/RS-COM-2P.cis new file mode 100644 index 0000000..f258252 Binary files /dev/null and b/cis/RS-COM-2P.cis differ diff --git a/cis/SW_555_SER.cis b/cis/SW_555_SER.cis new file mode 100644 index 0000000..12f474b Binary files /dev/null and b/cis/SW_555_SER.cis differ diff --git a/cis/SW_7xx_SER.cis b/cis/SW_7xx_SER.cis new file mode 100644 index 0000000..fbfc852 Binary files /dev/null and b/cis/SW_7xx_SER.cis differ diff --git a/cis/SW_8xx_SER.cis b/cis/SW_8xx_SER.cis new file mode 100644 index 0000000..18fd613 Binary files /dev/null and b/cis/SW_8xx_SER.cis differ diff --git a/cis/src/3CCFEM556.cis b/cis/src/3CCFEM556.cis new file mode 100644 index 0000000..be627d0 --- /dev/null +++ b/cis/src/3CCFEM556.cis @@ -0,0 +1,22 @@ +# +# This card is MFC-compliant, but identifies itself as single function +# +vers_1 5.0, "3Com", "Megahertz 3CCFEM556", "LAN + 56k Modem" +manfid 0x0101, 0x0556 +funcid 0 + +mfc { + funcid network_adapter + config base 0x1000 mask 0x267 last_index 0x07 + cftable_entry 0x07 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x000f [8bit] [16bit] +}, { + funcid serial_port + config base 0x1100 mask 0x277 last_index 0x27 + cftable_entry 0x27 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x0007 [8bit] +} diff --git a/cis/src/3CXEM556.cis b/cis/src/3CXEM556.cis new file mode 100644 index 0000000..819f08f --- /dev/null +++ b/cis/src/3CXEM556.cis @@ -0,0 +1,22 @@ +# +# This card is MFC-compliant, but identifies itself as single function +# +vers_1 5.0, "3Com", "Megahertz 3CXEM556", "LAN + 56k Modem" +manfid 0x0101, 0x0035 +funcid 0 + +mfc { + funcid network_adapter + config base 0x0800 mask 0x63 last_index 0x07 + cftable_entry 0x07 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x000f [8bit] [16bit] +}, { + funcid serial_port + config base 0x900 mask 0x63 last_index 0x27 + cftable_entry 0x27 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x0007 [8bit] +} diff --git a/cis/src/COMpad2.cis b/cis/src/COMpad2.cis new file mode 100644 index 0000000..bfc2374 --- /dev/null +++ b/cis/src/COMpad2.cis @@ -0,0 +1,20 @@ +# +# Replacement CIS for Advantech COMpad-32/85 +# +dev_info + NULL 0ns, 512b +vers_1 4.1, "ADVANTECH", "COMpad-32/85", "1.0" +funcid serial_port [post] +config base 0x0100 mask 0x0003 last_index 0x05 +cftable_entry 0x01 [default] + [mwait] + io 0x02e8-0x02ef, 0x03e8-0x03ef [lines=10] [8bit] [range] + irq mask 0x9eb8 [level] +cftable_entry 0x02 + io 0x0330-0x033f [lines=10] [8bit] [range] +cftable_entry 0x03 + io 0x0340-0x034f [lines=10] [8bit] [range] +cftable_entry 0x04 + io 0x0350-0x035f [lines=10] [8bit] [range] +cftable_entry 0x05 + io 0x0360-0x036f [lines=10] [8bit] [range] diff --git a/cis/src/COMpad4.cis b/cis/src/COMpad4.cis new file mode 100644 index 0000000..325991c --- /dev/null +++ b/cis/src/COMpad4.cis @@ -0,0 +1,14 @@ +# +# Replacement CIS for Advantech COMpad-32/85B-4 +# +dev_info + NULL 0ns, 512b +vers_1 4.1, "ADVANTECH", "COMpad-32/85B-4" +funcid serial_port [post] +config base 0x0100 mask 0x0001 last_index 0x02 +cftable_entry 0x01 [default] + [mwait] + io 0x0240-0x025f [lines=10] [8bit] [range] + irq mask 0x9eb8 [level] +cftable_entry 0x02 + io 0x0340-0x035f [lines=10] [8bit] [range] diff --git a/cis/src/DP83903.cis b/cis/src/DP83903.cis new file mode 100644 index 0000000..ce86f45 --- /dev/null +++ b/cis/src/DP83903.cis @@ -0,0 +1,24 @@ +# +# This CIS is for cards based on the National Semiconductor +# DP83903 Multiple Function Interface Chip +# +vers_1 4.1, "Multifunction Card", "", "", "NSC MF LAN/Modem" +manfid 0x0175, 0x0000 +funcid 0 + +mfc { + funcid network_adapter + config base 0x1020 mask 0x277 last_index 0x17 + cftable_entry 0x17 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x001f [8bit] [16bit] + memory 0x0000-0x3fff @ 0x0000 +}, { + funcid serial_port + config base 0x1040 mask 0x0277 last_index 0x07 + cftable_entry 0x07 + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x0007 [8bit] +} diff --git a/cis/src/LA-PCM.cis b/cis/src/LA-PCM.cis new file mode 100644 index 0000000..5c427bd --- /dev/null +++ b/cis/src/LA-PCM.cis @@ -0,0 +1,44 @@ +# +# Replacement CIS for Allied Telesis LA-PCM +# +dev_info + fn_specific 100ns, 64kb + FLASH 150ns, 60kb +attr_dev_info + FLASH 150ns, 4kb +manfid 0xc00f, 0x0002 +funcid network_adapter [post] [rom] +vers_1 4.1, "Allied Telesis,K.K", "Ethernet LAN Card", "CentreCOM", "LA-PCM" +config base 0x20000 mask 0x000b last_index 0x10 +cftable_entry 0x01 + io 0x0200-0x021f [8bit] [16bit] +cftable_entry 0x02 + io 0x0220-0x023f [8bit] [16bit] +cftable_entry 0x03 + io 0x0240-0x025f [8bit] [16bit] +cftable_entry 0x04 + io 0x0260-0x027f [8bit] [16bit] +cftable_entry 0x05 + io 0x0280-0x029f [8bit] [16bit] +cftable_entry 0x06 + io 0x02a0-0x02bf [8bit] [16bit] +cftable_entry 0x07 + io 0x02c0-0x02df [8bit] [16bit] +cftable_entry 0x08 + io 0x02e0-0x02ff [8bit] [16bit] +cftable_entry 0x09 + io 0x0300-0x031f [8bit] [16bit] +cftable_entry 0x0a + io 0x0320-0x033f [8bit] [16bit] +cftable_entry 0x0b + io 0x0340-0x035f [8bit] [16bit] +cftable_entry 0x0c + io 0x0360-0x037f [8bit] [16bit] +cftable_entry 0x0d + io 0x0380-0x039f [8bit] [16bit] +cftable_entry 0x0e + io 0x03a0-0x03bf [8bit] [16bit] +cftable_entry 0x0f + io 0x03c0-0x03df [8bit] [16bit] +cftable_entry 0x10 + io 0x03e0-0x03ff [8bit] [16bit] diff --git a/cis/src/MT5634ZLX.cis b/cis/src/MT5634ZLX.cis new file mode 100644 index 0000000..52249b3 --- /dev/null +++ b/cis/src/MT5634ZLX.cis @@ -0,0 +1,18 @@ +# +# Replacement CIS for Multitech MT5634ZLX modems +# +dev_info no_info +vers_1 4.1, "MultiTech", "PCMCIA 56K DataFax" +manfid 0x0200, 0x0001 +funcid serial_port +config base 0xff80 mask 0x0067 last_index 0x27 +cftable_entry 0x0f [default] + [rdybsy] [audio] [pwrdown] + Vcc Vnom 5V Vpp1 Vnom 5V Vpp2 Vnom 5V + io 0x03f8-0x03ff [lines=10] [8bit] +cftable_entry 0x17 + io 0x02f8-0x02ff [lines=10] [8bit] +cftable_entry 0x1f + io 0x03e8-0x03ef [lines=10] [8bit] +cftable_entry 0x27 + io 0x02e8-0x02ef [lines=10] [8bit] diff --git a/cis/src/NE2K.cis b/cis/src/NE2K.cis new file mode 100644 index 0000000..d1d47f3 --- /dev/null +++ b/cis/src/NE2K.cis @@ -0,0 +1,10 @@ +# +# Replacement CIS for various busted NE2000-compatible cards +# +vers_1 4.1, "PCMCIA", "Ethernet" +funcid network_adapter +config base 0x03f8 mask 0x03 last_index 0x20 +cftable_entry 0x20 [default] + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x001f [8bit] [16bit] diff --git a/cis/src/PCMLM28.cis b/cis/src/PCMLM28.cis new file mode 100644 index 0000000..39c6d16 --- /dev/null +++ b/cis/src/PCMLM28.cis @@ -0,0 +1,37 @@ +# +# The on-card CIS says it is MFC-compliant, but it is not +# +vers_1 4.1, "LINKSYS", "PCMLM28" +manfid 0x0143, 0xc0ab +funcid 0 +config base 0x03f8 mask 0x03 last_index 0x2f + +cftable_entry 0x24 [default] + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0300-0x031f, 0x02f8-0x02ff [8bit] [16bit] + +cftable_entry 0x25 + io 0x0320-0x033f, 0x02f8-0x02ff [8bit] [16bit] +cftable_entry 0x26 + io 0x0340-0x035f, 0x02f8-0x02ff [8bit] [16bit] +cftable_entry 0x27 + io 0x0360-0x037f, 0x02f8-0x02ff [8bit] [16bit] + +cftable_entry 0x28 + io 0x0300-0x031f, 0x03e8-0x03ef [8bit] [16bit] +cftable_entry 0x29 + io 0x0320-0x033f, 0x03e8-0x03ef [8bit] [16bit] +cftable_entry 0x2a + io 0x0340-0x035f, 0x03e8-0x03ef [8bit] [16bit] +cftable_entry 0x2b + io 0x0360-0x037f, 0x03e8-0x03ef [8bit] [16bit] + +cftable_entry 0x2c + io 0x0300-0x031f, 0x02e8-0x02ef [8bit] [16bit] +cftable_entry 0x2d + io 0x0320-0x033f, 0x02e8-0x02ef [8bit] [16bit] +cftable_entry 0x2e + io 0x0340-0x035f, 0x02e8-0x02ef [8bit] [16bit] +cftable_entry 0x2f + io 0x0360-0x037f, 0x02e8-0x02ef [8bit] [16bit] diff --git a/cis/src/PE-200.cis b/cis/src/PE-200.cis new file mode 100644 index 0000000..7db7494 --- /dev/null +++ b/cis/src/PE-200.cis @@ -0,0 +1,11 @@ +# +# Replacement CIS for PE-200 ethernet card +# +vers_1 4.1, "PMX ", "PE-200", "ETHERNET", "R01" +funcid network_adapter [post] [rom] +config base 0x0100 mask 0x0001 last_index 0x01 +cftable_entry 0x1 [default] + [mwait] + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x000f, 0x0010-0x001f [8bit] [16bit] diff --git a/cis/src/PE520.cis b/cis/src/PE520.cis new file mode 100644 index 0000000..fb411ab --- /dev/null +++ b/cis/src/PE520.cis @@ -0,0 +1,11 @@ +# +# Replacement CIS for LanPro EP-4000A ethernet card +# +vers_1 4.1, "KTI", "PE520 PLUS", "PCMCIA Ethernet" +manfid 0x0161, 0x0010 +funcid network_adapter +config base 0x0fd0 mask 0x0b last_index 0x01 +cftable_entry 0x01 [default] + Vcc Vnom 5V + irq mask 0xffff [level] + io 0x0000-0x001f [8bit] [16bit] diff --git a/cis/src/RS-COM-2P.cis b/cis/src/RS-COM-2P.cis new file mode 100644 index 0000000..2e385cb --- /dev/null +++ b/cis/src/RS-COM-2P.cis @@ -0,0 +1,14 @@ +# +# Replacement CIS for dual-serial-port IO card +# +vers_1 4.1, "PCMCIA", "RS-COM 2P" +funcid serial_port [post] +config base 0x0100 mask 0x0001 last_index 0x03 +cftable_entry 0x01 [default] + [mwait] + io 0x03e8-0x03ef, 0x02e8-0x02ef [lines=10] [8bit] [range] + irq mask 0x9eb8 [level] +cftable_entry 0x02 + io 0x0250-0x0257, 0x0258-0x025f [lines=10] [8bit] [range] +cftable_entry 0x03 + io 0x0260-0x0267, 0x0268-0x026f [lines=10] [8bit] [range] diff --git a/cis/src/tamarack.cis b/cis/src/tamarack.cis new file mode 100644 index 0000000..8802694 --- /dev/null +++ b/cis/src/tamarack.cis @@ -0,0 +1,17 @@ +# +# Replacement CIS for Surecom, Tamarack NE2000 cards +# +dev_info + fn_specific 100ns, 512b +attr_dev_info + EEPROM 250ns, 512b +vers_1 4.1, "TAMARACK", "Ethernet", "A", "004743118001" +funcid network_adapter +config base 0x03f8 mask 0x0003 last_index 0x20 +cftable_entry 0x20 [default] + [mwait] + Vcc Vnom 5V Vmin 4500mV Vmax 5500mV Istatic 100mA + Iavg 170mA Ipeak 200mA + timing wait 15us + io 0x0000-0x000f, 0x0010-0x001f [lines=5] [8bit] [16bit] + irq mask 0xffff [level] diff --git a/cis/tamarack.cis b/cis/tamarack.cis new file mode 100644 index 0000000..29c88b8 Binary files /dev/null and b/cis/tamarack.cis differ diff --git a/cmmb_vega_12mhz.inp b/cmmb_vega_12mhz.inp new file mode 100644 index 0000000..dba5390 Binary files /dev/null and b/cmmb_vega_12mhz.inp differ diff --git a/cmmb_venice_12mhz.inp b/cmmb_venice_12mhz.inp new file mode 100644 index 0000000..4bca794 Binary files /dev/null and b/cmmb_venice_12mhz.inp differ diff --git a/cnm/wave521c_k3_codec_fw.bin b/cnm/wave521c_k3_codec_fw.bin new file mode 100644 index 0000000..09b67c1 Binary files /dev/null and b/cnm/wave521c_k3_codec_fw.bin differ diff --git a/configure b/configure new file mode 100644 index 0000000..3260f9a --- /dev/null +++ b/configure @@ -0,0 +1,4 @@ +#!/bin/bash +# -*- mode: sh -*- +# Our Makefile doesn't do srcdir != builddir +#buildapi-variable-no-builddir diff --git a/copy-firmware.sh b/copy-firmware.sh new file mode 100755 index 0000000..58eb7e3 --- /dev/null +++ b/copy-firmware.sh @@ -0,0 +1,105 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# +# Copy firmware files based on WHENCE list +# + +verbose=: +prune=no +# shellcheck disable=SC2209 +compress=cat +compext= + +while test $# -gt 0; do + case $1 in + -v | --verbose) + # shellcheck disable=SC2209 + verbose=echo + shift + ;; + + -P | --prune) + prune=yes + shift + ;; + + --xz) + if test "$compext" == ".zst"; then + echo "ERROR: cannot mix XZ and ZSTD compression" + exit 1 + fi + compress="xz --compress --quiet --stdout --check=crc32" + compext=".xz" + shift + ;; + + --zstd) + if test "$compext" == ".xz"; then + echo "ERROR: cannot mix XZ and ZSTD compression" + exit 1 + fi + # shellcheck disable=SC2209 + compress="zstd --compress --quiet --stdout" + compext=".zst" + shift + ;; + + *) + if test "x$destdir" != "x"; then + echo "ERROR: unknown command-line options: $*" + exit 1 + fi + + destdir="$1" + shift + ;; + esac +done + +# shellcheck disable=SC2162 # file/folder name can include escaped symbols +grep '^File:' WHENCE | sed -e 's/^File: *//g;s/"//g' | while read f; do + test -f "$f" || continue + install -d "$destdir/$(dirname "$f")" + $verbose "copying/compressing file $f$compext" + if test "$compress" != "cat" && grep -q "^Raw: $f\$" WHENCE; then + $verbose "compression will be skipped for file $f" + cat "$f" > "$destdir/$f" + else + $compress "$f" > "$destdir/$f$compext" + fi +done + +# shellcheck disable=SC2162 # file/folder name can include escaped symbols +grep -E '^Link:' WHENCE | sed -e 's/^Link: *//g;s/-> //g' | while read f d; do + if test -L "$f$compext"; then + test -f "$destdir/$f$compext" && continue + $verbose "copying link $f$compext" + install -d "$destdir/$(dirname "$f")" + cp -d "$f$compext" "$destdir/$f$compext" + + if test "x$d" != "x"; then + target="$(readlink "$f")" + + if test "x$target" != "x$d"; then + $verbose "WARNING: inconsistent symlink target: $target != $d" + else + if test "x$prune" != "xyes"; then + $verbose "WARNING: unneeded symlink detected: $f" + else + $verbose "WARNING: pruning unneeded symlink $f" + rm -f "$f$compext" + fi + fi + else + $verbose "WARNING: missing target for symlink $f" + fi + else + install -d "$destdir/$(dirname "$f")" + $verbose "creating link $f$compext -> $d$compext" + ln -s "$d$compext" "$destdir/$f$compext" + fi +done + +exit 0 + +# vim: et sw=4 sts=4 ts=4 diff --git a/ct2fw-3.2.5.1.bin b/ct2fw-3.2.5.1.bin new file mode 100644 index 0000000..b824aa6 Binary files /dev/null and b/ct2fw-3.2.5.1.bin differ diff --git a/ctefx.bin b/ctefx.bin new file mode 100644 index 0000000..a29458d Binary files /dev/null and b/ctefx.bin differ diff --git a/ctfw-3.2.5.1.bin b/ctfw-3.2.5.1.bin new file mode 100644 index 0000000..beecc9d Binary files /dev/null and b/ctfw-3.2.5.1.bin differ diff --git a/ctspeq.bin b/ctspeq.bin new file mode 100644 index 0000000..dcf0203 Binary files /dev/null and b/ctspeq.bin differ diff --git a/cxgb3/ael2005_opt_edc.bin b/cxgb3/ael2005_opt_edc.bin new file mode 100644 index 0000000..df2ffd9 Binary files /dev/null and b/cxgb3/ael2005_opt_edc.bin differ diff --git a/cxgb3/ael2005_twx_edc.bin b/cxgb3/ael2005_twx_edc.bin new file mode 100644 index 0000000..d3e91fa Binary files /dev/null and b/cxgb3/ael2005_twx_edc.bin differ diff --git a/cxgb3/ael2020_twx_edc.bin b/cxgb3/ael2020_twx_edc.bin new file mode 100644 index 0000000..4ecf70a Binary files /dev/null and b/cxgb3/ael2020_twx_edc.bin differ diff --git a/cxgb3/t3b_psram-1.1.0.bin b/cxgb3/t3b_psram-1.1.0.bin new file mode 100644 index 0000000..14d4369 Binary files /dev/null and b/cxgb3/t3b_psram-1.1.0.bin differ diff --git a/cxgb3/t3c_psram-1.1.0.bin b/cxgb3/t3c_psram-1.1.0.bin new file mode 100644 index 0000000..fe58712 Binary files /dev/null and b/cxgb3/t3c_psram-1.1.0.bin differ diff --git a/cxgb3/t3fw-7.10.0.bin b/cxgb3/t3fw-7.10.0.bin new file mode 100644 index 0000000..ed5c3b3 Binary files /dev/null and b/cxgb3/t3fw-7.10.0.bin differ diff --git a/cxgb3/t3fw-7.12.0.bin b/cxgb3/t3fw-7.12.0.bin new file mode 100644 index 0000000..339ce9b Binary files /dev/null and b/cxgb3/t3fw-7.12.0.bin differ diff --git a/cxgb3/t3fw-7.4.0.bin b/cxgb3/t3fw-7.4.0.bin new file mode 100644 index 0000000..07d8fc2 Binary files /dev/null and b/cxgb3/t3fw-7.4.0.bin differ diff --git a/cxgb4/aq1202_fw.cld b/cxgb4/aq1202_fw.cld new file mode 100644 index 0000000..af6cd9e Binary files /dev/null and b/cxgb4/aq1202_fw.cld differ diff --git a/cxgb4/bcm8483.bin b/cxgb4/bcm8483.bin new file mode 100644 index 0000000..cc21466 Binary files /dev/null and b/cxgb4/bcm8483.bin differ diff --git a/cxgb4/configs/t4-config-default.txt b/cxgb4/configs/t4-config-default.txt new file mode 100644 index 0000000..1774b4d --- /dev/null +++ b/cxgb4/configs/t4-config-default.txt @@ -0,0 +1,562 @@ +# Chelsio T4 Factory Default configuration file. +# +# Copyright (C) 2010-2014 Chelsio Communications. All rights reserved. +# +# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF +# THIS FILE WILL RESULT IN A NON-FUNCTIONAL T4 ADAPTER AND MAY RESULT +# IN PHYSICAL DAMAGE TO T4 ADAPTERS. + +# This file provides the default, power-on configuration for 4-port T4-based +# adapters shipped from the factory. These defaults are designed to address +# the needs of the vast majority of T4 customers. The basic idea is to have +# a default configuration which allows a customer to plug a T4 adapter in and +# have it work regardless of OS, driver or application except in the most +# unusual and/or demanding customer applications. +# +# Many of the T4 resources which are described by this configuration are +# finite. This requires balancing the configuration/operation needs of +# device drivers across OSes and a large number of customer application. +# +# Some of the more important resources to allocate and their constaints are: +# 1. Virtual Interfaces: 128. +# 2. Ingress Queues with Free Lists: 1024. PCI-E SR-IOV Virtual Functions +# must use a power of 2 Ingress Queues. +# 3. Egress Queues: 128K. PCI-E SR-IOV Virtual Functions must use a +# power of 2 Egress Queues. +# 4. MSI-X Vectors: 1088. A complication here is that the PCI-E SR-IOV +# Virtual Functions based off of a Physical Function all get the +# same umber of MSI-X Vectors as the base Physical Function. +# Additionally, regardless of whether Virtual Functions are enabled or +# not, their MSI-X "needs" are counted by the PCI-E implementation. +# And finally, all Physical Funcations capable of supporting Virtual +# Functions (PF0-3) must have the same number of configured TotalVFs in +# their SR-IOV Capabilities. +# 5. Multi-Port Support (MPS) TCAM: 336 entries to support MAC destination +# address matching on Ingress Packets. +# +# Some of the important OS/Driver resource needs are: +# 6. Some OS Drivers will manage all resources through a single Physical +# Function (currently PF0 but it could be any Physical Function). Thus, +# this "Unified PF" will need to have enough resources allocated to it +# to allow for this. And because of the MSI-X resource allocation +# constraints mentioned above, this probably means we'll either have to +# severely limit the TotalVFs if we continue to use PF0 as the Unified PF +# or we'll need to move the Unified PF into the PF4-7 range since those +# Physical Functions don't have any Virtual Functions associated with +# them. +# 7. Some OS Drivers will manage different ports and functions (NIC, +# storage, etc.) on different Physical Functions. For example, NIC +# functions for ports 0-3 on PF0-3, FCoE on PF4, iSCSI on PF5, etc. +# +# Some of the customer application needs which need to be accommodated: +# 8. Some customers will want to support large CPU count systems with +# good scaling. Thus, we'll need to accommodate a number of +# Ingress Queues and MSI-X Vectors to allow up to some number of CPUs +# to be involved per port and per application function. For example, +# in the case where all ports and application functions will be +# managed via a single Unified PF and we want to accommodate scaling up +# to 8 CPUs, we would want: +# +# 4 ports * +# 3 application functions (NIC, FCoE, iSCSI) per port * +# 8 Ingress Queue/MSI-X Vectors per application function +# +# for a total of 96 Ingress Queues and MSI-X Vectors on the Unified PF. +# (Plus a few for Firmware Event Queues, etc.) +# +# 9. Some customers will want to use T4's PCI-E SR-IOV Capability to allow +# Virtual Machines to directly access T4 functionality via SR-IOV +# Virtual Functions and "PCI Device Passthrough" -- this is especially +# true for the NIC application functionality. (Note that there is +# currently no ability to use the TOE, FCoE, iSCSI, etc. via Virtual +# Functions so this is in fact solely limited to NIC.) +# + + +# Global configuration settings. +# +[global] + rss_glb_config_mode = basicvirtual + rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp + + # The following Scatter Gather Engine (SGE) settings assume a 4KB Host + # Page Size and a 64B L1 Cache Line Size. It programs the + # EgrStatusPageSize and IngPadBoundary to 64B and the PktShift to 2. + # If a Master PF Driver finds itself on a machine with different + # parameters, then the Master PF Driver is responsible for initializing + # these parameters to appropriate values. + # + # Notes: + # 1. The Free List Buffer Sizes below are raw and the firmware will + # round them up to the Ingress Padding Boundary. + # 2. The SGE Timer Values below are expressed below in microseconds. + # The firmware will convert these values to Core Clock Ticks when + # it processes the configuration parameters. + # + reg[0x1008] = 0x40810/0x21c70 # SGE_CONTROL + reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE + reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD + reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0 + reg[0x1048] = 65536 # SGE_FL_BUFFER_SIZE1 + reg[0x104c] = 1536 # SGE_FL_BUFFER_SIZE2 + reg[0x1050] = 9024 # SGE_FL_BUFFER_SIZE3 + reg[0x1054] = 9216 # SGE_FL_BUFFER_SIZE4 + reg[0x1058] = 2048 # SGE_FL_BUFFER_SIZE5 + reg[0x105c] = 128 # SGE_FL_BUFFER_SIZE6 + reg[0x1060] = 8192 # SGE_FL_BUFFER_SIZE7 + reg[0x1064] = 16384 # SGE_FL_BUFFER_SIZE8 + reg[0x10a4] = 0xa000a000/0xf000f000 # SGE_DBFIFO_STATUS + reg[0x10a8] = 0x2000/0x2000 # SGE_DOORBELL_CONTROL + sge_timer_value = 5, 10, 20, 50, 100, 200 # SGE_TIMER_VALUE* in usecs + + # enable TP_OUT_CONFIG.IPIDSPLITMODE + reg[0x7d04] = 0x00010000/0x00010000 + + # disable TP_PARA_REG3.RxFragEn + reg[0x7d6c] = 0x00000000/0x00007000 + + reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT + + # TP_VLAN_PRI_MAP to select filter tuples + # filter tuples : fragmentation, mpshittype, macmatch, ethertype, + # protocol, tos, vlan, vnic_id, port, fcoe + # valid filterModes are described the Terminator 4 Data Book + filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe + + # filter tuples enforced in LE active region (equal to or subset of filterMode) + filterMask = protocol, fcoe + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP RX payload + tp_pmrx = 34 + + # TP RX payload page size + tp_pmrx_pagesize = 64K + + # TP number of RX channels + tp_nrxch = 0 # 0 (auto) = 1 + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP TX payload + tp_pmtx = 32 + + # TP TX payload page size + tp_pmtx_pagesize = 64K + + # TP number of TX channels + tp_ntxch = 0 # 0 (auto) = equal number of ports + + # TP OFLD MTUs + tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 + + # ULPRX iSCSI Page Sizes + reg[0x19168] = 0x04020100 # 64K, 16K, 8K and 4K + +# Some "definitions" to make the rest of this a bit more readable. We support +# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets" +# per function per port ... +# +# NMSIX = 1088 # available MSI-X Vectors +# NVI = 128 # available Virtual Interfaces +# NMPSTCAM = 336 # MPS TCAM entries +# +# NPORTS = 4 # ports +# NCPUS = 8 # CPUs we want to support scalably +# NFUNCS = 3 # functions per port (NIC, FCoE, iSCSI) + +# Breakdown of Virtual Interface/Queue/Interrupt resources for the "Unified +# PF" which many OS Drivers will use to manage most or all functions. +# +# Each Ingress Queue can use one MSI-X interrupt but some Ingress Queues can +# use Forwarded Interrupt Ingress Queues. For these latter, an Ingress Queue +# would be created and the Queue ID of a Forwarded Interrupt Ingress Queue +# will be specified as the "Ingress Queue Asynchronous Destination Index." +# Thus, the number of MSI-X Vectors assigned to the Unified PF will be less +# than or equal to the number of Ingress Queues ... +# +# NVI_NIC = 4 # NIC access to NPORTS +# NFLIQ_NIC = 32 # NIC Ingress Queues with Free Lists +# NETHCTRL_NIC = 32 # NIC Ethernet Control/TX Queues +# NEQ_NIC = 64 # NIC Egress Queues (FL, ETHCTRL/TX) +# NMPSTCAM_NIC = 16 # NIC MPS TCAM Entries (NPORTS*4) +# NMSIX_NIC = 32 # NIC MSI-X Interrupt Vectors (FLIQ) +# +# NVI_OFLD = 0 # Offload uses NIC function to access ports +# NFLIQ_OFLD = 16 # Offload Ingress Queues with Free Lists +# NETHCTRL_OFLD = 0 # Offload Ethernet Control/TX Queues +# NEQ_OFLD = 16 # Offload Egress Queues (FL) +# NMPSTCAM_OFLD = 0 # Offload MPS TCAM Entries (uses NIC's) +# NMSIX_OFLD = 16 # Offload MSI-X Interrupt Vectors (FLIQ) +# +# NVI_RDMA = 0 # RDMA uses NIC function to access ports +# NFLIQ_RDMA = 4 # RDMA Ingress Queues with Free Lists +# NETHCTRL_RDMA = 0 # RDMA Ethernet Control/TX Queues +# NEQ_RDMA = 4 # RDMA Egress Queues (FL) +# NMPSTCAM_RDMA = 0 # RDMA MPS TCAM Entries (uses NIC's) +# NMSIX_RDMA = 4 # RDMA MSI-X Interrupt Vectors (FLIQ) +# +# NEQ_WD = 128 # Wire Direct TX Queues and FLs +# NETHCTRL_WD = 64 # Wire Direct TX Queues +# NFLIQ_WD = 64 ` # Wire Direct Ingress Queues with Free Lists +# +# NVI_ISCSI = 4 # ISCSI access to NPORTS +# NFLIQ_ISCSI = 4 # ISCSI Ingress Queues with Free Lists +# NETHCTRL_ISCSI = 0 # ISCSI Ethernet Control/TX Queues +# NEQ_ISCSI = 4 # ISCSI Egress Queues (FL) +# NMPSTCAM_ISCSI = 4 # ISCSI MPS TCAM Entries (NPORTS) +# NMSIX_ISCSI = 4 # ISCSI MSI-X Interrupt Vectors (FLIQ) +# +# NVI_FCOE = 4 # FCOE access to NPORTS +# NFLIQ_FCOE = 34 # FCOE Ingress Queues with Free Lists +# NETHCTRL_FCOE = 32 # FCOE Ethernet Control/TX Queues +# NEQ_FCOE = 66 # FCOE Egress Queues (FL) +# NMPSTCAM_FCOE = 32 # FCOE MPS TCAM Entries (NPORTS) +# NMSIX_FCOE = 34 # FCOE MSI-X Interrupt Vectors (FLIQ) + +# Two extra Ingress Queues per function for Firmware Events and Forwarded +# Interrupts, and two extra interrupts per function for Firmware Events (or a +# Forwarded Interrupt Queue) and General Interrupts per function. +# +# NFLIQ_EXTRA = 6 # "extra" Ingress Queues 2*NFUNCS (Firmware and +# # Forwarded Interrupts +# NMSIX_EXTRA = 6 # extra interrupts 2*NFUNCS (Firmware and +# # General Interrupts + +# Microsoft HyperV resources. The HyperV Virtual Ingress Queues will have +# their interrupts forwarded to another set of Forwarded Interrupt Queues. +# +# NVI_HYPERV = 16 # VMs we want to support +# NVIIQ_HYPERV = 2 # Virtual Ingress Queues with Free Lists per VM +# NFLIQ_HYPERV = 40 # VIQs + NCPUS Forwarded Interrupt Queues +# NEQ_HYPERV = 32 # VIQs Free Lists +# NMPSTCAM_HYPERV = 16 # MPS TCAM Entries (NVI_HYPERV) +# NMSIX_HYPERV = 8 # NCPUS Forwarded Interrupt Queues + +# Adding all of the above Unified PF resource needs together: (NIC + OFLD + +# RDMA + ISCSI + FCOE + EXTRA + HYPERV) +# +# NVI_UNIFIED = 28 +# NFLIQ_UNIFIED = 106 +# NETHCTRL_UNIFIED = 32 +# NEQ_UNIFIED = 124 +# NMPSTCAM_UNIFIED = 40 +# +# The sum of all the MSI-X resources above is 74 MSI-X Vectors but we'll round +# that up to 128 to make sure the Unified PF doesn't run out of resources. +# +# NMSIX_UNIFIED = 128 +# +# The Storage PFs could need up to NPORTS*NCPUS + NMSIX_EXTRA MSI-X Vectors +# which is 34 but they're probably safe with 32. +# +# NMSIX_STORAGE = 32 + +# Note: The UnifiedPF is PF4 which doesn't have any Virtual Functions +# associated with it. Thus, the MSI-X Vector allocations we give to the +# UnifiedPF aren't inherited by any Virtual Functions. As a result we can +# provision many more Virtual Functions than we can if the UnifiedPF were +# one of PF0-3. +# + +# All of the below PCI-E parameters are actually stored in various *_init.txt +# files. We include them below essentially as comments. +# +# For PF0-3 we assign 8 vectors each for NIC Ingress Queues of the associated +# ports 0-3. +# +# For PF4, the Unified PF, we give it an MSI-X Table Size as outlined above. +# +# For PF5-6 we assign enough MSI-X Vectors to support FCoE and iSCSI +# storage applications across all four possible ports. +# +# Additionally, since the UnifiedPF isn't one of the per-port Physical +# Functions, we give the UnifiedPF and the PF0-3 Physical Functions +# different PCI Device IDs which will allow Unified and Per-Port Drivers +# to directly select the type of Physical Function to which they wish to be +# attached. +# +# Note that the actual values used for the PCI-E Intelectual Property will be +# 1 less than those below since that's the way it "counts" things. For +# readability, we use the number we actually mean ... +# +# PF0_INT = 8 # NCPUS +# PF1_INT = 8 # NCPUS +# PF2_INT = 8 # NCPUS +# PF3_INT = 8 # NCPUS +# PF0_3_INT = 32 # PF0_INT + PF1_INT + PF2_INT + PF3_INT +# +# PF4_INT = 128 # NMSIX_UNIFIED +# PF5_INT = 32 # NMSIX_STORAGE +# PF6_INT = 32 # NMSIX_STORAGE +# PF7_INT = 0 # Nothing Assigned +# PF4_7_INT = 192 # PF4_INT + PF5_INT + PF6_INT + PF7_INT +# +# PF0_7_INT = 224 # PF0_3_INT + PF4_7_INT +# +# With the above we can get 17 VFs/PF0-3 (limited by 336 MPS TCAM entries) +# but we'll lower that to 16 to make our total 64 and a nice power of 2 ... +# +# NVF = 16 + +# For those OSes which manage different ports on different PFs, we need +# only enough resources to support a single port's NIC application functions +# on PF0-3. The below assumes that we're only doing NIC with NCPUS "Queue +# Sets" for ports 0-3. The FCoE and iSCSI functions for such OSes will be +# managed on the "storage PFs" (see below). +# +[function "0"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x1 # access to only one port + +[function "1"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x2 # access to only one port + +[function "2"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x4 # access to only one port + +[function "3"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x8 # access to only one port + +# Some OS Drivers manage all application functions for all ports via PF4. +# Thus we need to provide a large number of resources here. For Egress +# Queues we need to account for both TX Queues as well as Free List Queues +# (because the host is responsible for producing Free List Buffers for the +# hardware to consume). +# +[function "4"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 28 # NVI_UNIFIED + niqflint = 170 # NFLIQ_UNIFIED + NLFIQ_WD + nethctrl = 100 # NETHCTRL_UNIFIED + NETHCTRL_WD + neq = 256 # NEQ_UNIFIED + NEQ_WD + nexactf = 40 # NMPSTCAM_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nethofld = 1024 # number of user mode ethernet flow contexts + nroute = 32 # number of routing region entries + nclip = 32 # number of clip region entries + nfilter = 496 # number of filter region entries + nserver = 496 # number of server region entries + nhash = 12288 # number of hash region entries + protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu + tp_l2t = 3072 + tp_ddp = 3 + tp_ddp_iscsi = 2 + tp_stag = 3 + tp_pbl = 10 + tp_rq = 13 + +# We have FCoE and iSCSI storage functions on PF5 and PF6 each of which may +# need to have Virtual Interfaces on each of the four ports with up to NCPUS +# "Queue Sets" each. +# +[function "5"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 64 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + nexactf = 4 # NPORTS + cmask = all # access to all channels + pmask = all # access to all four ports ... + nserver = 16 + nhash = 2048 + tp_l2t = 1020 + protocol = iscsi_initiator_fofld + tp_ddp_iscsi = 2 + iscsi_ntask = 2048 + iscsi_nsess = 2048 + iscsi_nconn_per_session = 1 + iscsi_ninitiator_instance = 64 + +[function "6"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 66 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + 2 (EXTRA) + nexactf = 32 # NPORTS + adding 28 exact entries for FCoE + # which is OK since < MIN(SUM PF0..3, PF4) + # and we never load PF0..3 and PF4 concurrently + cmask = all # access to all channels + pmask = all # access to all four ports ... + nhash = 2048 + tp_l2t = 4 + protocol = fcoe_initiator + tp_ddp = 1 + fcoe_nfcf = 16 + fcoe_nvnp = 32 + fcoe_nssn = 1024 + +# The following function, 1023, is not an actual PCIE function but is used to +# configure and reserve firmware internal resources that come from the global +# resource pool. +# +[function "1023"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NVI_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nexactf = 8 # NPORTS + DCBX + + nfilter = 16 # number of filter region entries + +# For Virtual functions, we only allow NIC functionality and we only allow +# access to one port (1 << PF). Note that because of limitations in the +# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL +# and GTS registers, the number of Ingress and Egress Queues must be a power +# of 2. +# +[function "0/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 4 # 2 "Queue Sets" + NXIQ + nethctrl = 2 # 2 "Queue Sets" + neq = 4 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x1 # access to only one port ... + +[function "1/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 4 # 2 "Queue Sets" + NXIQ + nethctrl = 2 # 2 "Queue Sets" + neq = 4 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x2 # access to only one port ... + +[function "2/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 4 # 2 "Queue Sets" + NXIQ + nethctrl = 2 # 2 "Queue Sets" + neq = 4 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x4 # access to only one port ... + +[function "3/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 4 # 2 "Queue Sets" + NXIQ + nethctrl = 2 # 2 "Queue Sets" + neq = 4 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x8 # access to only one port ... + +# MPS features a 196608 bytes ingress buffer that is used for ingress buffering +# for packets from the wire as well as the loopback path of the L2 switch. The +# folling params control how the buffer memory is distributed and the L2 flow +# control settings: +# +# bg_mem: %-age of mem to use for port/buffer group +# lpbk_mem: %-age of port/bg mem to use for loopback +# hwm: high watermark; bytes available when starting to send pause +# frames (in units of 0.1 MTU) +# lwm: low watermark; bytes remaining when sending 'unpause' frame +# (in inuits of 0.1 MTU) +# dwm: minimum delta between high and low watermark (in units of 100 +# Bytes) +# +# + +[port "0"] + dcb = ppp, dcbx # configure for DCB PPP and enable DCBX offload + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[port "1"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[port "2"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[port "3"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[fini] + version = 0x1425001c + checksum = 0x5ceab41e + +# Total resources used by above allocations: +# Virtual Interfaces: 104 +# Ingress Queues/w Free Lists and Interrupts: 526 +# Egress Queues: 702 +# MPS TCAM Entries: 336 +# MSI-X Vectors: 736 +# Virtual Functions: 64 diff --git a/cxgb4/configs/t5-config-default.txt b/cxgb4/configs/t5-config-default.txt new file mode 100644 index 0000000..44fdfad --- /dev/null +++ b/cxgb4/configs/t5-config-default.txt @@ -0,0 +1,613 @@ +# Chelsio T5 Factory Default configuration file. +# +# Copyright (C) 2010-2015 Chelsio Communications. All rights reserved. +# +# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE +# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE +# TO ADAPTERS. + + +# This file provides the default, power-on configuration for 4-port T5-based +# adapters shipped from the factory. These defaults are designed to address +# the needs of the vast majority of Terminator customers. The basic idea is to +# have a default configuration which allows a customer to plug a Terminator +# adapter in and have it work regardless of OS, driver or application except in +# the most unusual and/or demanding customer applications. +# +# Many of the Terminator resources which are described by this configuration +# are finite. This requires balancing the configuration/operation needs of +# device drivers across OSes and a large number of customer application. +# +# Some of the more important resources to allocate and their constaints are: +# 1. Virtual Interfaces: 256. +# 2. Ingress Queues with Free Lists: 1024. +# 3. Egress Queues: 128K. +# 4. MSI-X Vectors: 1088. +# 5. Multi-Port Support (MPS) TCAM: 336 entries to support MAC destination +# address matching on Ingress Packets. +# +# Some of the important OS/Driver resource needs are: +# 6. Some OS Drivers will manage all resources through a single Physical +# Function (currently PF4 but it could be any Physical Function). +# 7. Some OS Drivers will manage different ports and functions (NIC, +# storage, etc.) on different Physical Functions. For example, NIC +# functions for ports 0-3 on PF0-3, FCoE on PF4, iSCSI on PF5, etc. +# +# Some of the customer application needs which need to be accommodated: +# 8. Some customers will want to support large CPU count systems with +# good scaling. Thus, we'll need to accommodate a number of +# Ingress Queues and MSI-X Vectors to allow up to some number of CPUs +# to be involved per port and per application function. For example, +# in the case where all ports and application functions will be +# managed via a single Unified PF and we want to accommodate scaling up +# to 8 CPUs, we would want: +# +# 4 ports * +# 3 application functions (NIC, FCoE, iSCSI) per port * +# 8 Ingress Queue/MSI-X Vectors per application function +# +# for a total of 96 Ingress Queues and MSI-X Vectors on the Unified PF. +# (Plus a few for Firmware Event Queues, etc.) +# +# 9. Some customers will want to use PCI-E SR-IOV Capability to allow Virtual +# Machines to directly access T6 functionality via SR-IOV Virtual Functions +# and "PCI Device Passthrough" -- this is especially true for the NIC +# application functionality. +# + + +# Global configuration settings. +# +[global] + rss_glb_config_mode = basicvirtual + rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp + + # PL_TIMEOUT register + pl_timeout_value = 10000 # the timeout value in units of us + + # The following Scatter Gather Engine (SGE) settings assume a 4KB Host + # Page Size and a 64B L1 Cache Line Size. It programs the + # EgrStatusPageSize and IngPadBoundary to 64B and the PktShift to 2. + # If a Master PF Driver finds itself on a machine with different + # parameters, then the Master PF Driver is responsible for initializing + # these parameters to appropriate values. + # + # Notes: + # 1. The Free List Buffer Sizes below are raw and the firmware will + # round them up to the Ingress Padding Boundary. + # 2. The SGE Timer Values below are expressed below in microseconds. + # The firmware will convert these values to Core Clock Ticks when + # it processes the configuration parameters. + # + reg[0x1008] = 0x40810/0x21c70 # SGE_CONTROL + reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE + reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD + reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0 + reg[0x1048] = 65536 # SGE_FL_BUFFER_SIZE1 + reg[0x104c] = 1536 # SGE_FL_BUFFER_SIZE2 + reg[0x1050] = 9024 # SGE_FL_BUFFER_SIZE3 + reg[0x1054] = 9216 # SGE_FL_BUFFER_SIZE4 + reg[0x1058] = 2048 # SGE_FL_BUFFER_SIZE5 + reg[0x105c] = 128 # SGE_FL_BUFFER_SIZE6 + reg[0x1060] = 8192 # SGE_FL_BUFFER_SIZE7 + reg[0x1064] = 16384 # SGE_FL_BUFFER_SIZE8 + reg[0x10a4] = 0x00280000/0x3ffc0000 # SGE_DBFIFO_STATUS + reg[0x1118] = 0x00002800/0x00003c00 # SGE_DBFIFO_STATUS2 + reg[0x10a8] = 0x402000/0x402000 # SGE_DOORBELL_CONTROL + + # SGE_THROTTLE_CONTROL + bar2throttlecount = 500 # bar2throttlecount in us + + sge_timer_value = 5, 10, 20, 50, 100, 200 # SGE_TIMER_VALUE* in usecs + + + reg[0x1124] = 0x00000400/0x00000400 # SGE_CONTROL2, enable VFIFO; if + # SGE_VFIFO_SIZE is not set, then + # firmware will set it up in function + # of number of egress queues used + + reg[0x1130] = 0x00d5ffeb # SGE_DBP_FETCH_THRESHOLD, fetch + # threshold set to queue depth + # minus 128-entries for FL and HP + # queues, and 0xfff for LP which + # prompts the firmware to set it up + # in function of egress queues + # used + + reg[0x113c] = 0x0002ffc0 # SGE_VFIFO_SIZE, set to 0x2ffc0 which + # prompts the firmware to set it up in + # function of number of egress queues + # used + + # enable TP_OUT_CONFIG.IPIDSPLITMODE + reg[0x7d04] = 0x00010000/0x00010000 + + # disable TP_PARA_REG3.RxFragEn + reg[0x7d6c] = 0x00000000/0x00007000 + + # enable TP_PARA_REG6.EnableCSnd + reg[0x7d78] = 0x00000400/0x00000000 + + reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT + + # TP_VLAN_PRI_MAP to select filter tuples and enable ServerSram + # filter control: compact, fcoemask + # server sram : srvrsram + # filter tuples : fragmentation, mpshittype, macmatch, ethertype, + # protocol, tos, vlan, vnic_id, port, fcoe + # valid filterModes are described the Terminator 5 Data Book + filterMode = fcoemask, srvrsram, fragmentation, mpshittype, protocol, vlan, port, fcoe + + # filter tuples enforced in LE active region (equal to or subset of filterMode) + filterMask = protocol, fcoe + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP RX payload + tp_pmrx = 30 + + # TP RX payload page size + tp_pmrx_pagesize = 64K + + # TP number of RX channels + tp_nrxch = 0 # 0 (auto) = 1 + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP TX payload + tp_pmtx = 50 + + # TP TX payload page size + tp_pmtx_pagesize = 64K + + # TP number of TX channels + tp_ntxch = 0 # 0 (auto) = equal number of ports + + # TP OFLD MTUs + tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 + + # TP_GLOBAL_CONFIG + reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable + + # TP_PC_CONFIG + reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError + + # TP_PARA_REG0 + reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6 + + # ULPRX iSCSI Page Sizes + reg[0x19168] = 0x04020100 # 64K, 16K, 8K and 4K + + # LE_DB_CONFIG + reg[0x19c04] = 0x00400000/0x00400000 # LE Server SRAM Enable + + # MC configuration + mc_mode_brc[0] = 1 # mc0 - 1: enable BRC, 0: enable RBC + mc_mode_brc[1] = 1 # mc1 - 1: enable BRC, 0: enable RBC + + # ULP_TX_CONFIG + reg[0x8dc0] = 0x00000004/0x00000004 # Enable more error msg for ... + # TPT error. + +# Some "definitions" to make the rest of this a bit more readable. We support +# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets" +# per function per port ... +# +# NMSIX = 1088 # available MSI-X Vectors +# NVI = 128 # available Virtual Interfaces +# NMPSTCAM = 336 # MPS TCAM entries +# +# NPORTS = 4 # ports +# NCPUS = 8 # CPUs we want to support scalably +# NFUNCS = 3 # functions per port (NIC, FCoE, iSCSI) + +# Breakdown of Virtual Interface/Queue/Interrupt resources for the "Unified +# PF" which many OS Drivers will use to manage most or all functions. +# +# Each Ingress Queue can use one MSI-X interrupt but some Ingress Queues can +# use Forwarded Interrupt Ingress Queues. For these latter, an Ingress Queue +# would be created and the Queue ID of a Forwarded Interrupt Ingress Queue +# will be specified as the "Ingress Queue Asynchronous Destination Index." +# Thus, the number of MSI-X Vectors assigned to the Unified PF will be less +# than or equal to the number of Ingress Queues ... +# +# NVI_NIC = 4 # NIC access to NPORTS +# NFLIQ_NIC = 32 # NIC Ingress Queues with Free Lists +# NETHCTRL_NIC = 32 # NIC Ethernet Control/TX Queues +# NEQ_NIC = 64 # NIC Egress Queues (FL, ETHCTRL/TX) +# NMPSTCAM_NIC = 16 # NIC MPS TCAM Entries (NPORTS*4) +# NMSIX_NIC = 32 # NIC MSI-X Interrupt Vectors (FLIQ) +# +# NVI_OFLD = 0 # Offload uses NIC function to access ports +# NFLIQ_OFLD = 16 # Offload Ingress Queues with Free Lists +# NETHCTRL_OFLD = 0 # Offload Ethernet Control/TX Queues +# NEQ_OFLD = 16 # Offload Egress Queues (FL) +# NMPSTCAM_OFLD = 0 # Offload MPS TCAM Entries (uses NIC's) +# NMSIX_OFLD = 16 # Offload MSI-X Interrupt Vectors (FLIQ) +# +# NVI_RDMA = 0 # RDMA uses NIC function to access ports +# NFLIQ_RDMA = 4 # RDMA Ingress Queues with Free Lists +# NETHCTRL_RDMA = 0 # RDMA Ethernet Control/TX Queues +# NEQ_RDMA = 4 # RDMA Egress Queues (FL) +# NMPSTCAM_RDMA = 0 # RDMA MPS TCAM Entries (uses NIC's) +# NMSIX_RDMA = 4 # RDMA MSI-X Interrupt Vectors (FLIQ) +# +# NEQ_WD = 128 # Wire Direct TX Queues and FLs +# NETHCTRL_WD = 64 # Wire Direct TX Queues +# NFLIQ_WD = 64 ` # Wire Direct Ingress Queues with Free Lists +# +# NVI_ISCSI = 4 # ISCSI access to NPORTS +# NFLIQ_ISCSI = 4 # ISCSI Ingress Queues with Free Lists +# NETHCTRL_ISCSI = 0 # ISCSI Ethernet Control/TX Queues +# NEQ_ISCSI = 4 # ISCSI Egress Queues (FL) +# NMPSTCAM_ISCSI = 4 # ISCSI MPS TCAM Entries (NPORTS) +# NMSIX_ISCSI = 4 # ISCSI MSI-X Interrupt Vectors (FLIQ) +# +# NVI_FCOE = 4 # FCOE access to NPORTS +# NFLIQ_FCOE = 34 # FCOE Ingress Queues with Free Lists +# NETHCTRL_FCOE = 32 # FCOE Ethernet Control/TX Queues +# NEQ_FCOE = 66 # FCOE Egress Queues (FL) +# NMPSTCAM_FCOE = 32 # FCOE MPS TCAM Entries (NPORTS) +# NMSIX_FCOE = 34 # FCOE MSI-X Interrupt Vectors (FLIQ) + +# Two extra Ingress Queues per function for Firmware Events and Forwarded +# Interrupts, and two extra interrupts per function for Firmware Events (or a +# Forwarded Interrupt Queue) and General Interrupts per function. +# +# NFLIQ_EXTRA = 6 # "extra" Ingress Queues 2*NFUNCS (Firmware and +# # Forwarded Interrupts +# NMSIX_EXTRA = 6 # extra interrupts 2*NFUNCS (Firmware and +# # General Interrupts + +# Microsoft HyperV resources. The HyperV Virtual Ingress Queues will have +# their interrupts forwarded to another set of Forwarded Interrupt Queues. +# +# NVI_HYPERV = 16 # VMs we want to support +# NVIIQ_HYPERV = 2 # Virtual Ingress Queues with Free Lists per VM +# NFLIQ_HYPERV = 40 # VIQs + NCPUS Forwarded Interrupt Queues +# NEQ_HYPERV = 32 # VIQs Free Lists +# NMPSTCAM_HYPERV = 16 # MPS TCAM Entries (NVI_HYPERV) +# NMSIX_HYPERV = 8 # NCPUS Forwarded Interrupt Queues + +# Adding all of the above Unified PF resource needs together: (NIC + OFLD + +# RDMA + ISCSI + FCOE + EXTRA + HYPERV) +# +# NVI_UNIFIED = 28 +# NFLIQ_UNIFIED = 106 +# NETHCTRL_UNIFIED = 32 +# NEQ_UNIFIED = 124 +# NMPSTCAM_UNIFIED = 40 +# +# The sum of all the MSI-X resources above is 74 MSI-X Vectors but we'll round +# that up to 128 to make sure the Unified PF doesn't run out of resources. +# +# NMSIX_UNIFIED = 128 +# +# The Storage PFs could need up to NPORTS*NCPUS + NMSIX_EXTRA MSI-X Vectors +# which is 34 but they're probably safe with 32. +# +# NMSIX_STORAGE = 32 + +# Note: The UnifiedPF is PF4 which doesn't have any Virtual Functions +# associated with it. Thus, the MSI-X Vector allocations we give to the +# UnifiedPF aren't inherited by any Virtual Functions. As a result we can +# provision many more Virtual Functions than we can if the UnifiedPF were +# one of PF0-3. +# + +# All of the below PCI-E parameters are actually stored in various *_init.txt +# files. We include them below essentially as comments. +# +# For PF0-3 we assign 8 vectors each for NIC Ingress Queues of the associated +# ports 0-3. +# +# For PF4, the Unified PF, we give it an MSI-X Table Size as outlined above. +# +# For PF5-6 we assign enough MSI-X Vectors to support FCoE and iSCSI +# storage applications across all four possible ports. +# +# Additionally, since the UnifiedPF isn't one of the per-port Physical +# Functions, we give the UnifiedPF and the PF0-3 Physical Functions +# different PCI Device IDs which will allow Unified and Per-Port Drivers +# to directly select the type of Physical Function to which they wish to be +# attached. +# +# Note that the actual values used for the PCI-E Intelectual Property will be +# 1 less than those below since that's the way it "counts" things. For +# readability, we use the number we actually mean ... +# +# PF0_INT = 8 # NCPUS +# PF1_INT = 8 # NCPUS +# PF2_INT = 8 # NCPUS +# PF3_INT = 8 # NCPUS +# PF0_3_INT = 32 # PF0_INT + PF1_INT + PF2_INT + PF3_INT +# +# PF4_INT = 128 # NMSIX_UNIFIED +# PF5_INT = 32 # NMSIX_STORAGE +# PF6_INT = 32 # NMSIX_STORAGE +# PF7_INT = 0 # Nothing Assigned +# PF4_7_INT = 192 # PF4_INT + PF5_INT + PF6_INT + PF7_INT +# +# PF0_7_INT = 224 # PF0_3_INT + PF4_7_INT +# +# With the above we can get 17 VFs/PF0-3 (limited by 336 MPS TCAM entries) +# but we'll lower that to 16 to make our total 64 and a nice power of 2 ... +# +# NVF = 16 + + +# For those OSes which manage different ports on different PFs, we need +# only enough resources to support a single port's NIC application functions +# on PF0-3. The below assumes that we're only doing NIC with NCPUS "Queue +# Sets" for ports 0-3. The FCoE and iSCSI functions for such OSes will be +# managed on the "storage PFs" (see below). +# +[function "0"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x1 # access to only one port + + +[function "1"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x2 # access to only one port + + +[function "2"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x4 # access to only one port + + +[function "3"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x8 # access to only one port + + +# Some OS Drivers manage all application functions for all ports via PF4. +# Thus we need to provide a large number of resources here. For Egress +# Queues we need to account for both TX Queues as well as Free List Queues +# (because the host is responsible for producing Free List Buffers for the +# hardware to consume). +# +[function "4"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 28 # NVI_UNIFIED + niqflint = 170 # NFLIQ_UNIFIED + NLFIQ_WD + nethctrl = 100 # NETHCTRL_UNIFIED + NETHCTRL_WD + neq = 256 # NEQ_UNIFIED + NEQ_WD + nqpcq = 12288 + nexactf = 40 # NMPSTCAM_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nethofld = 1024 # number of user mode ethernet flow contexts + nroute = 32 # number of routing region entries + nclip = 32 # number of clip region entries + nfilter = 496 # number of filter region entries + nserver = 496 # number of server region entries + nhash = 12288 # number of hash region entries + protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif, nic_hashfilter + tp_l2t = 3072 + tp_ddp = 2 + tp_ddp_iscsi = 2 + tp_stag = 2 + tp_pbl = 5 + tp_rq = 7 + + +# We have FCoE and iSCSI storage functions on PF5 and PF6 each of which may +# need to have Virtual Interfaces on each of the four ports with up to NCPUS +# "Queue Sets" each. +# +[function "5"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 64 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + nexactf = 16 # (NPORTS *(no of snmc grp + 1 hw mac) + 1 anmc grp)) rounded to 16. + cmask = all # access to all channels + pmask = all # access to all four ports ... + nserver = 16 + nhash = 2048 + tp_l2t = 1020 + protocol = iscsi_initiator_fofld + tp_ddp_iscsi = 2 + iscsi_ntask = 2048 + iscsi_nsess = 2048 + iscsi_nconn_per_session = 1 + iscsi_ninitiator_instance = 64 + + +[function "6"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 66 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + 2 (EXTRA) + nexactf = 32 # NPORTS + adding 28 exact entries for FCoE + # which is OK since < MIN(SUM PF0..3, PF4) + # and we never load PF0..3 and PF4 concurrently + cmask = all # access to all channels + pmask = all # access to all four ports ... + nhash = 2048 + tp_l2t = 4 + protocol = fcoe_initiator + tp_ddp = 2 + fcoe_nfcf = 16 + fcoe_nvnp = 32 + fcoe_nssn = 1024 + + +# The following function, 1023, is not an actual PCIE function but is used to +# configure and reserve firmware internal resources that come from the global +# resource pool. +# +[function "1023"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NVI_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nexactf = 8 # NPORTS + DCBX + + nfilter = 16 # number of filter region entries + + +# For Virtual functions, we only allow NIC functionality and we only allow +# access to one port (1 << PF). Note that because of limitations in the +# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL +# and GTS registers, the number of Ingress and Egress Queues must be a power +# of 2. +# +[function "0/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x1 # access to only one port ... + + +[function "1/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x2 # access to only one port ... + + +[function "2/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x4 # access to only one port ... + + +[function "3/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x8 # access to only one port ... + + +# MPS features a 196608 bytes ingress buffer that is used for ingress buffering +# for packets from the wire as well as the loopback path of the L2 switch. The +# folling params control how the buffer memory is distributed and the L2 flow +# control settings: +# +# bg_mem: %-age of mem to use for port/buffer group +# lpbk_mem: %-age of port/bg mem to use for loopback +# hwm: high watermark; bytes available when starting to send pause +# frames (in units of 0.1 MTU) +# lwm: low watermark; bytes remaining when sending 'unpause' frame +# (in inuits of 0.1 MTU) +# dwm: minimum delta between high and low watermark (in units of 100 +# Bytes) +# +[port "0"] + dcb = ppp, dcbx # configure for DCB PPP and enable DCBX offload + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + + +[port "1"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + + +[port "2"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + + +[port "3"] + dcb = ppp, dcbx + bg_mem = 25 + lpbk_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + + +[fini] + version = 0x1425001c + checksum = 0xd8c8fbd6 + +# Total resources used by above allocations: +# Virtual Interfaces: 104 +# Ingress Queues/w Free Lists and Interrupts: 526 +# Egress Queues: 702 +# MPS TCAM Entries: 336 +# MSI-X Vectors: 736 +# Virtual Functions: 64 diff --git a/cxgb4/configs/t5-config-hashfilter.txt b/cxgb4/configs/t5-config-hashfilter.txt new file mode 100644 index 0000000..e106f24 --- /dev/null +++ b/cxgb4/configs/t5-config-hashfilter.txt @@ -0,0 +1,467 @@ +# Chelsio T5 HASHFILTER configuration file. +# +# Copyright (C) 2010-2017 Chelsio Communications. All rights reserved. +# +# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE +# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE +# TO ADAPTERS. + + +# This file provides the default, power-on configuration for 4-port T5-based +# adapters shipped from the factory. These defaults are designed to address +# the needs of the vast majority of Terminator customers. The basic idea is to +# have a default configuration which allows a customer to plug a Terminator +# adapter in and have it work regardless of OS, driver or application except in +# the most unusual and/or demanding customer applications. +# +# Many of the Terminator resources which are described by this configuration +# are finite. This requires balancing the configuration/operation needs of +# device drivers across OSes and a large number of customer application. +# +# Some of the more important resources to allocate and their constaints are: +# 1. Virtual Interfaces: 256. +# 2. Ingress Queues with Free Lists: 1024. +# 3. Egress Queues: 128K. +# 4. MSI-X Vectors: 1088. +# 5. Multi-Port Support (MPS) TCAM: 336 entries to support MAC destination +# address matching on Ingress Packets. +# +# Some of the important OS/Driver resource needs are: +# 6. Some OS Drivers will manage all resources through a single Physical +# Function (currently PF4 but it could be any Physical Function). +# 7. Some OS Drivers will manage different ports and functions (NIC, +# storage, etc.) on different Physical Functions. For example, NIC +# functions for ports 0-3 on PF0-3, FCoE on PF4, iSCSI on PF5, etc. +# +# Some of the customer application needs which need to be accommodated: +# 8. Some customers will want to support large CPU count systems with +# good scaling. Thus, we'll need to accommodate a number of +# Ingress Queues and MSI-X Vectors to allow up to some number of CPUs +# to be involved per port and per application function. For example, +# in the case where all ports and application functions will be +# managed via a single Unified PF and we want to accommodate scaling up +# to 8 CPUs, we would want: +# +# 4 ports * +# 3 application functions (NIC, FCoE, iSCSI) per port * +# 8 Ingress Queue/MSI-X Vectors per application function +# +# for a total of 96 Ingress Queues and MSI-X Vectors on the Unified PF. +# (Plus a few for Firmware Event Queues, etc.) +# +# 9. Some customers will want to use PCI-E SR-IOV Capability to allow Virtual +# Machines to directly access T6 functionality via SR-IOV Virtual Functions +# and "PCI Device Passthrough" -- this is especially true for the NIC +# application functionality. +# + + +# Global configuration settings. +# +[global] + rss_glb_config_mode = basicvirtual + rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp + + # PL_TIMEOUT register + pl_timeout_value = 10000 # the timeout value in units of us + + # The following Scatter Gather Engine (SGE) settings assume a 4KB Host + # Page Size and a 64B L1 Cache Line Size. It programs the + # EgrStatusPageSize and IngPadBoundary to 64B and the PktShift to 2. + # If a Master PF Driver finds itself on a machine with different + # parameters, then the Master PF Driver is responsible for initializing + # these parameters to appropriate values. + # + # Notes: + # 1. The Free List Buffer Sizes below are raw and the firmware will + # round them up to the Ingress Padding Boundary. + # 2. The SGE Timer Values below are expressed below in microseconds. + # The firmware will convert these values to Core Clock Ticks when + # it processes the configuration parameters. + # + reg[0x1008] = 0x40810/0x21c70 # SGE_CONTROL + reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE + reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD + reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0 + reg[0x1048] = 65536 # SGE_FL_BUFFER_SIZE1 + reg[0x104c] = 1536 # SGE_FL_BUFFER_SIZE2 + reg[0x1050] = 9024 # SGE_FL_BUFFER_SIZE3 + reg[0x1054] = 9216 # SGE_FL_BUFFER_SIZE4 + reg[0x1058] = 2048 # SGE_FL_BUFFER_SIZE5 + reg[0x105c] = 128 # SGE_FL_BUFFER_SIZE6 + reg[0x1060] = 8192 # SGE_FL_BUFFER_SIZE7 + reg[0x1064] = 16384 # SGE_FL_BUFFER_SIZE8 + reg[0x10a4] = 0x00280000/0x3ffc0000 # SGE_DBFIFO_STATUS + reg[0x1118] = 0x00002800/0x00003c00 # SGE_DBFIFO_STATUS2 + reg[0x10a8] = 0x402000/0x402000 # SGE_DOORBELL_CONTROL + + # SGE_THROTTLE_CONTROL + bar2throttlecount = 500 # bar2throttlecount in us + + sge_timer_value = 5, 10, 20, 50, 100, 200 # SGE_TIMER_VALUE* in usecs + + + reg[0x1124] = 0x00000400/0x00000400 # SGE_CONTROL2, enable VFIFO; if + # SGE_VFIFO_SIZE is not set, then + # firmware will set it up in function + # of number of egress queues used + + reg[0x1130] = 0x00d5ffeb # SGE_DBP_FETCH_THRESHOLD, fetch + # threshold set to queue depth + # minus 128-entries for FL and HP + # queues, and 0xfff for LP which + # prompts the firmware to set it up + # in function of egress queues + # used + + reg[0x113c] = 0x0002ffc0 # SGE_VFIFO_SIZE, set to 0x2ffc0 which + # prompts the firmware to set it up in + # function of number of egress queues + # used + + # enable TP_OUT_CONFIG.IPIDSPLITMODE + reg[0x7d04] = 0x00010000/0x00010000 + + # disable TP_PARA_REG3.RxFragEn + reg[0x7d6c] = 0x00000000/0x00007000 + + # enable TP_PARA_REG6.EnableCSnd + reg[0x7d78] = 0x00000400/0x00000000 + + reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT + + # TP_VLAN_PRI_MAP to select filter tuples and enable ServerSram + # filter control: compact, fcoemask + # server sram : srvrsram + # filter tuples : fragmentation, mpshittype, macmatch, ethertype, + # protocol, tos, vlan, vnic_id, port, fcoe + # valid filterModes are described the Terminator 5 Data Book + filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe + + # filter tuples enforced in LE active region (equal to or subset of filterMode) + filterMask = port, protocol + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP RX payload + tp_pmrx = 20 + + # TP RX payload page size + tp_pmrx_pagesize = 16K + + # TP number of RX channels + tp_nrxch = 0 # 0 (auto) = 1 + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP TX payload + tp_pmtx = 40 + + # TP TX payload page size + tp_pmtx_pagesize = 64K + + # TP number of TX channels + tp_ntxch = 0 # 0 (auto) = equal number of ports + + # TP OFLD MTUs + tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 + + # TP_GLOBAL_CONFIG + reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable + + # TP_PC_CONFIG + reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError + + # TP_PC_CONFIG2 + reg[0x7d4c] = 0x00010000/0x00010000 # set DisableNewPshFlag + + # TP_PARA_REG0 + reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6 + + # TP_PARA_REG3 + reg[0x7d6c] = 0x28000000/0x28000000 # set EnableTnlCngHdr + # set RxMacCheck (Note: + # Only for hash filter, + # no tcp offload) + + # TP_PIO_ADDR:TP_RX_LPBK + reg[tp_pio:0x28] = 0x00208208/0x00ffffff # set commit limits to 8 + + # MC configuration + mc_mode_brc[0] = 0 # mc0 - 1: enable BRC, 0: enable RBC + mc_mode_brc[1] = 0 # mc1 - 1: enable BRC, 0: enable RBC + + # ULP_TX_CONFIG + reg[0x8dc0] = 0x00000004/0x00000004 # Enable more error msg for ... + # TPT error. + +# Some "definitions" to make the rest of this a bit more readable. We support +# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets" +# per function per port ... +# +# NMSIX = 1088 # available MSI-X Vectors +# NVI = 128 # available Virtual Interfaces +# NMPSTCAM = 336 # MPS TCAM entries +# +# NPORTS = 4 # ports +# NCPUS = 8 # CPUs we want to support scalably +# NFUNCS = 3 # functions per port (NIC, FCoE, iSCSI) + +# Breakdown of Virtual Interface/Queue/Interrupt resources for the "Unified +# PF" which many OS Drivers will use to manage most or all functions. +# +# Each Ingress Queue can use one MSI-X interrupt but some Ingress Queues can +# use Forwarded Interrupt Ingress Queues. For these latter, an Ingress Queue +# would be created and the Queue ID of a Forwarded Interrupt Ingress Queue +# will be specified as the "Ingress Queue Asynchronous Destination Index." +# Thus, the number of MSI-X Vectors assigned to the Unified PF will be less +# than or equal to the number of Ingress Queues ... +# +# NVI_NIC = 4 # NIC access to NPORTS +# NFLIQ_NIC = 32 # NIC Ingress Queues with Free Lists +# NETHCTRL_NIC = 32 # NIC Ethernet Control/TX Queues +# NEQ_NIC = 64 # NIC Egress Queues (FL, ETHCTRL/TX) +# NMPSTCAM_NIC = 16 # NIC MPS TCAM Entries (NPORTS*4) +# NMSIX_NIC = 32 # NIC MSI-X Interrupt Vectors (FLIQ) +# +# NVI_OFLD = 0 # Offload uses NIC function to access ports +# NFLIQ_OFLD = 16 # Offload Ingress Queues with Free Lists +# NETHCTRL_OFLD = 0 # Offload Ethernet Control/TX Queues +# NEQ_OFLD = 16 # Offload Egress Queues (FL) +# NMPSTCAM_OFLD = 0 # Offload MPS TCAM Entries (uses NIC's) +# NMSIX_OFLD = 16 # Offload MSI-X Interrupt Vectors (FLIQ) +# +# NVI_RDMA = 0 # RDMA uses NIC function to access ports +# NFLIQ_RDMA = 4 # RDMA Ingress Queues with Free Lists +# NETHCTRL_RDMA = 0 # RDMA Ethernet Control/TX Queues +# NEQ_RDMA = 4 # RDMA Egress Queues (FL) +# NMPSTCAM_RDMA = 0 # RDMA MPS TCAM Entries (uses NIC's) +# NMSIX_RDMA = 4 # RDMA MSI-X Interrupt Vectors (FLIQ) +# +# NEQ_WD = 128 # Wire Direct TX Queues and FLs +# NETHCTRL_WD = 64 # Wire Direct TX Queues +# NFLIQ_WD = 64 ` # Wire Direct Ingress Queues with Free Lists +# +# NVI_ISCSI = 4 # ISCSI access to NPORTS +# NFLIQ_ISCSI = 4 # ISCSI Ingress Queues with Free Lists +# NETHCTRL_ISCSI = 0 # ISCSI Ethernet Control/TX Queues +# NEQ_ISCSI = 4 # ISCSI Egress Queues (FL) +# NMPSTCAM_ISCSI = 4 # ISCSI MPS TCAM Entries (NPORTS) +# NMSIX_ISCSI = 4 # ISCSI MSI-X Interrupt Vectors (FLIQ) +# +# NVI_FCOE = 4 # FCOE access to NPORTS +# NFLIQ_FCOE = 34 # FCOE Ingress Queues with Free Lists +# NETHCTRL_FCOE = 32 # FCOE Ethernet Control/TX Queues +# NEQ_FCOE = 66 # FCOE Egress Queues (FL) +# NMPSTCAM_FCOE = 32 # FCOE MPS TCAM Entries (NPORTS) +# NMSIX_FCOE = 34 # FCOE MSI-X Interrupt Vectors (FLIQ) + +# Two extra Ingress Queues per function for Firmware Events and Forwarded +# Interrupts, and two extra interrupts per function for Firmware Events (or a +# Forwarded Interrupt Queue) and General Interrupts per function. +# +# NFLIQ_EXTRA = 6 # "extra" Ingress Queues 2*NFUNCS (Firmware and +# # Forwarded Interrupts +# NMSIX_EXTRA = 6 # extra interrupts 2*NFUNCS (Firmware and +# # General Interrupts + +# Microsoft HyperV resources. The HyperV Virtual Ingress Queues will have +# their interrupts forwarded to another set of Forwarded Interrupt Queues. +# +# NVI_HYPERV = 16 # VMs we want to support +# NVIIQ_HYPERV = 2 # Virtual Ingress Queues with Free Lists per VM +# NFLIQ_HYPERV = 40 # VIQs + NCPUS Forwarded Interrupt Queues +# NEQ_HYPERV = 32 # VIQs Free Lists +# NMPSTCAM_HYPERV = 16 # MPS TCAM Entries (NVI_HYPERV) +# NMSIX_HYPERV = 8 # NCPUS Forwarded Interrupt Queues + +# Adding all of the above Unified PF resource needs together: (NIC + OFLD + +# RDMA + ISCSI + FCOE + EXTRA + HYPERV) +# +# NVI_UNIFIED = 28 +# NFLIQ_UNIFIED = 106 +# NETHCTRL_UNIFIED = 32 +# NEQ_UNIFIED = 124 +# NMPSTCAM_UNIFIED = 40 +# +# The sum of all the MSI-X resources above is 74 MSI-X Vectors but we'll round +# that up to 128 to make sure the Unified PF doesn't run out of resources. +# +# NMSIX_UNIFIED = 128 +# +# The Storage PFs could need up to NPORTS*NCPUS + NMSIX_EXTRA MSI-X Vectors +# which is 34 but they're probably safe with 32. +# +# NMSIX_STORAGE = 32 + +# Note: The UnifiedPF is PF4 which doesn't have any Virtual Functions +# associated with it. Thus, the MSI-X Vector allocations we give to the +# UnifiedPF aren't inherited by any Virtual Functions. As a result we can +# provision many more Virtual Functions than we can if the UnifiedPF were +# one of PF0-3. +# + +# All of the below PCI-E parameters are actually stored in various *_init.txt +# files. We include them below essentially as comments. +# +# For PF0-3 we assign 8 vectors each for NIC Ingress Queues of the associated +# ports 0-3. +# +# For PF4, the Unified PF, we give it an MSI-X Table Size as outlined above. +# +# For PF5-6 we assign enough MSI-X Vectors to support FCoE and iSCSI +# storage applications across all four possible ports. +# +# Additionally, since the UnifiedPF isn't one of the per-port Physical +# Functions, we give the UnifiedPF and the PF0-3 Physical Functions +# different PCI Device IDs which will allow Unified and Per-Port Drivers +# to directly select the type of Physical Function to which they wish to be +# attached. +# +# Note that the actual values used for the PCI-E Intelectual Property will be +# 1 less than those below since that's the way it "counts" things. For +# readability, we use the number we actually mean ... +# +# PF0_INT = 8 # NCPUS +# PF1_INT = 8 # NCPUS +# PF2_INT = 8 # NCPUS +# PF3_INT = 8 # NCPUS +# PF0_3_INT = 32 # PF0_INT + PF1_INT + PF2_INT + PF3_INT +# +# PF4_INT = 128 # NMSIX_UNIFIED +# PF5_INT = 32 # NMSIX_STORAGE +# PF6_INT = 32 # NMSIX_STORAGE +# PF7_INT = 0 # Nothing Assigned +# PF4_7_INT = 192 # PF4_INT + PF5_INT + PF6_INT + PF7_INT +# +# PF0_7_INT = 224 # PF0_3_INT + PF4_7_INT +# +# With the above we can get 17 VFs/PF0-3 (limited by 336 MPS TCAM entries) +# but we'll lower that to 16 to make our total 64 and a nice power of 2 ... +# +# NVF = 16 + + +# Some OS Drivers manage all application functions for all ports via PF4. +# Thus we need to provide a large number of resources here. For Egress +# Queues we need to account for both TX Queues as well as Free List Queues +# (because the host is responsible for producing Free List Buffers for the +# hardware to consume). +# +[function "4"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 8 # NVI_UNIFIED + rssnvi = 8 + niqflint = 320 # NFLIQ_UNIFIED + NLFIQ_WD + nethctrl = 320 # NETHCTRL_UNIFIED + NETHCTRL_WD + neq = 640 # NEQ_UNIFIED + NEQ_WD + nexactf = 40 # NMPSTCAM_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nroute = 32 # number of routing region entries + nclip = 32 # number of clip region entries + nfilter = 496 # number of filter region entries + nhash = 524288 # number of hash region entries + protocol = nic_hashfilter + tp_l2t = 4096 + + + +# The following function, 1023, is not an actual PCIE function but is used to +# configure and reserve firmware internal resources that come from the global +# resource pool. +# +[function "1023"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NVI_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nexactf = 8 # NPORTS + DCBX + + nfilter = 16 # number of filter region entries + + +# For Virtual functions, we only allow NIC functionality and we only allow +# access to one port (1 << PF). Note that because of limitations in the +# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL +# and GTS registers, the number of Ingress and Egress Queues must be a power +# of 2. +# +[function "0/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "1/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "2/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "3/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +# MPS features a 196608 bytes ingress buffer that is used for ingress buffering +# for packets from the wire as well as the loopback path of the L2 switch. The +# folling params control how the buffer memory is distributed and the L2 flow +# control settings: +# +# bg_mem: %-age of mem to use for port/buffer group +# lpbk_mem: %-age of port/bg mem to use for loopback +# hwm: high watermark; bytes available when starting to send pause +# frames (in units of 0.1 MTU) +# lwm: low watermark; bytes remaining when sending 'unpause' frame +# (in inuits of 0.1 MTU) +# dwm: minimum delta between high and low watermark (in units of 100 +# Bytes) +# +[port "0"] + dcb = 0 # configure for DCB PPP and enable DCBX offload + bg_mem = 25 + lpbk_mem = 0 + hwm = 30 + lwm = 15 + dwm = 30 + + +[port "1"] + dcb = 0 + bg_mem = 25 + lpbk_mem = 0 + hwm = 30 + lwm = 15 + dwm = 30 + + +[port "2"] + dcb = 0 + bg_mem = 25 + lpbk_mem = 0 + hwm = 30 + lwm = 15 + dwm = 30 + + +[port "3"] + dcb = 0 + bg_mem = 25 + hwm = 30 + lwm = 15 + dwm = 30 + +[fini] + version = 0x0a000025 + checksum = 0x94be1820 + +# Total resources used by above allocations: +# Virtual Interfaces: 104 +# Ingress Queues/w Free Lists and Interrupts: 526 +# Egress Queues: 702 +# MPS TCAM Entries: 336 +# MSI-X Vectors: 736 +# Virtual Functions: 64 diff --git a/cxgb4/configs/t6-config-default.txt b/cxgb4/configs/t6-config-default.txt new file mode 100644 index 0000000..b0145ab --- /dev/null +++ b/cxgb4/configs/t6-config-default.txt @@ -0,0 +1,603 @@ +# Chelsio T6 Factory Default configuration file. +# +# Copyright (C) 2014-2015 Chelsio Communications. All rights reserved. +# +# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE +# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE +# TO ADAPTERS. + + +# This file provides the default, power-on configuration for 2-port T6-based +# adapters shipped from the factory. These defaults are designed to address +# the needs of the vast majority of Terminator customers. The basic idea is to +# have a default configuration which allows a customer to plug a Terminator +# adapter in and have it work regardless of OS, driver or application except in +# the most unusual and/or demanding customer applications. +# +# Many of the Terminator resources which are described by this configuration +# are finite. This requires balancing the configuration/operation needs of +# device drivers across OSes and a large number of customer application. +# +# Some of the more important resources to allocate and their constaints are: +# 1. Virtual Interfaces: 256. +# 2. Ingress Queues with Free Lists: 1024. +# 3. Egress Queues: 128K. +# 4. MSI-X Vectors: 1088. +# 5. Multi-Port Support (MPS) TCAM: 336 entries to support MAC destination +# address matching on Ingress Packets. +# +# Some of the important OS/Driver resource needs are: +# 6. Some OS Drivers will manage all resources through a single Physical +# Function (currently PF4 but it could be any Physical Function). +# 7. Some OS Drivers will manage different ports and functions (NIC, +# storage, etc.) on different Physical Functions. For example, NIC +# functions for ports 0-1 on PF0-1, FCoE on PF4, iSCSI on PF5, etc. +# +# Some of the customer application needs which need to be accommodated: +# 8. Some customers will want to support large CPU count systems with +# good scaling. Thus, we'll need to accommodate a number of +# Ingress Queues and MSI-X Vectors to allow up to some number of CPUs +# to be involved per port and per application function. For example, +# in the case where all ports and application functions will be +# managed via a single Unified PF and we want to accommodate scaling up +# to 8 CPUs, we would want: +# +# 2 ports * +# 3 application functions (NIC, FCoE, iSCSI) per port * +# 16 Ingress Queue/MSI-X Vectors per application function +# +# for a total of 96 Ingress Queues and MSI-X Vectors on the Unified PF. +# (Plus a few for Firmware Event Queues, etc.) +# +# 9. Some customers will want to use PCI-E SR-IOV Capability to allow Virtual +# Machines to directly access T6 functionality via SR-IOV Virtual Functions +# and "PCI Device Passthrough" -- this is especially true for the NIC +# application functionality. +# + + +# Global configuration settings. +# +[global] + rss_glb_config_mode = basicvirtual + rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp + + # PL_TIMEOUT register + pl_timeout_value = 200 # the timeout value in units of us + + # The following Scatter Gather Engine (SGE) settings assume a 4KB Host + # Page Size and a 64B L1 Cache Line Size. It programs the + # EgrStatusPageSize and IngPadBoundary to 64B and the PktShift to 2. + # If a Master PF Driver finds itself on a machine with different + # parameters, then the Master PF Driver is responsible for initializing + # these parameters to appropriate values. + # + # Notes: + # 1. The Free List Buffer Sizes below are raw and the firmware will + # round them up to the Ingress Padding Boundary. + # 2. The SGE Timer Values below are expressed below in microseconds. + # The firmware will convert these values to Core Clock Ticks when + # it processes the configuration parameters. + # + reg[0x1008] = 0x40800/0x21c70 # SGE_CONTROL + reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE + reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD + reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0 + reg[0x1048] = 65536 # SGE_FL_BUFFER_SIZE1 + reg[0x104c] = 1536 # SGE_FL_BUFFER_SIZE2 + reg[0x1050] = 9024 # SGE_FL_BUFFER_SIZE3 + reg[0x1054] = 9216 # SGE_FL_BUFFER_SIZE4 + reg[0x1058] = 2048 # SGE_FL_BUFFER_SIZE5 + reg[0x105c] = 128 # SGE_FL_BUFFER_SIZE6 + reg[0x1060] = 8192 # SGE_FL_BUFFER_SIZE7 + reg[0x1064] = 16384 # SGE_FL_BUFFER_SIZE8 + + sge_timer_value = 5, 10, 20, 50, 100, 200 # SGE_TIMER_VALUE* in usecs + reg[0x10c4] = 0x20000000/0x20000000 # GK_CONTROL, enable 5th thread + + # Set the SGE Doorbell Queue Timer "tick" to 50us and initialize + # the Timer Table to a default set of values (which are multiples + # of the Timer Tick). Note that the set of Tick Multipliers are + # NOT sorted. The Host Drivers are expected to pick amongst them + # for (Tick * Multiplier[i]) values which most closely match the Host + # Drivers' needs. Also, most Host Drivers will be default start + # start with (Tick * Multiplier[0]), so this gives us some flexibility + # in terms of picking a Tick and a default Multiplier somewhere in + # the middle of the achievable set of (Tick * Multiplier[i]) values. + # Thus, the below select for 150us by this default. + # + sge_dbq_timertick = 50 + sge_dbq_timer = 3, 2, 1, 5, 7, 9, 12, 16 + + # enable TP_OUT_CONFIG.IPIDSPLITMODE + # Set TP_OUT_CONFIG.CCplAckMode to get srtt/rttvar + reg[0x7d04] = 0x00012000/0x00012000 + + reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT + + #Tick granularities in kbps + tsch_ticks = 100000, 10000, 1000, 10 + + # TP_VLAN_PRI_MAP to select filter tuples and enable ServerSram + # filter control: compact, fcoemask + # server sram : srvrsram + # filter tuples : fragmentation, mpshittype, macmatch, ethertype, + # protocol, tos, vlan, vnic_id, port, fcoe + # valid filterModes are described the Terminator 5 Data Book + # vnicMode = pf_vf #default. Other values are outer_vlan, encapsulation + filterMode = fcoemask, srvrsram, fragmentation, mpshittype, protocol, vlan, port, fcoe + + # filter tuples enforced in LE active region (equal to or subset of filterMode) + filterMask = protocol, fcoe + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP RX payload + tp_pmrx = 30 + + # TP RX payload page size + tp_pmrx_pagesize = 64K + + # TP number of RX channels + tp_nrxch = 0 # 0 (auto) = 1 + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP TX payload + tp_pmtx = 50 + + # TP TX payload page size + tp_pmtx_pagesize = 64K + + # TP number of TX channels + tp_ntxch = 0 # 0 (auto) = equal number of ports + + # TP OFLD MTUs + tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 + + # enable TP_OUT_CONFIG.IPIDSPLITMODE and CRXPKTENC + reg[0x7d04] = 0x00010008/0x00010008 + + # TP_GLOBAL_CONFIG + reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable + + # TP_PC_CONFIG + reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError + + # TP_PARA_REG0 + reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6 + + # ULPRX iSCSI Page Sizes + reg[0x19168] = 0x04020100 # 64K, 16K, 8K and 4K + + # LE_DB_CONFIG + reg[0x19c04] = 0x00000000/0x00440000 # LE Server SRAM disabled + # LE IPv4 compression disabled + # LE_DB_HASH_CONFIG + reg[0x19c28] = 0x00800000/0x01f00000 # LE Hash bucket size 8, + + # ULP_TX_CONFIG + reg[0x8dc0] = 0x00000104/0x00000104 # Enable ITT on PI err + # Enable more error msg for ... + # TPT error. + + # ULP_RX_MISC_FEATURE_ENABLE + #reg[0x1925c] = 0x01003400/0x01003400 # iscsi tag pi bit + # Enable offset decrement after ... + # PI extraction and before DDP + # ulp insert pi source info in DIF + # iscsi_eff_offset_en + + #Enable iscsi completion moderation feature + reg[0x1925c] = 0x000041c0/0x000031c0 # Enable offset decrement after + # PI extraction and before DDP. + # ulp insert pi source info in + # DIF. + # Enable iscsi hdr cmd mode. + # iscsi force cmd mode. + # Enable iscsi cmp mode. + # MC configuration + #mc_mode_brc[0] = 1 # mc0 - 1: enable BRC, 0: enable RBC, 2: enable BRBC + + # HMA configuration + hma_size = 92 # Size (in MBs) of host memory expected + hma_regions = stag,pbl,rq # What all regions to place in host memory + + #enable bottleneck-bw congestion control mode + #ofld_flags = 4 + +# Some "definitions" to make the rest of this a bit more readable. We support +# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets" +# per function per port ... +# +# NMSIX = 1088 # available MSI-X Vectors +# NVI = 256 # available Virtual Interfaces +# NMPSTCAM = 336 # MPS TCAM entries +# +# NPORTS = 2 # ports +# NCPUS = 16 # CPUs we want to support scalably +# NFUNCS = 3 # functions per port (NIC, FCoE, iSCSI) + +# Breakdown of Virtual Interface/Queue/Interrupt resources for the "Unified +# PF" which many OS Drivers will use to manage most or all functions. +# +# Each Ingress Queue can use one MSI-X interrupt but some Ingress Queues can +# use Forwarded Interrupt Ingress Queues. For these latter, an Ingress Queue +# would be created and the Queue ID of a Forwarded Interrupt Ingress Queue +# will be specified as the "Ingress Queue Asynchronous Destination Index." +# Thus, the number of MSI-X Vectors assigned to the Unified PF will be less +# than or equal to the number of Ingress Queues ... +# +# NVI_NIC = 4 # NIC access to NPORTS +# NFLIQ_NIC = 32 # NIC Ingress Queues with Free Lists +# NETHCTRL_NIC = 32 # NIC Ethernet Control/TX Queues +# NEQ_NIC = 64 # NIC Egress Queues (FL, ETHCTRL/TX) +# NMPSTCAM_NIC = 16 # NIC MPS TCAM Entries (NPORTS*4) +# NMSIX_NIC = 32 # NIC MSI-X Interrupt Vectors (FLIQ) +# +# NVI_OFLD = 0 # Offload uses NIC function to access ports +# NFLIQ_OFLD = 16 # Offload Ingress Queues with Free Lists +# NETHCTRL_OFLD = 0 # Offload Ethernet Control/TX Queues +# NEQ_OFLD = 16 # Offload Egress Queues (FL) +# NMPSTCAM_OFLD = 0 # Offload MPS TCAM Entries (uses NIC's) +# NMSIX_OFLD = 16 # Offload MSI-X Interrupt Vectors (FLIQ) +# +# NVI_RDMA = 0 # RDMA uses NIC function to access ports +# NFLIQ_RDMA = 4 # RDMA Ingress Queues with Free Lists +# NETHCTRL_RDMA = 0 # RDMA Ethernet Control/TX Queues +# NEQ_RDMA = 4 # RDMA Egress Queues (FL) +# NMPSTCAM_RDMA = 0 # RDMA MPS TCAM Entries (uses NIC's) +# NMSIX_RDMA = 4 # RDMA MSI-X Interrupt Vectors (FLIQ) +# +# NEQ_WD = 128 # Wire Direct TX Queues and FLs +# NETHCTRL_WD = 64 # Wire Direct TX Queues +# NFLIQ_WD = 64 ` # Wire Direct Ingress Queues with Free Lists +# +# NVI_ISCSI = 4 # ISCSI access to NPORTS +# NFLIQ_ISCSI = 4 # ISCSI Ingress Queues with Free Lists +# NETHCTRL_ISCSI = 0 # ISCSI Ethernet Control/TX Queues +# NEQ_ISCSI = 4 # ISCSI Egress Queues (FL) +# NMPSTCAM_ISCSI = 4 # ISCSI MPS TCAM Entries (NPORTS) +# NMSIX_ISCSI = 4 # ISCSI MSI-X Interrupt Vectors (FLIQ) +# +# NVI_FCOE = 4 # FCOE access to NPORTS +# NFLIQ_FCOE = 34 # FCOE Ingress Queues with Free Lists +# NETHCTRL_FCOE = 32 # FCOE Ethernet Control/TX Queues +# NEQ_FCOE = 66 # FCOE Egress Queues (FL) +# NMPSTCAM_FCOE = 32 # FCOE MPS TCAM Entries (NPORTS) +# NMSIX_FCOE = 34 # FCOE MSI-X Interrupt Vectors (FLIQ) + +# Two extra Ingress Queues per function for Firmware Events and Forwarded +# Interrupts, and two extra interrupts per function for Firmware Events (or a +# Forwarded Interrupt Queue) and General Interrupts per function. +# +# NFLIQ_EXTRA = 6 # "extra" Ingress Queues 2*NFUNCS (Firmware and +# # Forwarded Interrupts +# NMSIX_EXTRA = 6 # extra interrupts 2*NFUNCS (Firmware and +# # General Interrupts + +# Microsoft HyperV resources. The HyperV Virtual Ingress Queues will have +# their interrupts forwarded to another set of Forwarded Interrupt Queues. +# +# NVI_HYPERV = 16 # VMs we want to support +# NVIIQ_HYPERV = 2 # Virtual Ingress Queues with Free Lists per VM +# NFLIQ_HYPERV = 40 # VIQs + NCPUS Forwarded Interrupt Queues +# NEQ_HYPERV = 32 # VIQs Free Lists +# NMPSTCAM_HYPERV = 16 # MPS TCAM Entries (NVI_HYPERV) +# NMSIX_HYPERV = 8 # NCPUS Forwarded Interrupt Queues + +# Adding all of the above Unified PF resource needs together: (NIC + OFLD + +# RDMA + ISCSI + FCOE + EXTRA + HYPERV) +# +# NVI_UNIFIED = 28 +# NFLIQ_UNIFIED = 106 +# NETHCTRL_UNIFIED = 32 +# NEQ_UNIFIED = 124 +# NMPSTCAM_UNIFIED = 40 +# +# The sum of all the MSI-X resources above is 74 MSI-X Vectors but we'll round +# that up to 128 to make sure the Unified PF doesn't run out of resources. +# +# NMSIX_UNIFIED = 128 +# +# The Storage PFs could need up to NPORTS*NCPUS + NMSIX_EXTRA MSI-X Vectors +# which is 34 but they're probably safe with 32. +# +# NMSIX_STORAGE = 32 + +# Note: The UnifiedPF is PF4 which doesn't have any Virtual Functions +# associated with it. Thus, the MSI-X Vector allocations we give to the +# UnifiedPF aren't inherited by any Virtual Functions. As a result we can +# provision many more Virtual Functions than we can if the UnifiedPF were +# one of PF0-3. +# + +# All of the below PCI-E parameters are actually stored in various *_init.txt +# files. We include them below essentially as comments. +# +# For PF0-3 we assign 8 vectors each for NIC Ingress Queues of the associated +# ports 0-3. +# +# For PF4, the Unified PF, we give it an MSI-X Table Size as outlined above. +# +# For PF5-6 we assign enough MSI-X Vectors to support FCoE and iSCSI +# storage applications across all four possible ports. +# +# Additionally, since the UnifiedPF isn't one of the per-port Physical +# Functions, we give the UnifiedPF and the PF0-3 Physical Functions +# different PCI Device IDs which will allow Unified and Per-Port Drivers +# to directly select the type of Physical Function to which they wish to be +# attached. +# +# Note that the actual values used for the PCI-E Intelectual Property will be +# 1 less than those below since that's the way it "counts" things. For +# readability, we use the number we actually mean ... +# +# PF0_INT = 8 # NCPUS +# PF1_INT = 8 # NCPUS +# PF0_3_INT = 32 # PF0_INT + PF1_INT + PF2_INT + PF3_INT +# +# PF4_INT = 128 # NMSIX_UNIFIED +# PF5_INT = 32 # NMSIX_STORAGE +# PF6_INT = 32 # NMSIX_STORAGE +# PF7_INT = 0 # Nothing Assigned +# PF4_7_INT = 192 # PF4_INT + PF5_INT + PF6_INT + PF7_INT +# +# PF0_7_INT = 224 # PF0_3_INT + PF4_7_INT +# +# With the above we can get 17 VFs/PF0-3 (limited by 336 MPS TCAM entries) +# but we'll lower that to 16 to make our total 64 and a nice power of 2 ... +# +# NVF = 16 + + +# For those OSes which manage different ports on different PFs, we need +# only enough resources to support a single port's NIC application functions +# on PF0-3. The below assumes that we're only doing NIC with NCPUS "Queue +# Sets" for ports 0-3. The FCoE and iSCSI functions for such OSes will be +# managed on the "storage PFs" (see below). +# +[function "0"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x1 # access to only one port + + +[function "1"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x2 # access to only one port + +[function "2"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x4 # access to only one port + +[function "3"] + nvf = 16 # NVF on this function + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 1 # 1 port + niqflint = 8 # NCPUS "Queue Sets" + nethctrl = 8 # NCPUS "Queue Sets" + neq = 16 # niqflint + nethctrl Egress Queues + nexactf = 8 # number of exact MPSTCAM MAC filters + cmask = all # access to all channels + pmask = 0x8 # access to only one port + + +# Some OS Drivers manage all application functions for all ports via PF4. +# Thus we need to provide a large number of resources here. For Egress +# Queues we need to account for both TX Queues as well as Free List Queues +# (because the host is responsible for producing Free List Buffers for the +# hardware to consume). +# +[function "4"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 28 # NVI_UNIFIED + niqflint = 218 # NFLIQ_UNIFIED + NLFIQ_WD + NFLIQ_CRYPTO (32) + nethctrl = 116 # NETHCTRL_UNIFIED + NETHCTRL_WD + ncrypto_lookaside + neq = 256 # NEQ_UNIFIED + NEQ_WD + nqpcq = 12288 + nexactf = 40 # NMPSTCAM_UNIFIED + nrawf = 2 + cmask = all # access to all channels + pmask = all # access to all four ports ... + nethofld = 1024 # number of user mode ethernet flow contexts + ncrypto_lookaside = 16 # Number of lookaside flow contexts + nclip = 320 # number of clip region entries + nfilter = 496 # number of filter region entries + nserver = 496 # number of server region entries + nhash = 12288 # number of hash region entries + nhpfilter = 64 # number of high priority filter region entries + protocol = nic_vm, ofld, rddp, rdmac, iscsi_initiator_pdu, iscsi_target_pdu, iscsi_t10dif, tlskeys, crypto_lookaside, ipsec_inline, nic_hashfilter, nic_ktls_ofld + tp_l2t = 3072 + tp_ddp = 2 + tp_ddp_iscsi = 2 + tp_tls_key = 2 + tp_tls_mxrxsize = 17408 # 16384 + 1024, governs max rx data, pm max xfer len, rx coalesce sizes + tp_stag = 2 + tp_pbl = 7 + tp_rq = 7 + tp_srq = 128 + +# We have FCoE and iSCSI storage functions on PF5 and PF6 each of which may +# need to have Virtual Interfaces on each of the four ports with up to NCPUS +# "Queue Sets" each. +# +[function "5"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 64 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + nexactf = 16 # (NPORTS *(no of snmc grp + 1 hw mac) + 1 anmc grp)) rounded to 16. + cmask = all # access to all channels + pmask = all # access to all four ports ... + nserver = 16 + nhash = 2048 + tp_l2t = 1020 + nclip = 64 + protocol = iscsi_initiator_fofld + tp_ddp_iscsi = 2 + iscsi_ntask = 2048 + iscsi_nsess = 2048 + iscsi_nconn_per_session = 1 + iscsi_ninitiator_instance = 64 + + +[function "6"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NPORTS + niqflint = 34 # NPORTS*NCPUS + NMSIX_EXTRA + nethctrl = 32 # NPORTS*NCPUS + neq = 66 # NPORTS*NCPUS * 2 (FL, ETHCTRL/TX) + 2 (EXTRA) + nexactf = 32 # NPORTS + adding 28 exact entries for FCoE + # which is OK since < MIN(SUM PF0..3, PF4) + # and we never load PF0..3 and PF4 concurrently + cmask = all # access to all channels + pmask = all # access to all four ports ... + nhash = 2048 + tp_l2t = 4 + protocol = fcoe_initiator + tp_ddp = 1 + fcoe_nfcf = 16 + fcoe_nvnp = 32 + fcoe_nssn = 1024 + + +# The following function, 1023, is not an actual PCIE function but is used to +# configure and reserve firmware internal resources that come from the global +# resource pool. +# +[function "1023"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NVI_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nexactf = 8 # NPORTS + DCBX + + nfilter = 16 # number of filter region entries + + +# For Virtual functions, we only allow NIC functionality and we only allow +# access to one port (1 << PF). Note that because of limitations in the +# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL +# and GTS registers, the number of Ingress and Egress Queues must be a power +# of 2. +# +[function "0/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x1 # access to only one port ... + + +[function "1/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x2 # access to only one port ... + +[function "2/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x1 # access to only one port ... + + +[function "3/*"] # NVF + wx_caps = 0x82 # DMAQ | VF + r_caps = 0x86 # DMAQ | VF | PORT + nvi = 1 # 1 port + niqflint = 6 # 2 "Queue Sets" + NXIQ + nethctrl = 4 # 2 "Queue Sets" + neq = 8 # 2 "Queue Sets" * 2 + nexactf = 4 + cmask = all # access to all channels + pmask = 0x2 # access to only one port ... + +# MPS features a 196608 bytes ingress buffer that is used for ingress buffering +# for packets from the wire as well as the loopback path of the L2 switch. The +# folling params control how the buffer memory is distributed and the L2 flow +# control settings: +# +# bg_mem: %-age of mem to use for port/buffer group +# lpbk_mem: %-age of port/bg mem to use for loopback +# hwm: high watermark; bytes available when starting to send pause +# frames (in units of 0.1 MTU) +# lwm: low watermark; bytes remaining when sending 'unpause' frame +# (in inuits of 0.1 MTU) +# dwm: minimum delta between high and low watermark (in units of 100 +# Bytes) +# +[port "0"] + dcb = ppp, dcbx # configure for DCB PPP and enable DCBX offload + #bg_mem = 25 + #lpbk_mem = 25 + hwm = 60 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[port "1"] + dcb = ppp, dcbx + #bg_mem = 25 + #lpbk_mem = 25 + hwm = 60 + lwm = 15 + dwm = 30 + dcb_app_tlv[0] = 0x8906, ethertype, 3 + dcb_app_tlv[1] = 0x8914, ethertype, 3 + dcb_app_tlv[2] = 3260, socketnum, 5 + +[fini] + version = 0x1425001d + checksum = 0xa1403d73 + +# Total resources used by above allocations: +# Virtual Interfaces: 104 +# Ingress Queues/w Free Lists and Interrupts: 526 +# Egress Queues: 702 +# MPS TCAM Entries: 336 +# MSI-X Vectors: 736 +# Virtual Functions: 64 diff --git a/cxgb4/configs/t6-config-hashfilter.txt b/cxgb4/configs/t6-config-hashfilter.txt new file mode 100644 index 0000000..f8c7821 --- /dev/null +++ b/cxgb4/configs/t6-config-hashfilter.txt @@ -0,0 +1,430 @@ +# Chelsio T6 HASHFILTER configuration file. +# +# Copyright (C) 2014-2017 Chelsio Communications. All rights reserved. +# +# DO NOT MODIFY THIS FILE UNDER ANY CIRCUMSTANCES. MODIFICATION OF THIS FILE +# WILL RESULT IN A NON-FUNCTIONAL ADAPTER AND MAY RESULT IN PHYSICAL DAMAGE +# TO ADAPTERS. + + +# This file provides the default, power-on configuration for 2-port T6-based +# adapters shipped from the factory. These defaults are designed to address +# the needs of the vast majority of Terminator customers. The basic idea is to +# have a default configuration which allows a customer to plug a Terminator +# adapter in and have it work regardless of OS, driver or application except in +# the most unusual and/or demanding customer applications. +# +# Many of the Terminator resources which are described by this configuration +# are finite. This requires balancing the configuration/operation needs of +# device drivers across OSes and a large number of customer application. +# +# Some of the more important resources to allocate and their constaints are: +# 1. Virtual Interfaces: 256. +# 2. Ingress Queues with Free Lists: 1024. +# 3. Egress Queues: 128K. +# 4. MSI-X Vectors: 1088. +# 5. Multi-Port Support (MPS) TCAM: 336 entries to support MAC destination +# address matching on Ingress Packets. +# +# Some of the important OS/Driver resource needs are: +# 6. Some OS Drivers will manage all resources through a single Physical +# Function (currently PF4 but it could be any Physical Function). +# 7. Some OS Drivers will manage different ports and functions (NIC, +# storage, etc.) on different Physical Functions. For example, NIC +# functions for ports 0-1 on PF0-1, FCoE on PF4, iSCSI on PF5, etc. +# +# Some of the customer application needs which need to be accommodated: +# 8. Some customers will want to support large CPU count systems with +# good scaling. Thus, we'll need to accommodate a number of +# Ingress Queues and MSI-X Vectors to allow up to some number of CPUs +# to be involved per port and per application function. For example, +# in the case where all ports and application functions will be +# managed via a single Unified PF and we want to accommodate scaling up +# to 8 CPUs, we would want: +# +# 2 ports * +# 3 application functions (NIC, FCoE, iSCSI) per port * +# 16 Ingress Queue/MSI-X Vectors per application function +# +# for a total of 96 Ingress Queues and MSI-X Vectors on the Unified PF. +# (Plus a few for Firmware Event Queues, etc.) +# +# 9. Some customers will want to use PCI-E SR-IOV Capability to allow Virtual +# Machines to directly access T6 functionality via SR-IOV Virtual Functions +# and "PCI Device Passthrough" -- this is especially true for the NIC +# application functionality. +# + + +# Global configuration settings. +# +[global] + rss_glb_config_mode = basicvirtual + rss_glb_config_options = tnlmapen,hashtoeplitz,tnlalllkp + + # PL_TIMEOUT register + pl_timeout_value = 200 # the timeout value in units of us + + # The following Scatter Gather Engine (SGE) settings assume a 4KB Host + # Page Size and a 64B L1 Cache Line Size. It programs the + # EgrStatusPageSize and IngPadBoundary to 64B and the PktShift to 2. + # If a Master PF Driver finds itself on a machine with different + # parameters, then the Master PF Driver is responsible for initializing + # these parameters to appropriate values. + # + # Notes: + # 1. The Free List Buffer Sizes below are raw and the firmware will + # round them up to the Ingress Padding Boundary. + # 2. The SGE Timer Values below are expressed below in microseconds. + # The firmware will convert these values to Core Clock Ticks when + # it processes the configuration parameters. + # + reg[0x1008] = 0x40800/0x21c70 # SGE_CONTROL + reg[0x100c] = 0x22222222 # SGE_HOST_PAGE_SIZE + reg[0x10a0] = 0x01040810 # SGE_INGRESS_RX_THRESHOLD + reg[0x1044] = 4096 # SGE_FL_BUFFER_SIZE0 + reg[0x1048] = 65536 # SGE_FL_BUFFER_SIZE1 + reg[0x104c] = 1536 # SGE_FL_BUFFER_SIZE2 + reg[0x1050] = 9024 # SGE_FL_BUFFER_SIZE3 + reg[0x1054] = 9216 # SGE_FL_BUFFER_SIZE4 + reg[0x1058] = 2048 # SGE_FL_BUFFER_SIZE5 + reg[0x105c] = 128 # SGE_FL_BUFFER_SIZE6 + reg[0x1060] = 8192 # SGE_FL_BUFFER_SIZE7 + reg[0x1064] = 16384 # SGE_FL_BUFFER_SIZE8 + + sge_timer_value = 5, 10, 20, 50, 100, 200 # SGE_TIMER_VALUE* in usecs + reg[0x10c4] = 0x20000000/0x20000000 # GK_CONTROL, enable 5th thread + + # Set the SGE Doorbell Queue Timer "tick" to 5us and initialize + # the Timer Table to a default set of values (which are multiples + # + sge_dbq_timertick = 5 + sge_dbq_timer = 1, 2, 3, 5, 7, 9, 12, 16 + + # enable TP_OUT_CONFIG.IPIDSPLITMODE + reg[0x7d04] = 0x00010000/0x00010000 + + reg[0x7dc0] = 0x0e2f8849 # TP_SHIFT_CNT + + #Tick granularities in kbps + tsch_ticks = 100000, 10000, 1000, 10 + + # TP_VLAN_PRI_MAP to select filter tuples and enable ServerSram + # filter control: compact, fcoemask + # server sram : srvrsram + # filter tuples : fragmentation, mpshittype, macmatch, ethertype, + # protocol, tos, vlan, vnic_id, port, fcoe + # valid filterModes are described the Terminator 5 Data Book + # vnicMode = pf_vf #default. Other values are outer_vlan, encapsulation + filterMode = fragmentation, mpshittype, protocol, vlan, port, fcoe + + # filter tuples enforced in LE active region (equal to or subset of filterMode) + filterMask = port, protocol + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP RX payload + tp_pmrx = 20 + + # TP RX payload page size + tp_pmrx_pagesize = 16K + + # TP number of RX channels + tp_nrxch = 0 # 0 (auto) = 1 + + # Percentage of dynamic memory (in either the EDRAM or external MEM) + # to use for TP TX payload + tp_pmtx = 40 + + # TP TX payload page size + tp_pmtx_pagesize = 64K + + # TP number of TX channels + tp_ntxch = 0 # 0 (auto) = equal number of ports + + # TP OFLD MTUs + tp_mtus = 88, 256, 512, 576, 808, 1024, 1280, 1488, 1500, 2002, 2048, 4096, 4352, 8192, 9000, 9600 + + # enable TP_OUT_CONFIG.IPIDSPLITMODE and CRXPKTENC + reg[0x7d04] = 0x00010008/0x00010008 + + # TP_GLOBAL_CONFIG + reg[0x7d08] = 0x00000800/0x00000800 # set IssFromCplEnable + + # TP_PC_CONFIG + reg[0x7d48] = 0x00000000/0x00000400 # clear EnableFLMError + + # TP_PC_CONFIG2 + reg[0x7d4c] = 0x00010000/0x00010000 # set DisableNewPshFlag + + # TP_PARA_REG0 + reg[0x7d60] = 0x06000000/0x07000000 # set InitCWND to 6 + + # TP_PARA_REG3 + reg[0x7d6c] = 0x28000000/0x28000000 # set EnableTnlCngHdr + # set RxMacCheck (Note: + # Only for hash filter, + # no tcp offload) + + # LE_DB_CONFIG + reg[0x19c04] = 0x00000000/0x02040000 # LE IPv4 compression disabled + # EXTN_HASH_IPV4 Diable + + #LE_DB_RSP_CODE_0 + reg[0x19c74] = 0x00000004/0x0000000f # TCAM_ACTV_HIT = 4 + + #LE_DB_RSP_CODE_1 + reg[0x19c78] = 0x08000000/0x0e000000 # HASH_ACTV_HIT = 4 + + # LE_DB_HASH_CONFIG + reg[0x19c28] = 0x00800000/0x01f00000 # LE Hash bucket size 8, + + # MC configuration + mc_mode_brc[0] = 0 # mc0 - 1: enable BRC, 0: enable RBC, 2: enable BRBC + +# Some "definitions" to make the rest of this a bit more readable. We support +# 4 ports, 3 functions (NIC, FCoE and iSCSI), scaling up to 8 "CPU Queue Sets" +# per function per port ... +# +# NMSIX = 1088 # available MSI-X Vectors +# NVI = 256 # available Virtual Interfaces +# NMPSTCAM = 336 # MPS TCAM entries +# +# NPORTS = 2 # ports +# NCPUS = 16 # CPUs we want to support scalably +# NFUNCS = 3 # functions per port (NIC, FCoE, iSCSI) + +# Breakdown of Virtual Interface/Queue/Interrupt resources for the "Unified +# PF" which many OS Drivers will use to manage most or all functions. +# +# Each Ingress Queue can use one MSI-X interrupt but some Ingress Queues can +# use Forwarded Interrupt Ingress Queues. For these latter, an Ingress Queue +# would be created and the Queue ID of a Forwarded Interrupt Ingress Queue +# will be specified as the "Ingress Queue Asynchronous Destination Index." +# Thus, the number of MSI-X Vectors assigned to the Unified PF will be less +# than or equal to the number of Ingress Queues ... +# +# NVI_NIC = 4 # NIC access to NPORTS +# NFLIQ_NIC = 32 # NIC Ingress Queues with Free Lists +# NETHCTRL_NIC = 32 # NIC Ethernet Control/TX Queues +# NEQ_NIC = 64 # NIC Egress Queues (FL, ETHCTRL/TX) +# NMPSTCAM_NIC = 16 # NIC MPS TCAM Entries (NPORTS*4) +# NMSIX_NIC = 32 # NIC MSI-X Interrupt Vectors (FLIQ) +# +# NVI_OFLD = 0 # Offload uses NIC function to access ports +# NFLIQ_OFLD = 16 # Offload Ingress Queues with Free Lists +# NETHCTRL_OFLD = 0 # Offload Ethernet Control/TX Queues +# NEQ_OFLD = 16 # Offload Egress Queues (FL) +# NMPSTCAM_OFLD = 0 # Offload MPS TCAM Entries (uses NIC's) +# NMSIX_OFLD = 16 # Offload MSI-X Interrupt Vectors (FLIQ) +# +# NVI_RDMA = 0 # RDMA uses NIC function to access ports +# NFLIQ_RDMA = 4 # RDMA Ingress Queues with Free Lists +# NETHCTRL_RDMA = 0 # RDMA Ethernet Control/TX Queues +# NEQ_RDMA = 4 # RDMA Egress Queues (FL) +# NMPSTCAM_RDMA = 0 # RDMA MPS TCAM Entries (uses NIC's) +# NMSIX_RDMA = 4 # RDMA MSI-X Interrupt Vectors (FLIQ) +# +# NEQ_WD = 128 # Wire Direct TX Queues and FLs +# NETHCTRL_WD = 64 # Wire Direct TX Queues +# NFLIQ_WD = 64 ` # Wire Direct Ingress Queues with Free Lists +# +# NVI_ISCSI = 4 # ISCSI access to NPORTS +# NFLIQ_ISCSI = 4 # ISCSI Ingress Queues with Free Lists +# NETHCTRL_ISCSI = 0 # ISCSI Ethernet Control/TX Queues +# NEQ_ISCSI = 4 # ISCSI Egress Queues (FL) +# NMPSTCAM_ISCSI = 4 # ISCSI MPS TCAM Entries (NPORTS) +# NMSIX_ISCSI = 4 # ISCSI MSI-X Interrupt Vectors (FLIQ) +# +# NVI_FCOE = 4 # FCOE access to NPORTS +# NFLIQ_FCOE = 34 # FCOE Ingress Queues with Free Lists +# NETHCTRL_FCOE = 32 # FCOE Ethernet Control/TX Queues +# NEQ_FCOE = 66 # FCOE Egress Queues (FL) +# NMPSTCAM_FCOE = 32 # FCOE MPS TCAM Entries (NPORTS) +# NMSIX_FCOE = 34 # FCOE MSI-X Interrupt Vectors (FLIQ) + +# Two extra Ingress Queues per function for Firmware Events and Forwarded +# Interrupts, and two extra interrupts per function for Firmware Events (or a +# Forwarded Interrupt Queue) and General Interrupts per function. +# +# NFLIQ_EXTRA = 6 # "extra" Ingress Queues 2*NFUNCS (Firmware and +# # Forwarded Interrupts +# NMSIX_EXTRA = 6 # extra interrupts 2*NFUNCS (Firmware and +# # General Interrupts + +# Microsoft HyperV resources. The HyperV Virtual Ingress Queues will have +# their interrupts forwarded to another set of Forwarded Interrupt Queues. +# +# NVI_HYPERV = 16 # VMs we want to support +# NVIIQ_HYPERV = 2 # Virtual Ingress Queues with Free Lists per VM +# NFLIQ_HYPERV = 40 # VIQs + NCPUS Forwarded Interrupt Queues +# NEQ_HYPERV = 32 # VIQs Free Lists +# NMPSTCAM_HYPERV = 16 # MPS TCAM Entries (NVI_HYPERV) +# NMSIX_HYPERV = 8 # NCPUS Forwarded Interrupt Queues + +# Adding all of the above Unified PF resource needs together: (NIC + OFLD + +# RDMA + ISCSI + FCOE + EXTRA + HYPERV) +# +# NVI_UNIFIED = 28 +# NFLIQ_UNIFIED = 106 +# NETHCTRL_UNIFIED = 32 +# NEQ_UNIFIED = 124 +# NMPSTCAM_UNIFIED = 40 +# +# The sum of all the MSI-X resources above is 74 MSI-X Vectors but we'll round +# that up to 128 to make sure the Unified PF doesn't run out of resources. +# +# NMSIX_UNIFIED = 128 +# +# The Storage PFs could need up to NPORTS*NCPUS + NMSIX_EXTRA MSI-X Vectors +# which is 34 but they're probably safe with 32. +# +# NMSIX_STORAGE = 32 + +# Note: The UnifiedPF is PF4 which doesn't have any Virtual Functions +# associated with it. Thus, the MSI-X Vector allocations we give to the +# UnifiedPF aren't inherited by any Virtual Functions. As a result we can +# provision many more Virtual Functions than we can if the UnifiedPF were +# one of PF0-3. +# + +# All of the below PCI-E parameters are actually stored in various *_init.txt +# files. We include them below essentially as comments. +# +# For PF0-3 we assign 8 vectors each for NIC Ingress Queues of the associated +# ports 0-3. +# +# For PF4, the Unified PF, we give it an MSI-X Table Size as outlined above. +# +# For PF5-6 we assign enough MSI-X Vectors to support FCoE and iSCSI +# storage applications across all four possible ports. +# +# Additionally, since the UnifiedPF isn't one of the per-port Physical +# Functions, we give the UnifiedPF and the PF0-3 Physical Functions +# different PCI Device IDs which will allow Unified and Per-Port Drivers +# to directly select the type of Physical Function to which they wish to be +# attached. +# +# Note that the actual values used for the PCI-E Intelectual Property will be +# 1 less than those below since that's the way it "counts" things. For +# readability, we use the number we actually mean ... +# +# PF0_INT = 8 # NCPUS +# PF1_INT = 8 # NCPUS +# PF0_3_INT = 32 # PF0_INT + PF1_INT + PF2_INT + PF3_INT +# +# PF4_INT = 128 # NMSIX_UNIFIED +# PF5_INT = 32 # NMSIX_STORAGE +# PF6_INT = 32 # NMSIX_STORAGE +# PF7_INT = 0 # Nothing Assigned +# PF4_7_INT = 192 # PF4_INT + PF5_INT + PF6_INT + PF7_INT +# +# PF0_7_INT = 224 # PF0_3_INT + PF4_7_INT +# +# With the above we can get 17 VFs/PF0-3 (limited by 336 MPS TCAM entries) +# but we'll lower that to 16 to make our total 64 and a nice power of 2 ... +# +# NVF = 16 + + +# Some OS Drivers manage all application functions for all ports via PF4. +# Thus we need to provide a large number of resources here. For Egress +# Queues we need to account for both TX Queues as well as Free List Queues +# (because the host is responsible for producing Free List Buffers for the +# hardware to consume). +# +[function "4"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 8 # NVI_UNIFIED + rssnvi = 8 + niqflint = 320 # NFLIQ_UNIFIED + NLFIQ_WD + nethctrl = 320 # NETHCTRL_UNIFIED + NETHCTRL_WD + neq = 640 # NEQ_UNIFIED + NEQ_WD + nexactf = 40 # NMPSTCAM_UNIFIED + nrawf = 2 + cmask = all # access to all channels + pmask = all # access to all four ports ... + nclip = 384 # number of clip region entries + nfilter = 496 # number of filter region entries + nhash = 524288 # number of hash region entries + nhpfilter = 64 # number of high priority filter region entries + protocol = nic_hashfilter + tp_l2t = 4096 + +# The following function, 1023, is not an actual PCIE function but is used to +# configure and reserve firmware internal resources that come from the global +# resource pool. +# +[function "1023"] + wx_caps = all # write/execute permissions for all commands + r_caps = all # read permissions for all commands + nvi = 4 # NVI_UNIFIED + cmask = all # access to all channels + pmask = all # access to all four ports ... + nexactf = 8 # NPORTS + DCBX + + nfilter = 16 # number of filter region entries + + +# For Virtual functions, we only allow NIC functionality and we only allow +# access to one port (1 << PF). Note that because of limitations in the +# Scatter Gather Engine (SGE) hardware which checks writes to VF KDOORBELL +# and GTS registers, the number of Ingress and Egress Queues must be a power +# of 2. +# +[function "0/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "1/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "2/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +[function "3/*"] # NVF + nvi = 1 # 1 port + rssnvi = 0 + + +# MPS features a 196608 bytes ingress buffer that is used for ingress buffering +# for packets from the wire as well as the loopback path of the L2 switch. The +# folling params control how the buffer memory is distributed and the L2 flow +# control settings: +# +# bg_mem: %-age of mem to use for port/buffer group +# lpbk_mem: %-age of port/bg mem to use for loopback +# hwm: high watermark; bytes available when starting to send pause +# frames (in units of 0.1 MTU) +# lwm: low watermark; bytes remaining when sending 'unpause' frame +# (in inuits of 0.1 MTU) +# dwm: minimum delta between high and low watermark (in units of 100 +# Bytes) +# +[port "0"] + dcb = 0 # configure for DCB PPP and enable DCBX offload + hwm = 60 + lwm = 15 + dwm = 30 + +[port "1"] + dcb = 0 + hwm = 60 + lwm = 15 + dwm = 30 + +[fini] + version = 0x0a000025 + checksum = 0x1c3a42cf + +# Total resources used by above allocations: +# Virtual Interfaces: 104 +# Ingress Queues/w Free Lists and Interrupts: 526 +# Egress Queues: 702 +# MPS TCAM Entries: 336 +# MSI-X Vectors: 736 +# Virtual Functions: 64 diff --git a/cxgb4/t4fw-1.27.3.0.bin b/cxgb4/t4fw-1.27.3.0.bin new file mode 100644 index 0000000..e157678 Binary files /dev/null and b/cxgb4/t4fw-1.27.3.0.bin differ diff --git a/cxgb4/t5fw-1.27.3.0.bin b/cxgb4/t5fw-1.27.3.0.bin new file mode 100644 index 0000000..fcae45a Binary files /dev/null and b/cxgb4/t5fw-1.27.3.0.bin differ diff --git a/cxgb4/t6fw-1.27.3.0.bin b/cxgb4/t6fw-1.27.3.0.bin new file mode 100644 index 0000000..31bd701 Binary files /dev/null and b/cxgb4/t6fw-1.27.3.0.bin differ diff --git a/cypress/cyfmac43012-sdio.bin b/cypress/cyfmac43012-sdio.bin new file mode 100644 index 0000000..7a78e15 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 0000000..59f09f6 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 0000000..dcf894b 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 0000000..51d64d6 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 0000000..43e86ca 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 0000000..f3043f8 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 0000000..d93449f 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 0000000..2b241ea 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 0000000..4cf6d31 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 0000000..1e123ba 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 0000000..86d66e3 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 0000000..8904edc 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 0000000..c6ff170 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 0000000..63896b6 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 0000000..35ce375 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 0000000..97898b5 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 0000000..f14fd92 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 0000000..00ecde0 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 0000000..9d02997 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 0000000..70ef9f9 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 0000000..61f0d56 Binary files /dev/null and b/cypress/cyfmac54591-pcie.clm_blob differ diff --git a/dabusb/bitstream.bin b/dabusb/bitstream.bin new file mode 100644 index 0000000..acbc319 Binary files /dev/null and b/dabusb/bitstream.bin differ diff --git a/dabusb/firmware.fw b/dabusb/firmware.fw new file mode 100644 index 0000000..9df46d8 Binary files /dev/null and b/dabusb/firmware.fw differ diff --git a/dsp56k/Makefile b/dsp56k/Makefile new file mode 100644 index 0000000..c758a28 --- /dev/null +++ b/dsp56k/Makefile @@ -0,0 +1,6 @@ +bootstrap.bin: bootstrap.asm concat-bootstrap.pl + a56 bootstrap.asm >/dev/null + perl concat-bootstrap.pl bootstrap.bin + +clean: + rm -f a56.out bootstrap.bin diff --git a/dsp56k/bootstrap.asm b/dsp56k/bootstrap.asm new file mode 100644 index 0000000..a411047 --- /dev/null +++ b/dsp56k/bootstrap.asm @@ -0,0 +1,98 @@ +; Author: Frederik Noring +; +; This file is subject to the terms and conditions of the GNU General Public +; License. See the file COPYING in the main directory of this archive +; for more details. + +; DSP56k loader + +; Host Interface +M_BCR EQU $FFFE ; Port A Bus Control Register +M_PBC EQU $FFE0 ; Port B Control Register +M_PBDDR EQU $FFE2 ; Port B Data Direction Register +M_PBD EQU $FFE4 ; Port B Data Register +M_PCC EQU $FFE1 ; Port C Control Register +M_PCDDR EQU $FFE3 ; Port C Data Direction Register +M_PCD EQU $FFE5 ; Port C Data Register + +M_HCR EQU $FFE8 ; Host Control Register +M_HSR EQU $FFE9 ; Host Status Register +M_HRX EQU $FFEB ; Host Receive Data Register +M_HTX EQU $FFEB ; Host Transmit Data Register + +; SSI, Synchronous Serial Interface +M_RX EQU $FFEF ; Serial Receive Data Register +M_TX EQU $FFEF ; Serial Transmit Data Register +M_CRA EQU $FFEC ; SSI Control Register A +M_CRB EQU $FFED ; SSI Control Register B +M_SR EQU $FFEE ; SSI Status Register +M_TSR EQU $FFEE ; SSI Time Slot Register + +; Exception Processing +M_IPR EQU $FFFF ; Interrupt Priority Register + + org P:$0 +start jmp <$40 + + org P:$40 +; ; Zero 16384 DSP X and Y words +; clr A #0,r0 +; clr B #0,r4 +; do #64,<_block1 +; rep #256 +; move A,X:(r0)+ B,Y:(r4)+ +;_block1 ; Zero (32768-512) Program words +; clr A #512,r0 +; do #126,<_block2 +; rep #256 +; move A,P:(r0)+ +;_block2 + + ; Copy DSP program control + move #real,r0 + move #upload,r1 + do #upload_end-upload,_copy + movem P:(r0)+,x0 + movem x0,P:(r1)+ +_copy movep #4,X:<3,x0 + cmp x0,A #>1,x0 + jeq <$0 +_get_address + jclr #0,X:<2,x0 + jeq load_X + cmp x0,A + jeq load_Y + +load_P do y0,_load_P + jclr #0,X:<) { + if (/^P ([0-9A-F]{4}) ([0-9A-F]{6})\n/) { + $memory[hex($1)] = hex($2); + } elsif (/^I ([0-9A-F]{6}) (\w+)\n/) { + $symbol{$2} = hex($1); + } else { + print STDERR "W: did not recognise line $.\n"; + } +} + +# Concatenate first and second stage. Second stage is assembled +# between 'upload' and 'upload_end', but initially loaded at +# 'real' (end of the first stage). +for (0 .. ($symbol{real} - 1), $symbol{upload} .. ($symbol{upload_end} - 1)) { + my $word = $memory[$_] || 0; + print pack('CCC', $word / 65536, ($word / 256) % 256, $word % 256); +} diff --git a/dvb-fe-xc4000-1.4.1.fw b/dvb-fe-xc4000-1.4.1.fw new file mode 100644 index 0000000..d7e73e5 Binary files /dev/null and b/dvb-fe-xc4000-1.4.1.fw differ diff --git a/dvb-fe-xc5000-1.6.114.fw b/dvb-fe-xc5000-1.6.114.fw new file mode 100644 index 0000000..350f8c7 Binary files /dev/null and b/dvb-fe-xc5000-1.6.114.fw differ diff --git a/dvb-fe-xc5000c-4.1.30.7.fw b/dvb-fe-xc5000c-4.1.30.7.fw new file mode 100644 index 0000000..5786ffa Binary files /dev/null and b/dvb-fe-xc5000c-4.1.30.7.fw differ diff --git a/dvb-usb-dib0700-1.20.fw b/dvb-usb-dib0700-1.20.fw new file mode 100644 index 0000000..ce41240 Binary files /dev/null and b/dvb-usb-dib0700-1.20.fw differ diff --git a/dvb-usb-it9135-01.fw b/dvb-usb-it9135-01.fw new file mode 100644 index 0000000..ffb5122 Binary files /dev/null and b/dvb-usb-it9135-01.fw differ diff --git a/dvb-usb-it9135-02.fw b/dvb-usb-it9135-02.fw new file mode 100644 index 0000000..e4dadd1 Binary files /dev/null and b/dvb-usb-it9135-02.fw differ diff --git a/dvb-usb-terratec-h5-drxk.fw b/dvb-usb-terratec-h5-drxk.fw new file mode 100644 index 0000000..ebad392 Binary files /dev/null and b/dvb-usb-terratec-h5-drxk.fw differ diff --git a/dvb_nova_12mhz.inp b/dvb_nova_12mhz.inp new file mode 100644 index 0000000..9d173de Binary files /dev/null and b/dvb_nova_12mhz.inp differ diff --git a/dvb_nova_12mhz_b0.inp b/dvb_nova_12mhz_b0.inp new file mode 100644 index 0000000..f494fe2 Binary files /dev/null and b/dvb_nova_12mhz_b0.inp differ diff --git a/e100/d101m_ucode.bin b/e100/d101m_ucode.bin new file mode 100644 index 0000000..b700b75 Binary files /dev/null and b/e100/d101m_ucode.bin differ diff --git a/e100/d101s_ucode.bin b/e100/d101s_ucode.bin new file mode 100644 index 0000000..d869e06 Binary files /dev/null and b/e100/d101s_ucode.bin differ diff --git a/e100/d102e_ucode.bin b/e100/d102e_ucode.bin new file mode 100644 index 0000000..3cfc65b Binary files /dev/null and b/e100/d102e_ucode.bin differ diff --git a/ene-ub6250/ms_init.bin b/ene-ub6250/ms_init.bin new file mode 100644 index 0000000..613f0ed Binary files /dev/null and b/ene-ub6250/ms_init.bin differ diff --git a/ene-ub6250/ms_rdwr.bin b/ene-ub6250/ms_rdwr.bin new file mode 100644 index 0000000..f2a8df8 Binary files /dev/null and b/ene-ub6250/ms_rdwr.bin differ diff --git a/ene-ub6250/msp_rdwr.bin b/ene-ub6250/msp_rdwr.bin new file mode 100644 index 0000000..dfba6ce Binary files /dev/null and b/ene-ub6250/msp_rdwr.bin differ diff --git a/ene-ub6250/sd_init1.bin b/ene-ub6250/sd_init1.bin new file mode 100644 index 0000000..7574f88 Binary files /dev/null and b/ene-ub6250/sd_init1.bin differ diff --git a/ene-ub6250/sd_init2.bin b/ene-ub6250/sd_init2.bin new file mode 100644 index 0000000..0d29019 Binary files /dev/null and b/ene-ub6250/sd_init2.bin differ diff --git a/ene-ub6250/sd_rdwr.bin b/ene-ub6250/sd_rdwr.bin new file mode 100644 index 0000000..938a1b2 Binary files /dev/null and b/ene-ub6250/sd_rdwr.bin differ diff --git a/f2255usb.bin b/f2255usb.bin new file mode 100644 index 0000000..0e3f483 Binary files /dev/null and b/f2255usb.bin differ diff --git a/go7007/go7007fw.bin b/go7007/go7007fw.bin new file mode 100644 index 0000000..5d44b82 Binary files /dev/null and b/go7007/go7007fw.bin differ diff --git a/go7007/go7007tv.bin b/go7007/go7007tv.bin new file mode 100644 index 0000000..24a7abd Binary files /dev/null and b/go7007/go7007tv.bin differ diff --git a/go7007/lr192.fw b/go7007/lr192.fw new file mode 100644 index 0000000..09e2d94 Binary files /dev/null and b/go7007/lr192.fw differ diff --git a/go7007/px-m402u.fw b/go7007/px-m402u.fw new file mode 100644 index 0000000..f422163 Binary files /dev/null and b/go7007/px-m402u.fw differ diff --git a/go7007/px-tv402u.fw b/go7007/px-tv402u.fw new file mode 100644 index 0000000..8ca03ac Binary files /dev/null and b/go7007/px-tv402u.fw differ diff --git a/go7007/s2250-1.fw b/go7007/s2250-1.fw new file mode 100644 index 0000000..da70aab Binary files /dev/null and b/go7007/s2250-1.fw differ diff --git a/go7007/s2250-2.fw b/go7007/s2250-2.fw new file mode 100644 index 0000000..86fdbdf Binary files /dev/null and b/go7007/s2250-2.fw differ diff --git a/go7007/wis-startrek.fw b/go7007/wis-startrek.fw new file mode 100644 index 0000000..a119517 Binary files /dev/null and b/go7007/wis-startrek.fw differ diff --git a/hfi1_dc8051.fw b/hfi1_dc8051.fw new file mode 100644 index 0000000..27db204 Binary files /dev/null and b/hfi1_dc8051.fw differ diff --git a/hfi1_fabric.fw b/hfi1_fabric.fw new file mode 100644 index 0000000..7ae8e17 Binary files /dev/null and b/hfi1_fabric.fw differ diff --git a/hfi1_pcie.fw b/hfi1_pcie.fw new file mode 100644 index 0000000..186e69d Binary files /dev/null and b/hfi1_pcie.fw differ diff --git a/hfi1_sbus.fw b/hfi1_sbus.fw new file mode 100644 index 0000000..f607e2a Binary files /dev/null and b/hfi1_sbus.fw differ diff --git a/htc_7010.fw b/htc_7010.fw new file mode 100644 index 0000000..e391366 Binary files /dev/null and b/htc_7010.fw differ diff --git a/htc_9271.fw b/htc_9271.fw new file mode 100644 index 0000000..e02f6c3 Binary files /dev/null and b/htc_9271.fw differ diff --git a/i915/adlp_dmc.bin b/i915/adlp_dmc.bin new file mode 100644 index 0000000..ea6c06a Binary files /dev/null and b/i915/adlp_dmc.bin differ diff --git a/i915/adlp_dmc_ver2_09.bin b/i915/adlp_dmc_ver2_09.bin new file mode 100644 index 0000000..dc78fa0 Binary files /dev/null and b/i915/adlp_dmc_ver2_09.bin differ diff --git a/i915/adlp_dmc_ver2_10.bin b/i915/adlp_dmc_ver2_10.bin new file mode 100644 index 0000000..89a33d2 Binary files /dev/null and b/i915/adlp_dmc_ver2_10.bin differ diff --git a/i915/adlp_dmc_ver2_12.bin b/i915/adlp_dmc_ver2_12.bin new file mode 100644 index 0000000..94b5380 Binary files /dev/null and b/i915/adlp_dmc_ver2_12.bin differ diff --git a/i915/adlp_dmc_ver2_14.bin b/i915/adlp_dmc_ver2_14.bin new file mode 100644 index 0000000..16cec78 Binary files /dev/null and b/i915/adlp_dmc_ver2_14.bin differ diff --git a/i915/adlp_dmc_ver2_16.bin b/i915/adlp_dmc_ver2_16.bin new file mode 100644 index 0000000..6f4d918 Binary files /dev/null and b/i915/adlp_dmc_ver2_16.bin differ diff --git a/i915/adlp_guc_62.0.3.bin b/i915/adlp_guc_62.0.3.bin new file mode 100644 index 0000000..e5eafaa Binary files /dev/null and b/i915/adlp_guc_62.0.3.bin differ diff --git a/i915/adlp_guc_69.0.3.bin b/i915/adlp_guc_69.0.3.bin new file mode 100644 index 0000000..72924ff Binary files /dev/null and b/i915/adlp_guc_69.0.3.bin differ diff --git a/i915/adlp_guc_70.1.1.bin b/i915/adlp_guc_70.1.1.bin new file mode 100644 index 0000000..279c35f Binary files /dev/null and b/i915/adlp_guc_70.1.1.bin differ diff --git a/i915/adlp_guc_70.bin b/i915/adlp_guc_70.bin new file mode 100644 index 0000000..b96789e Binary files /dev/null and b/i915/adlp_guc_70.bin differ diff --git a/i915/adls_dmc_ver2_01.bin b/i915/adls_dmc_ver2_01.bin new file mode 100644 index 0000000..492d27e Binary files /dev/null and b/i915/adls_dmc_ver2_01.bin differ diff --git a/i915/bxt_dmc_ver1_07.bin b/i915/bxt_dmc_ver1_07.bin new file mode 100644 index 0000000..5d1117b Binary files /dev/null and b/i915/bxt_dmc_ver1_07.bin differ diff --git a/i915/bxt_guc_32.0.3.bin b/i915/bxt_guc_32.0.3.bin new file mode 100644 index 0000000..654d124 Binary files /dev/null and b/i915/bxt_guc_32.0.3.bin differ diff --git a/i915/bxt_guc_33.0.0.bin b/i915/bxt_guc_33.0.0.bin new file mode 100644 index 0000000..e42b8c5 Binary files /dev/null and b/i915/bxt_guc_33.0.0.bin differ diff --git a/i915/bxt_guc_49.0.1.bin b/i915/bxt_guc_49.0.1.bin new file mode 100644 index 0000000..5ac4890 Binary files /dev/null and b/i915/bxt_guc_49.0.1.bin differ diff --git a/i915/bxt_guc_62.0.0.bin b/i915/bxt_guc_62.0.0.bin new file mode 100644 index 0000000..2381605 Binary files /dev/null and b/i915/bxt_guc_62.0.0.bin differ diff --git a/i915/bxt_guc_69.0.3.bin b/i915/bxt_guc_69.0.3.bin new file mode 100644 index 0000000..c4476a2 Binary files /dev/null and b/i915/bxt_guc_69.0.3.bin differ diff --git a/i915/bxt_guc_70.1.1.bin b/i915/bxt_guc_70.1.1.bin new file mode 100644 index 0000000..b7dcffe Binary files /dev/null and b/i915/bxt_guc_70.1.1.bin differ diff --git a/i915/bxt_guc_ver8_7.bin b/i915/bxt_guc_ver8_7.bin new file mode 100644 index 0000000..ca59c29 Binary files /dev/null and b/i915/bxt_guc_ver8_7.bin differ diff --git a/i915/bxt_guc_ver9_29.bin b/i915/bxt_guc_ver9_29.bin new file mode 100644 index 0000000..434d1a2 Binary files /dev/null and b/i915/bxt_guc_ver9_29.bin differ diff --git a/i915/bxt_huc_2.0.0.bin b/i915/bxt_huc_2.0.0.bin new file mode 100644 index 0000000..e8942e1 Binary files /dev/null and b/i915/bxt_huc_2.0.0.bin differ diff --git a/i915/bxt_huc_ver01_07_1398.bin b/i915/bxt_huc_ver01_07_1398.bin new file mode 100644 index 0000000..ca9cde9 Binary files /dev/null and b/i915/bxt_huc_ver01_07_1398.bin differ diff --git a/i915/bxt_huc_ver01_8_2893.bin b/i915/bxt_huc_ver01_8_2893.bin new file mode 100644 index 0000000..0aa5afc Binary files /dev/null and b/i915/bxt_huc_ver01_8_2893.bin differ diff --git a/i915/cml_guc_33.0.0.bin b/i915/cml_guc_33.0.0.bin new file mode 100644 index 0000000..82018b9 Binary files /dev/null and b/i915/cml_guc_33.0.0.bin differ diff --git a/i915/cml_guc_49.0.1.bin b/i915/cml_guc_49.0.1.bin new file mode 100644 index 0000000..f232aa8 Binary files /dev/null and b/i915/cml_guc_49.0.1.bin differ diff --git a/i915/cml_guc_62.0.0.bin b/i915/cml_guc_62.0.0.bin new file mode 100644 index 0000000..fd8e21b Binary files /dev/null and b/i915/cml_guc_62.0.0.bin differ diff --git a/i915/cml_guc_69.0.3.bin b/i915/cml_guc_69.0.3.bin new file mode 100644 index 0000000..c1fd78b Binary files /dev/null and b/i915/cml_guc_69.0.3.bin differ diff --git a/i915/cml_guc_70.1.1.bin b/i915/cml_guc_70.1.1.bin new file mode 100644 index 0000000..93c8f77 Binary files /dev/null and b/i915/cml_guc_70.1.1.bin differ diff --git a/i915/cml_huc_4.0.0.bin b/i915/cml_huc_4.0.0.bin new file mode 100644 index 0000000..94587b0 Binary files /dev/null and b/i915/cml_huc_4.0.0.bin differ diff --git a/i915/cnl_dmc_ver1_07.bin b/i915/cnl_dmc_ver1_07.bin new file mode 100644 index 0000000..7a59c0e Binary files /dev/null and b/i915/cnl_dmc_ver1_07.bin differ diff --git a/i915/dg1_dmc_ver2_02.bin b/i915/dg1_dmc_ver2_02.bin new file mode 100644 index 0000000..8f24c92 Binary files /dev/null and b/i915/dg1_dmc_ver2_02.bin differ diff --git a/i915/dg1_guc_49.0.1.bin b/i915/dg1_guc_49.0.1.bin new file mode 100644 index 0000000..0083e8c Binary files /dev/null and b/i915/dg1_guc_49.0.1.bin differ diff --git a/i915/dg1_guc_62.0.0.bin b/i915/dg1_guc_62.0.0.bin new file mode 100644 index 0000000..a10d009 Binary files /dev/null and b/i915/dg1_guc_62.0.0.bin differ diff --git a/i915/dg1_guc_69.0.3.bin b/i915/dg1_guc_69.0.3.bin new file mode 100644 index 0000000..dbb9428 Binary files /dev/null and b/i915/dg1_guc_69.0.3.bin differ diff --git a/i915/dg1_guc_70.1.1.bin b/i915/dg1_guc_70.1.1.bin new file mode 100644 index 0000000..3fa8fd7 Binary files /dev/null and b/i915/dg1_guc_70.1.1.bin differ diff --git a/i915/dg1_guc_70.bin b/i915/dg1_guc_70.bin new file mode 100644 index 0000000..6176840 Binary files /dev/null and b/i915/dg1_guc_70.bin differ diff --git a/i915/dg1_huc.bin b/i915/dg1_huc.bin new file mode 100644 index 0000000..1066f68 Binary files /dev/null and b/i915/dg1_huc.bin differ diff --git a/i915/dg1_huc_7.7.1.bin b/i915/dg1_huc_7.7.1.bin new file mode 100644 index 0000000..79e0dec Binary files /dev/null and b/i915/dg1_huc_7.7.1.bin differ diff --git a/i915/dg1_huc_7.9.3.bin b/i915/dg1_huc_7.9.3.bin new file mode 100644 index 0000000..1066f68 Binary files /dev/null and b/i915/dg1_huc_7.9.3.bin differ diff --git a/i915/dg2_dmc_ver2_06.bin b/i915/dg2_dmc_ver2_06.bin new file mode 100644 index 0000000..7eeeab2 Binary files /dev/null and b/i915/dg2_dmc_ver2_06.bin differ diff --git a/i915/dg2_dmc_ver2_07.bin b/i915/dg2_dmc_ver2_07.bin new file mode 100644 index 0000000..b355454 Binary files /dev/null and b/i915/dg2_dmc_ver2_07.bin differ diff --git a/i915/dg2_dmc_ver2_08.bin b/i915/dg2_dmc_ver2_08.bin new file mode 100644 index 0000000..1ae1909 Binary files /dev/null and b/i915/dg2_dmc_ver2_08.bin differ diff --git a/i915/dg2_guc_70.1.2.bin b/i915/dg2_guc_70.1.2.bin new file mode 100644 index 0000000..252cd91 Binary files /dev/null and b/i915/dg2_guc_70.1.2.bin differ diff --git a/i915/dg2_guc_70.4.1.bin b/i915/dg2_guc_70.4.1.bin new file mode 100644 index 0000000..d307715 Binary files /dev/null and b/i915/dg2_guc_70.4.1.bin differ diff --git a/i915/dg2_guc_70.bin b/i915/dg2_guc_70.bin new file mode 100644 index 0000000..bbda69d Binary files /dev/null and b/i915/dg2_guc_70.bin differ diff --git a/i915/dg2_huc_gsc.bin b/i915/dg2_huc_gsc.bin new file mode 100755 index 0000000..f843808 Binary files /dev/null and b/i915/dg2_huc_gsc.bin differ diff --git a/i915/ehl_guc_33.0.4.bin b/i915/ehl_guc_33.0.4.bin new file mode 100644 index 0000000..ff6792d Binary files /dev/null and b/i915/ehl_guc_33.0.4.bin differ diff --git a/i915/ehl_guc_49.0.1.bin b/i915/ehl_guc_49.0.1.bin new file mode 100644 index 0000000..5a298e7 Binary files /dev/null and b/i915/ehl_guc_49.0.1.bin differ diff --git a/i915/ehl_guc_62.0.0.bin b/i915/ehl_guc_62.0.0.bin new file mode 100644 index 0000000..b3af3d8 Binary files /dev/null and b/i915/ehl_guc_62.0.0.bin differ diff --git a/i915/ehl_guc_69.0.3.bin b/i915/ehl_guc_69.0.3.bin new file mode 100644 index 0000000..d0f5f31 Binary files /dev/null and b/i915/ehl_guc_69.0.3.bin differ diff --git a/i915/ehl_guc_70.1.1.bin b/i915/ehl_guc_70.1.1.bin new file mode 100644 index 0000000..da2252a Binary files /dev/null and b/i915/ehl_guc_70.1.1.bin differ diff --git a/i915/ehl_huc_9.0.0.bin b/i915/ehl_huc_9.0.0.bin new file mode 100644 index 0000000..7e799e3 Binary files /dev/null and b/i915/ehl_huc_9.0.0.bin differ diff --git a/i915/glk_dmc_ver1_04.bin b/i915/glk_dmc_ver1_04.bin new file mode 100644 index 0000000..4320bf0 Binary files /dev/null and b/i915/glk_dmc_ver1_04.bin differ diff --git a/i915/glk_guc_32.0.3.bin b/i915/glk_guc_32.0.3.bin new file mode 100644 index 0000000..cd904a6 Binary files /dev/null and b/i915/glk_guc_32.0.3.bin differ diff --git a/i915/glk_guc_33.0.0.bin b/i915/glk_guc_33.0.0.bin new file mode 100644 index 0000000..750242c Binary files /dev/null and b/i915/glk_guc_33.0.0.bin differ diff --git a/i915/glk_guc_49.0.1.bin b/i915/glk_guc_49.0.1.bin new file mode 100644 index 0000000..95e3d50 Binary files /dev/null and b/i915/glk_guc_49.0.1.bin differ diff --git a/i915/glk_guc_62.0.0.bin b/i915/glk_guc_62.0.0.bin new file mode 100644 index 0000000..6ac3499 Binary files /dev/null and b/i915/glk_guc_62.0.0.bin differ diff --git a/i915/glk_guc_69.0.3.bin b/i915/glk_guc_69.0.3.bin new file mode 100644 index 0000000..94fe8bb Binary files /dev/null and b/i915/glk_guc_69.0.3.bin differ diff --git a/i915/glk_guc_70.1.1.bin b/i915/glk_guc_70.1.1.bin new file mode 100644 index 0000000..f58a558 Binary files /dev/null and b/i915/glk_guc_70.1.1.bin differ diff --git a/i915/glk_huc_4.0.0.bin b/i915/glk_huc_4.0.0.bin new file mode 100644 index 0000000..27ca115 Binary files /dev/null and b/i915/glk_huc_4.0.0.bin differ diff --git a/i915/glk_huc_ver03_01_2893.bin b/i915/glk_huc_ver03_01_2893.bin new file mode 100644 index 0000000..f9c880e Binary files /dev/null and b/i915/glk_huc_ver03_01_2893.bin differ diff --git a/i915/icl_dmc_ver1_07.bin b/i915/icl_dmc_ver1_07.bin new file mode 100644 index 0000000..eff9d9e Binary files /dev/null and b/i915/icl_dmc_ver1_07.bin differ diff --git a/i915/icl_dmc_ver1_09.bin b/i915/icl_dmc_ver1_09.bin new file mode 100644 index 0000000..06faf41 Binary files /dev/null and b/i915/icl_dmc_ver1_09.bin differ diff --git a/i915/icl_guc_32.0.3.bin b/i915/icl_guc_32.0.3.bin new file mode 100644 index 0000000..06ea8ad Binary files /dev/null and b/i915/icl_guc_32.0.3.bin differ diff --git a/i915/icl_guc_33.0.0.bin b/i915/icl_guc_33.0.0.bin new file mode 100644 index 0000000..df06c2e Binary files /dev/null and b/i915/icl_guc_33.0.0.bin differ diff --git a/i915/icl_guc_49.0.1.bin b/i915/icl_guc_49.0.1.bin new file mode 100644 index 0000000..417145e Binary files /dev/null and b/i915/icl_guc_49.0.1.bin differ diff --git a/i915/icl_guc_62.0.0.bin b/i915/icl_guc_62.0.0.bin new file mode 100644 index 0000000..782d323 Binary files /dev/null and b/i915/icl_guc_62.0.0.bin differ diff --git a/i915/icl_guc_69.0.3.bin b/i915/icl_guc_69.0.3.bin new file mode 100644 index 0000000..de059b7 Binary files /dev/null and b/i915/icl_guc_69.0.3.bin differ diff --git a/i915/icl_guc_70.1.1.bin b/i915/icl_guc_70.1.1.bin new file mode 100644 index 0000000..d1ce428 Binary files /dev/null and b/i915/icl_guc_70.1.1.bin differ diff --git a/i915/icl_huc_9.0.0.bin b/i915/icl_huc_9.0.0.bin new file mode 100644 index 0000000..3d9c398 Binary files /dev/null and b/i915/icl_huc_9.0.0.bin differ diff --git a/i915/icl_huc_ver8_4_3238.bin b/i915/icl_huc_ver8_4_3238.bin new file mode 100644 index 0000000..a484321 Binary files /dev/null and b/i915/icl_huc_ver8_4_3238.bin differ diff --git a/i915/kbl_dmc_ver1_01.bin b/i915/kbl_dmc_ver1_01.bin new file mode 100644 index 0000000..d1bc1c3 Binary files /dev/null and b/i915/kbl_dmc_ver1_01.bin differ diff --git a/i915/kbl_dmc_ver1_04.bin b/i915/kbl_dmc_ver1_04.bin new file mode 100644 index 0000000..487b7e5 Binary files /dev/null and b/i915/kbl_dmc_ver1_04.bin differ diff --git a/i915/kbl_guc_32.0.3.bin b/i915/kbl_guc_32.0.3.bin new file mode 100644 index 0000000..d3b8a44 Binary files /dev/null and b/i915/kbl_guc_32.0.3.bin differ diff --git a/i915/kbl_guc_33.0.0.bin b/i915/kbl_guc_33.0.0.bin new file mode 100644 index 0000000..e1b9377 Binary files /dev/null and b/i915/kbl_guc_33.0.0.bin differ diff --git a/i915/kbl_guc_49.0.1.bin b/i915/kbl_guc_49.0.1.bin new file mode 100644 index 0000000..942b034 Binary files /dev/null and b/i915/kbl_guc_49.0.1.bin differ diff --git a/i915/kbl_guc_62.0.0.bin b/i915/kbl_guc_62.0.0.bin new file mode 100644 index 0000000..18896bc Binary files /dev/null and b/i915/kbl_guc_62.0.0.bin differ diff --git a/i915/kbl_guc_69.0.3.bin b/i915/kbl_guc_69.0.3.bin new file mode 100644 index 0000000..bc6e47e Binary files /dev/null and b/i915/kbl_guc_69.0.3.bin differ diff --git a/i915/kbl_guc_70.1.1.bin b/i915/kbl_guc_70.1.1.bin new file mode 100644 index 0000000..7633552 Binary files /dev/null and b/i915/kbl_guc_70.1.1.bin differ diff --git a/i915/kbl_guc_ver9_14.bin b/i915/kbl_guc_ver9_14.bin new file mode 100644 index 0000000..e5b979e Binary files /dev/null and b/i915/kbl_guc_ver9_14.bin differ diff --git a/i915/kbl_guc_ver9_39.bin b/i915/kbl_guc_ver9_39.bin new file mode 100644 index 0000000..5a8b5b5 Binary files /dev/null and b/i915/kbl_guc_ver9_39.bin differ diff --git a/i915/kbl_huc_4.0.0.bin b/i915/kbl_huc_4.0.0.bin new file mode 100644 index 0000000..da17bb7 Binary files /dev/null and b/i915/kbl_huc_4.0.0.bin differ diff --git a/i915/kbl_huc_ver02_00_1810.bin b/i915/kbl_huc_ver02_00_1810.bin new file mode 100644 index 0000000..4a210b4 Binary files /dev/null and b/i915/kbl_huc_ver02_00_1810.bin differ diff --git a/i915/mtl_dmc.bin b/i915/mtl_dmc.bin new file mode 100644 index 0000000..7747149 Binary files /dev/null and b/i915/mtl_dmc.bin differ diff --git a/i915/mtl_dmc_ver2_10.bin b/i915/mtl_dmc_ver2_10.bin new file mode 100644 index 0000000..d47511c Binary files /dev/null and b/i915/mtl_dmc_ver2_10.bin differ diff --git a/i915/mtl_guc_70.bin b/i915/mtl_guc_70.bin new file mode 100644 index 0000000..618b1fa Binary files /dev/null and b/i915/mtl_guc_70.bin differ diff --git a/i915/mtl_huc_gsc.bin b/i915/mtl_huc_gsc.bin new file mode 100755 index 0000000..9b9a67b Binary files /dev/null and b/i915/mtl_huc_gsc.bin differ diff --git a/i915/rkl_dmc_ver2_02.bin b/i915/rkl_dmc_ver2_02.bin new file mode 100644 index 0000000..e553fbc Binary files /dev/null and b/i915/rkl_dmc_ver2_02.bin differ diff --git a/i915/rkl_dmc_ver2_03.bin b/i915/rkl_dmc_ver2_03.bin new file mode 100644 index 0000000..2c70aba Binary files /dev/null and b/i915/rkl_dmc_ver2_03.bin differ diff --git a/i915/skl_dmc_ver1_23.bin b/i915/skl_dmc_ver1_23.bin new file mode 100644 index 0000000..72c32cd Binary files /dev/null and b/i915/skl_dmc_ver1_23.bin differ diff --git a/i915/skl_dmc_ver1_26.bin b/i915/skl_dmc_ver1_26.bin new file mode 100644 index 0000000..3dd8a7d Binary files /dev/null and b/i915/skl_dmc_ver1_26.bin differ diff --git a/i915/skl_dmc_ver1_27.bin b/i915/skl_dmc_ver1_27.bin new file mode 100644 index 0000000..b41d062 Binary files /dev/null and b/i915/skl_dmc_ver1_27.bin differ diff --git a/i915/skl_guc_32.0.3.bin b/i915/skl_guc_32.0.3.bin new file mode 100644 index 0000000..6c653ef Binary files /dev/null and b/i915/skl_guc_32.0.3.bin differ diff --git a/i915/skl_guc_33.0.0.bin b/i915/skl_guc_33.0.0.bin new file mode 100644 index 0000000..3cf084c Binary files /dev/null and b/i915/skl_guc_33.0.0.bin differ diff --git a/i915/skl_guc_49.0.1.bin b/i915/skl_guc_49.0.1.bin new file mode 100644 index 0000000..1a4aa25 Binary files /dev/null and b/i915/skl_guc_49.0.1.bin differ diff --git a/i915/skl_guc_62.0.0.bin b/i915/skl_guc_62.0.0.bin new file mode 100644 index 0000000..ea12f5d Binary files /dev/null and b/i915/skl_guc_62.0.0.bin differ diff --git a/i915/skl_guc_69.0.3.bin b/i915/skl_guc_69.0.3.bin new file mode 100644 index 0000000..d078038 Binary files /dev/null and b/i915/skl_guc_69.0.3.bin differ diff --git a/i915/skl_guc_70.1.1.bin b/i915/skl_guc_70.1.1.bin new file mode 100644 index 0000000..d18d9f1 Binary files /dev/null and b/i915/skl_guc_70.1.1.bin differ diff --git a/i915/skl_guc_ver1.bin b/i915/skl_guc_ver1.bin new file mode 100644 index 0000000..1b1ab15 Binary files /dev/null and b/i915/skl_guc_ver1.bin differ diff --git a/i915/skl_guc_ver4.bin b/i915/skl_guc_ver4.bin new file mode 100644 index 0000000..8571de2 Binary files /dev/null and b/i915/skl_guc_ver4.bin differ diff --git a/i915/skl_guc_ver6_1.bin b/i915/skl_guc_ver6_1.bin new file mode 100644 index 0000000..5c626ea Binary files /dev/null and b/i915/skl_guc_ver6_1.bin differ diff --git a/i915/skl_guc_ver9_33.bin b/i915/skl_guc_ver9_33.bin new file mode 100644 index 0000000..f47b7bf Binary files /dev/null and b/i915/skl_guc_ver9_33.bin differ diff --git a/i915/skl_huc_2.0.0.bin b/i915/skl_huc_2.0.0.bin new file mode 100644 index 0000000..220f67f Binary files /dev/null and b/i915/skl_huc_2.0.0.bin differ diff --git a/i915/skl_huc_ver01_07_1398.bin b/i915/skl_huc_ver01_07_1398.bin new file mode 100644 index 0000000..9ad48ef Binary files /dev/null and b/i915/skl_huc_ver01_07_1398.bin differ diff --git a/i915/tgl_dmc_ver2_04.bin b/i915/tgl_dmc_ver2_04.bin new file mode 100644 index 0000000..9129686 Binary files /dev/null and b/i915/tgl_dmc_ver2_04.bin differ diff --git a/i915/tgl_dmc_ver2_06.bin b/i915/tgl_dmc_ver2_06.bin new file mode 100644 index 0000000..ea0fe9a Binary files /dev/null and b/i915/tgl_dmc_ver2_06.bin differ diff --git a/i915/tgl_dmc_ver2_08.bin b/i915/tgl_dmc_ver2_08.bin new file mode 100644 index 0000000..9db379c Binary files /dev/null and b/i915/tgl_dmc_ver2_08.bin differ diff --git a/i915/tgl_dmc_ver2_12.bin b/i915/tgl_dmc_ver2_12.bin new file mode 100644 index 0000000..2995a5a Binary files /dev/null and b/i915/tgl_dmc_ver2_12.bin differ diff --git a/i915/tgl_guc_35.2.0.bin b/i915/tgl_guc_35.2.0.bin new file mode 100644 index 0000000..578d020 Binary files /dev/null and b/i915/tgl_guc_35.2.0.bin differ diff --git a/i915/tgl_guc_49.0.1.bin b/i915/tgl_guc_49.0.1.bin new file mode 100644 index 0000000..7135c84 Binary files /dev/null and b/i915/tgl_guc_49.0.1.bin differ diff --git a/i915/tgl_guc_62.0.0.bin b/i915/tgl_guc_62.0.0.bin new file mode 100644 index 0000000..ce6837e Binary files /dev/null and b/i915/tgl_guc_62.0.0.bin differ diff --git a/i915/tgl_guc_69.0.3.bin b/i915/tgl_guc_69.0.3.bin new file mode 100644 index 0000000..4c78333 Binary files /dev/null and b/i915/tgl_guc_69.0.3.bin differ diff --git a/i915/tgl_guc_70.1.1.bin b/i915/tgl_guc_70.1.1.bin new file mode 100644 index 0000000..165e0e0 Binary files /dev/null and b/i915/tgl_guc_70.1.1.bin differ diff --git a/i915/tgl_guc_70.bin b/i915/tgl_guc_70.bin new file mode 100644 index 0000000..50268bd Binary files /dev/null and b/i915/tgl_guc_70.bin differ diff --git a/i915/tgl_huc.bin b/i915/tgl_huc.bin new file mode 100644 index 0000000..abe9f1d Binary files /dev/null and b/i915/tgl_huc.bin differ diff --git a/i915/tgl_huc_7.0.12.bin b/i915/tgl_huc_7.0.12.bin new file mode 100644 index 0000000..a7b93be Binary files /dev/null and b/i915/tgl_huc_7.0.12.bin differ diff --git a/i915/tgl_huc_7.0.3.bin b/i915/tgl_huc_7.0.3.bin new file mode 100644 index 0000000..d85b4be Binary files /dev/null and b/i915/tgl_huc_7.0.3.bin differ diff --git a/i915/tgl_huc_7.5.0.bin b/i915/tgl_huc_7.5.0.bin new file mode 100644 index 0000000..bed10f3 Binary files /dev/null and b/i915/tgl_huc_7.5.0.bin differ diff --git a/i915/tgl_huc_7.9.3.bin b/i915/tgl_huc_7.9.3.bin new file mode 100644 index 0000000..abe9f1d Binary files /dev/null and b/i915/tgl_huc_7.9.3.bin differ diff --git a/imx/sdma/sdma-imx6q.bin b/imx/sdma/sdma-imx6q.bin new file mode 100644 index 0000000..4d0593c Binary files /dev/null and b/imx/sdma/sdma-imx6q.bin differ diff --git a/imx/sdma/sdma-imx7d.bin b/imx/sdma/sdma-imx7d.bin new file mode 100644 index 0000000..148f4fe Binary files /dev/null and b/imx/sdma/sdma-imx7d.bin differ diff --git a/inside-secure/eip197_minifw/ifpp.bin b/inside-secure/eip197_minifw/ifpp.bin new file mode 100644 index 0000000..b4a8322 Binary files /dev/null and b/inside-secure/eip197_minifw/ifpp.bin differ diff --git a/inside-secure/eip197_minifw/ipue.bin b/inside-secure/eip197_minifw/ipue.bin new file mode 100644 index 0000000..2f54999 Binary files /dev/null and b/inside-secure/eip197_minifw/ipue.bin differ diff --git a/intel/avs/apl/dsp_basefw.bin b/intel/avs/apl/dsp_basefw.bin new file mode 100644 index 0000000..af3a718 Binary files /dev/null and b/intel/avs/apl/dsp_basefw.bin differ diff --git a/intel/avs/cnl/dsp_basefw.bin b/intel/avs/cnl/dsp_basefw.bin new file mode 100644 index 0000000..340dd86 Binary files /dev/null and b/intel/avs/cnl/dsp_basefw.bin differ diff --git a/intel/avs/skl/dsp_basefw.bin b/intel/avs/skl/dsp_basefw.bin new file mode 100644 index 0000000..f9d54ee Binary files /dev/null and b/intel/avs/skl/dsp_basefw.bin differ diff --git a/intel/avs/skl/dsp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin b/intel/avs/skl/dsp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin new file mode 100644 index 0000000..5853d75 Binary files /dev/null and b/intel/avs/skl/dsp_mod_7CAD0808-AB10-CD23-EF45-12AB34CD56EF.bin differ diff --git a/intel/catpt/bdw/dsp_basefw.bin b/intel/catpt/bdw/dsp_basefw.bin new file mode 100644 index 0000000..b3a41ea Binary files /dev/null and b/intel/catpt/bdw/dsp_basefw.bin differ diff --git a/intel/dsp_fw_bxtn_v3366.bin b/intel/dsp_fw_bxtn_v3366.bin new file mode 100644 index 0000000..9310e7e Binary files /dev/null and b/intel/dsp_fw_bxtn_v3366.bin differ diff --git a/intel/dsp_fw_cnl_v1191.bin b/intel/dsp_fw_cnl_v1191.bin new file mode 100644 index 0000000..4014a62 Binary files /dev/null and b/intel/dsp_fw_cnl_v1191.bin differ diff --git a/intel/dsp_fw_cnl_v1858.bin b/intel/dsp_fw_cnl_v1858.bin new file mode 100644 index 0000000..6dd5059 Binary files /dev/null and b/intel/dsp_fw_cnl_v1858.bin differ diff --git a/intel/dsp_fw_glk_v3366.bin b/intel/dsp_fw_glk_v3366.bin new file mode 100644 index 0000000..9310e7e Binary files /dev/null and b/intel/dsp_fw_glk_v3366.bin differ diff --git a/intel/dsp_fw_kbl_v3402.bin b/intel/dsp_fw_kbl_v3402.bin new file mode 100644 index 0000000..014a2b5 Binary files /dev/null and b/intel/dsp_fw_kbl_v3402.bin differ diff --git a/intel/dsp_fw_kbl_v3420.bin b/intel/dsp_fw_kbl_v3420.bin new file mode 100644 index 0000000..d9ec5c6 Binary files /dev/null and b/intel/dsp_fw_kbl_v3420.bin differ diff --git a/intel/dsp_fw_release_v3402.bin b/intel/dsp_fw_release_v3402.bin new file mode 100644 index 0000000..014a2b5 Binary files /dev/null and b/intel/dsp_fw_release_v3402.bin differ diff --git a/intel/fw_sst_0f28.bin b/intel/fw_sst_0f28.bin new file mode 100644 index 0000000..bddcb35 Binary files /dev/null and b/intel/fw_sst_0f28.bin differ diff --git a/intel/fw_sst_0f28.bin-48kHz_i2s_master b/intel/fw_sst_0f28.bin-48kHz_i2s_master new file mode 100644 index 0000000..4d3ad8f Binary files /dev/null and b/intel/fw_sst_0f28.bin-48kHz_i2s_master differ diff --git a/intel/fw_sst_0f28_ssp0.bin b/intel/fw_sst_0f28_ssp0.bin new file mode 100644 index 0000000..d5f10de Binary files /dev/null and b/intel/fw_sst_0f28_ssp0.bin differ diff --git a/intel/fw_sst_22a8.bin b/intel/fw_sst_22a8.bin new file mode 100644 index 0000000..0df1815 Binary files /dev/null and b/intel/fw_sst_22a8.bin differ diff --git a/intel/ibt-0040-0041.ddc b/intel/ibt-0040-0041.ddc new file mode 100644 index 0000000..5acedc5 Binary files /dev/null and b/intel/ibt-0040-0041.ddc differ diff --git a/intel/ibt-0040-0041.sfi b/intel/ibt-0040-0041.sfi new file mode 100644 index 0000000..bb73fd9 Binary files /dev/null and b/intel/ibt-0040-0041.sfi differ diff --git a/intel/ibt-0040-1020.ddc b/intel/ibt-0040-1020.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-0040-1020.ddc differ diff --git a/intel/ibt-0040-1020.sfi b/intel/ibt-0040-1020.sfi new file mode 100644 index 0000000..1b6ab60 Binary files /dev/null and b/intel/ibt-0040-1020.sfi differ diff --git a/intel/ibt-0040-2120.ddc b/intel/ibt-0040-2120.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-0040-2120.ddc differ diff --git a/intel/ibt-0040-2120.sfi b/intel/ibt-0040-2120.sfi new file mode 100644 index 0000000..bfb24c4 Binary files /dev/null and b/intel/ibt-0040-2120.sfi differ diff --git a/intel/ibt-0040-4150.ddc b/intel/ibt-0040-4150.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-0040-4150.ddc differ diff --git a/intel/ibt-0040-4150.sfi b/intel/ibt-0040-4150.sfi new file mode 100644 index 0000000..f9f5e1b Binary files /dev/null and b/intel/ibt-0040-4150.sfi differ diff --git a/intel/ibt-0041-0041.ddc b/intel/ibt-0041-0041.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-0041-0041.ddc differ diff --git a/intel/ibt-0041-0041.sfi b/intel/ibt-0041-0041.sfi new file mode 100644 index 0000000..c864e3e Binary files /dev/null and b/intel/ibt-0041-0041.sfi differ diff --git a/intel/ibt-1040-0041.ddc b/intel/ibt-1040-0041.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-1040-0041.ddc differ diff --git a/intel/ibt-1040-0041.sfi b/intel/ibt-1040-0041.sfi new file mode 100644 index 0000000..ea7dd25 Binary files /dev/null and b/intel/ibt-1040-0041.sfi differ diff --git a/intel/ibt-1040-1020.ddc b/intel/ibt-1040-1020.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-1040-1020.ddc differ diff --git a/intel/ibt-1040-1020.sfi b/intel/ibt-1040-1020.sfi new file mode 100644 index 0000000..c39a8f1 Binary files /dev/null and b/intel/ibt-1040-1020.sfi differ diff --git a/intel/ibt-1040-2120.ddc b/intel/ibt-1040-2120.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-1040-2120.ddc differ diff --git a/intel/ibt-1040-2120.sfi b/intel/ibt-1040-2120.sfi new file mode 100644 index 0000000..79f82ed Binary files /dev/null and b/intel/ibt-1040-2120.sfi differ diff --git a/intel/ibt-1040-4150.ddc b/intel/ibt-1040-4150.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-1040-4150.ddc differ diff --git a/intel/ibt-1040-4150.sfi b/intel/ibt-1040-4150.sfi new file mode 100644 index 0000000..e4dd0f1 Binary files /dev/null and b/intel/ibt-1040-4150.sfi differ diff --git a/intel/ibt-11-5.ddc b/intel/ibt-11-5.ddc new file mode 100644 index 0000000..dff0824 Binary files /dev/null and b/intel/ibt-11-5.ddc differ diff --git a/intel/ibt-11-5.sfi b/intel/ibt-11-5.sfi new file mode 100644 index 0000000..93c0fc5 Binary files /dev/null and b/intel/ibt-11-5.sfi differ diff --git a/intel/ibt-12-16.ddc b/intel/ibt-12-16.ddc new file mode 100644 index 0000000..c2d2cf1 Binary files /dev/null and b/intel/ibt-12-16.ddc differ diff --git a/intel/ibt-12-16.sfi b/intel/ibt-12-16.sfi new file mode 100644 index 0000000..267d5b7 Binary files /dev/null and b/intel/ibt-12-16.sfi differ diff --git a/intel/ibt-17-0-1.ddc b/intel/ibt-17-0-1.ddc new file mode 100644 index 0000000..f24bb17 Binary files /dev/null and b/intel/ibt-17-0-1.ddc differ diff --git a/intel/ibt-17-0-1.sfi b/intel/ibt-17-0-1.sfi new file mode 100644 index 0000000..b95ce13 Binary files /dev/null and b/intel/ibt-17-0-1.sfi differ diff --git a/intel/ibt-17-16-1.ddc b/intel/ibt-17-16-1.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-17-16-1.ddc differ diff --git a/intel/ibt-17-16-1.sfi b/intel/ibt-17-16-1.sfi new file mode 100644 index 0000000..ff02f05 Binary files /dev/null and b/intel/ibt-17-16-1.sfi differ diff --git a/intel/ibt-18-0-1.ddc b/intel/ibt-18-0-1.ddc new file mode 100644 index 0000000..f24bb17 Binary files /dev/null and b/intel/ibt-18-0-1.ddc differ diff --git a/intel/ibt-18-0-1.sfi b/intel/ibt-18-0-1.sfi new file mode 100644 index 0000000..b95ce13 Binary files /dev/null and b/intel/ibt-18-0-1.sfi differ diff --git a/intel/ibt-18-16-1.ddc b/intel/ibt-18-16-1.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-18-16-1.ddc differ diff --git a/intel/ibt-18-16-1.sfi b/intel/ibt-18-16-1.sfi new file mode 100644 index 0000000..ff02f05 Binary files /dev/null and b/intel/ibt-18-16-1.sfi differ diff --git a/intel/ibt-19-0-0.ddc b/intel/ibt-19-0-0.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-0-0.ddc differ diff --git a/intel/ibt-19-0-0.sfi b/intel/ibt-19-0-0.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-0-0.sfi differ diff --git a/intel/ibt-19-0-1.ddc b/intel/ibt-19-0-1.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-0-1.ddc differ diff --git a/intel/ibt-19-0-1.sfi b/intel/ibt-19-0-1.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-0-1.sfi differ diff --git a/intel/ibt-19-0-3.ddc b/intel/ibt-19-0-3.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-0-3.ddc differ diff --git a/intel/ibt-19-0-3.sfi b/intel/ibt-19-0-3.sfi new file mode 100644 index 0000000..3b8f60b Binary files /dev/null and b/intel/ibt-19-0-3.sfi differ diff --git a/intel/ibt-19-0-4.ddc b/intel/ibt-19-0-4.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-0-4.ddc differ diff --git a/intel/ibt-19-0-4.sfi b/intel/ibt-19-0-4.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-0-4.sfi differ diff --git a/intel/ibt-19-16-4.ddc b/intel/ibt-19-16-4.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-16-4.ddc differ diff --git a/intel/ibt-19-16-4.sfi b/intel/ibt-19-16-4.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-16-4.sfi differ diff --git a/intel/ibt-19-240-1.ddc b/intel/ibt-19-240-1.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-240-1.ddc differ diff --git a/intel/ibt-19-240-1.sfi b/intel/ibt-19-240-1.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-240-1.sfi differ diff --git a/intel/ibt-19-240-4.ddc b/intel/ibt-19-240-4.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-240-4.ddc differ diff --git a/intel/ibt-19-240-4.sfi b/intel/ibt-19-240-4.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-240-4.sfi differ diff --git a/intel/ibt-19-32-0.ddc b/intel/ibt-19-32-0.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-32-0.ddc differ diff --git a/intel/ibt-19-32-0.sfi b/intel/ibt-19-32-0.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-32-0.sfi differ diff --git a/intel/ibt-19-32-1.ddc b/intel/ibt-19-32-1.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-32-1.ddc differ diff --git a/intel/ibt-19-32-1.sfi b/intel/ibt-19-32-1.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-32-1.sfi differ diff --git a/intel/ibt-19-32-4.ddc b/intel/ibt-19-32-4.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-19-32-4.ddc differ diff --git a/intel/ibt-19-32-4.sfi b/intel/ibt-19-32-4.sfi new file mode 100644 index 0000000..e8761f3 Binary files /dev/null and b/intel/ibt-19-32-4.sfi differ diff --git a/intel/ibt-20-0-3.ddc b/intel/ibt-20-0-3.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-20-0-3.ddc differ diff --git a/intel/ibt-20-0-3.sfi b/intel/ibt-20-0-3.sfi new file mode 100644 index 0000000..014a960 Binary files /dev/null and b/intel/ibt-20-0-3.sfi differ diff --git a/intel/ibt-20-1-3.ddc b/intel/ibt-20-1-3.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-20-1-3.ddc differ diff --git a/intel/ibt-20-1-3.sfi b/intel/ibt-20-1-3.sfi new file mode 100644 index 0000000..014a960 Binary files /dev/null and b/intel/ibt-20-1-3.sfi differ diff --git a/intel/ibt-20-1-4.ddc b/intel/ibt-20-1-4.ddc new file mode 100644 index 0000000..6e06779 Binary files /dev/null and b/intel/ibt-20-1-4.ddc differ diff --git a/intel/ibt-20-1-4.sfi b/intel/ibt-20-1-4.sfi new file mode 100644 index 0000000..90a0502 Binary files /dev/null and b/intel/ibt-20-1-4.sfi differ diff --git a/intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq b/intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq new file mode 100644 index 0000000..793a3d9 Binary files /dev/null and b/intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq differ diff --git a/intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq b/intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq new file mode 100644 index 0000000..46ef39b Binary files /dev/null and b/intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq differ diff --git a/intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq b/intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq new file mode 100644 index 0000000..601747c Binary files /dev/null and b/intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq differ diff --git a/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq b/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq new file mode 100644 index 0000000..c1b450f Binary files /dev/null and b/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq differ diff --git a/intel/ibt-hw-37.7.bseq b/intel/ibt-hw-37.7.bseq new file mode 100644 index 0000000..6c3cdba Binary files /dev/null and b/intel/ibt-hw-37.7.bseq differ diff --git a/intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq b/intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq new file mode 100644 index 0000000..7a227f1 Binary files /dev/null and b/intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq differ diff --git a/intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq b/intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq new file mode 100644 index 0000000..98c9a74 Binary files /dev/null and b/intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq differ diff --git a/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq b/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq new file mode 100644 index 0000000..3b1831e Binary files /dev/null and b/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq differ diff --git a/intel/ibt-hw-37.8.bseq b/intel/ibt-hw-37.8.bseq new file mode 100644 index 0000000..9cf142a Binary files /dev/null and b/intel/ibt-hw-37.8.bseq differ diff --git a/intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg b/intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg new file mode 100644 index 0000000..702aef9 Binary files /dev/null and b/intel/ice/ddp-comms/ice_comms-1.3.40.0.pkg differ diff --git a/intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg b/intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg new file mode 100644 index 0000000..535433d Binary files /dev/null and b/intel/ice/ddp-wireless_edge/ice_wireless_edge-1.3.10.0.pkg differ diff --git a/intel/ice/ddp/ice-1.3.30.0.pkg b/intel/ice/ddp/ice-1.3.30.0.pkg new file mode 100644 index 0000000..454a2a6 Binary files /dev/null and b/intel/ice/ddp/ice-1.3.30.0.pkg differ diff --git a/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin b/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin new file mode 100644 index 0000000..7c880ba Binary files /dev/null and b/intel/irci_irci_ecr-master_20161208_0213_20170112_1500.bin differ diff --git a/isci/Makefile b/isci/Makefile new file mode 100644 index 0000000..3849373 --- /dev/null +++ b/isci/Makefile @@ -0,0 +1,23 @@ +# Makefile for create_fw +# +CC=gcc +CFLAGS=-c -Wall -O2 -g +LDFLAGS= +SOURCES=create_fw.c +OBJECTS=$(SOURCES:.cpp=.o) +EXECUTABLE=create_fw +BLOB=isci_firmware.bin + +all: $(SOURCES) $(EXECUTABLE) $(BLOB) + +$(EXECUTABLE): $(OBJECTS) + $(CC) $(LDFLAGS) $(OBJECTS) -o $@ + +.c.o: + $(CC) $(CFLAGS) $< -O $@ + +$(BLOB): $(EXECUTABLE) + ./$(EXECUTABLE) >$@ + +clean: + rm -f *.o $(EXECUTABLE) diff --git a/isci/README b/isci/README new file mode 100644 index 0000000..8e63ac3 --- /dev/null +++ b/isci/README @@ -0,0 +1,36 @@ +This defines the temporary binary blow we are to pass to the SCU +driver to emulate the binary firmware that we will eventually be +able to access via NVRAM on the SCU controller. + +The current size of the binary blob is expected to be 149 bytes or larger + +Header Types: +0x1: Phy Masks +0x2: Phy Gens +0x3: SAS Addrs +0xff: End of Data + +ID string - u8[12]: "#SCU MAGIC#\0" +Version - u8: 1 +SubVersion - u8: 0 + +Header Type - u8: 0x1 +Size - u8: 8 +Phy Mask - u32[8] + +Header Type - u8: 0x2 +Size - u8: 8 +Phy Gen - u32[8] + +Header Type - u8: 0x3 +Size - u8: 8 +Sas Addr - u64[8] + +Header Type - u8: 0xf + + +============================================================================== + +Place isci_firmware.bin in /lib/firmware/isci +Be sure to recreate the initramfs image to include the firmware. + diff --git a/isci/create_fw.c b/isci/create_fw.c new file mode 100644 index 0000000..af037fc --- /dev/null +++ b/isci/create_fw.c @@ -0,0 +1,99 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "create_fw.h" + +int write_blob(struct isci_orom *isci_orom) +{ + FILE *fd; + int err; + size_t count; + + fd = fopen(blob_name, "w+"); + if (!fd) { + perror("Open file for write failed"); + fclose(fd); + return -EIO; + } + + count = fwrite(isci_orom, sizeof(struct isci_orom), 1, fd); + if (count != 1) { + perror("Write data failed"); + fclose(fd); + return -EIO; + } + + fclose(fd); + + return 0; +} + +void set_binary_values(struct isci_orom *isci_orom) +{ + int c, phy_idx, port_idx; + + /* setting OROM signature */ + strncpy(isci_orom->hdr.signature, sig, strlen(sig)); + isci_orom->hdr.version = version; + isci_orom->hdr.total_block_length = sizeof(struct isci_orom); + isci_orom->hdr.hdr_length = sizeof(struct sci_bios_oem_param_block_hdr); + isci_orom->hdr.num_elements = num_elements; + + for (c = 0; c < 2; c++) { + struct sci_oem_params *ctrl = &isci_orom->ctrl[c]; + __u8 cable_selection_mask = 0; + + ctrl->controller.mode_type = mode_type; + ctrl->controller.max_concurr_spin_up = max_num_concurrent_dev_spin_up; + ctrl->controller.do_enable_ssc = enable_ssc; + + for (port_idx = 0; port_idx < SCI_MAX_PORTS; port_idx++) + ctrl->ports[port_idx].phy_mask = phy_mask[c][port_idx]; + + for (phy_idx = 0; phy_idx < SCI_MAX_PHYS; phy_idx++) { + struct sci_phy_oem_params *phy = &ctrl->phys[phy_idx]; + __u8 cable_phy = cable_selection[c][phy_idx]; + + phy->sas_address.high = sas_addr[c][phy_idx] >> 32; + phy->sas_address.low = sas_addr[c][phy_idx]; + + phy->afe_tx_amp_control0 = afe_tx_amp_control0; + phy->afe_tx_amp_control1 = afe_tx_amp_control1; + phy->afe_tx_amp_control2 = afe_tx_amp_control2; + phy->afe_tx_amp_control3 = afe_tx_amp_control3; + + cable_selection_mask |= (cable_phy & 1) << phy_idx; + cable_selection_mask |= (cable_phy & 2) << (phy_idx + 3); + } + ctrl->controller.cable_selection_mask = cable_selection_mask; + } +} + +int main(void) +{ + int err; + struct isci_orom *isci_orom; + + isci_orom = malloc(sizeof(struct isci_orom)); + memset(isci_orom, 0, sizeof(struct isci_orom)); + + set_binary_values(isci_orom); + + err = write_blob(isci_orom); + if (err < 0) { + free(isci_orom); + return err; + } + + free(isci_orom); + return 0; +} diff --git a/isci/create_fw.h b/isci/create_fw.h new file mode 100644 index 0000000..f9b04ba --- /dev/null +++ b/isci/create_fw.h @@ -0,0 +1,86 @@ +#ifndef _CREATE_FW_H_ +#define _CREATE_FW_H_ +#include "probe_roms.h" + + +/* we are configuring for 2 SCUs */ +static const int num_elements = 2; + +/* + * For all defined arrays: + * elements 0-3 are for SCU0, ports 0-3 + * elements 4-7 are for SCU1, ports 0-3 + * + * valid configurations for one SCU are: + * P0 P1 P2 P3 + * ---------------- + * 0xF,0x0,0x0,0x0 # 1 x4 port + * 0x3,0x0,0x4,0x8 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are each x1 + * # ports + * 0x1,0x2,0xC,0x0 # Phys 0 and 1 are each x1 ports, phy 2 and phy 3 are a x2 + * # port + * 0x3,0x0,0xC,0x0 # Phys 0 and 1 are a x2 port, phy 2 and phy 3 are a x2 port + * 0x1,0x2,0x4,0x8 # Each phy is a x1 port (this is the default configuration) + * + * if there is a port/phy on which you do not wish to override the default + * values, use the value assigned to UNINIT_PARAM (255). + */ + +/* discovery mode type (port auto config mode by default ) */ + +/* + * if there is a port/phy on which you do not wish to override the default + * values, use the value "0000000000000000". SAS address of zero's is + * considered invalid and will not be used. + */ +#ifdef MPC +static const int mode_type = SCIC_PORT_MANUAL_CONFIGURATION_MODE; +static const __u8 phy_mask[2][4] = { {1, 2, 4, 8}, + {1, 2, 4, 8} }; +static const unsigned long long sas_addr[2][4] = { { 0x5FCFFFFFF0000001ULL, + 0x5FCFFFFFF0000002ULL, + 0x5FCFFFFFF0000003ULL, + 0x5FCFFFFFF0000004ULL }, + { 0x5FCFFFFFF0000005ULL, + 0x5FCFFFFFF0000006ULL, + 0x5FCFFFFFF0000007ULL, + 0x5FCFFFFFF0000008ULL } }; +#else /* APC (default) */ +static const int mode_type = SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE; +static const __u8 phy_mask[2][4]; +static const unsigned long long sas_addr[2][4] = { { 0x5FCFFFFF00000001ULL, + 0x5FCFFFFF00000001ULL, + 0x5FCFFFFF00000001ULL, + 0x5FCFFFFF00000001ULL }, + { 0x5FCFFFFF00000002ULL, + 0x5FCFFFFF00000002ULL, + 0x5FCFFFFF00000002ULL, + 0x5FCFFFFF00000002ULL } }; +#endif + +static const int cable_selection[2][4]; + +/* Maximum number of concurrent device spin up */ +static const int max_num_concurrent_dev_spin_up = 1; + +/* enable of ssc operation */ +/* + * NOTE: also see probe_roms.h. This value can be set for ssc values. + * Values can be set for: + * ssc_sata_tx_spread_level + * ssc_sas_tx_spread_level + * ssc_sas_tx_type + */ +static const __u8 enable_ssc; + +/* AFE_TX_AMP_CONTROL */ +static const unsigned int afe_tx_amp_control0 = 0x000bdd08; +static const unsigned int afe_tx_amp_control1 = 0x000ffc00; +static const unsigned int afe_tx_amp_control2 = 0x000b7c09; +static const unsigned int afe_tx_amp_control3 = 0x000afc6e; + +static const char blob_name[] = "isci_firmware.bin"; +static const char sig[] = "ISCUOEMB"; +static const unsigned char version = ISCI_ROM_VER_LATEST; + +#endif diff --git a/isci/isci_firmware.bin b/isci/isci_firmware.bin new file mode 100644 index 0000000..4254fa4 Binary files /dev/null and b/isci/isci_firmware.bin differ diff --git a/isci/probe_roms.h b/isci/probe_roms.h new file mode 100644 index 0000000..bb0e9d4 --- /dev/null +++ b/isci/probe_roms.h @@ -0,0 +1,332 @@ +/* + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef _ISCI_PROBE_ROMS_H_ +#define _ISCI_PROBE_ROMS_H_ + +#ifdef __KERNEL__ +#include +#include +#include +#include "isci.h" + +#define SCIC_SDS_PARM_NO_SPEED 0 + +/* generation 1 (i.e. 1.5 Gb/s) */ +#define SCIC_SDS_PARM_GEN1_SPEED 1 + +/* generation 2 (i.e. 3.0 Gb/s) */ +#define SCIC_SDS_PARM_GEN2_SPEED 2 + +/* generation 3 (i.e. 6.0 Gb/s) */ +#define SCIC_SDS_PARM_GEN3_SPEED 3 +#define SCIC_SDS_PARM_MAX_SPEED SCIC_SDS_PARM_GEN3_SPEED + +/* parameters that can be set by module parameters */ +struct sci_user_parameters { + struct sci_phy_user_params { + /** + * This field specifies the NOTIFY (ENABLE SPIN UP) primitive + * insertion frequency for this phy index. + */ + u32 notify_enable_spin_up_insertion_frequency; + + /** + * This method specifies the number of transmitted DWORDs within which + * to transmit a single ALIGN primitive. This value applies regardless + * of what type of device is attached or connection state. A value of + * 0 indicates that no ALIGN primitives will be inserted. + */ + u16 align_insertion_frequency; + + /** + * This method specifies the number of transmitted DWORDs within which + * to transmit 2 ALIGN primitives. This applies for SAS connections + * only. A minimum value of 3 is required for this field. + */ + u16 in_connection_align_insertion_frequency; + + /** + * This field indicates the maximum speed generation to be utilized + * by phys in the supplied port. + * - A value of 1 indicates generation 1 (i.e. 1.5 Gb/s). + * - A value of 2 indicates generation 2 (i.e. 3.0 Gb/s). + * - A value of 3 indicates generation 3 (i.e. 6.0 Gb/s). + */ + u8 max_speed_generation; + + } phys[SCI_MAX_PHYS]; + + /** + * This field specifies the maximum number of direct attached devices + * that can have power supplied to them simultaneously. + */ + u8 max_concurr_spinup; + + /** + * This field specifies the number of seconds to allow a phy to consume + * power before yielding to another phy. + * + */ + u8 phy_spin_up_delay_interval; + + /** + * These timer values specifies how long a link will remain open with no + * activity in increments of a microsecond, it can be in increments of + * 100 microseconds if the upper most bit is set. + * + */ + u16 stp_inactivity_timeout; + u16 ssp_inactivity_timeout; + + /** + * These timer values specifies how long a link will remain open in increments + * of 100 microseconds. + * + */ + u16 stp_max_occupancy_timeout; + u16 ssp_max_occupancy_timeout; + + /** + * This timer value specifies how long a link will remain open with no + * outbound traffic in increments of a microsecond. + * + */ + u8 no_outbound_task_timeout; + +}; + +#define SCIC_SDS_PARM_PHY_MASK_MIN 0x0 +#define SCIC_SDS_PARM_PHY_MASK_MAX 0xF +#define MAX_CONCURRENT_DEVICE_SPIN_UP_COUNT 4 + +struct sci_oem_params; +int sci_oem_parameters_validate(struct sci_oem_params *oem, u8 version); + +struct isci_orom; +struct isci_orom *isci_request_oprom(struct pci_dev *pdev); +enum sci_status isci_parse_oem_parameters(struct sci_oem_params *oem, + struct isci_orom *orom, int scu_index); +struct isci_orom *isci_request_firmware(struct pci_dev *pdev, const struct firmware *fw); +struct isci_orom *isci_get_efi_var(struct pci_dev *pdev); + +struct isci_oem_hdr { + u8 sig[4]; + u8 rev_major; + u8 rev_minor; + u16 len; + u8 checksum; + u8 reserved1; + u16 reserved2; +} __attribute__ ((packed)); + +#else +#define SCI_MAX_PORTS 4 +#define SCI_MAX_PHYS 4 +#define SCI_MAX_CONTROLLERS 2 +#endif + +#define ISCI_FW_NAME "isci/isci_firmware.bin" + +#define ROMSIGNATURE 0xaa55 + +#define ISCI_OEM_SIG "$OEM" +#define ISCI_OEM_SIG_SIZE 4 +#define ISCI_ROM_SIG "ISCUOEMB" +#define ISCI_ROM_SIG_SIZE 8 + +#define ISCI_EFI_VENDOR_GUID \ + EFI_GUID(0x193dfefa, 0xa445, 0x4302, 0x99, 0xd8, 0xef, 0x3a, 0xad, \ + 0x1a, 0x04, 0xc6) +#define ISCI_EFI_VAR_NAME "RstScuO" + +#define ISCI_ROM_VER_1_0 0x10 +#define ISCI_ROM_VER_1_1 0x11 +#define ISCI_ROM_VER_1_3 0x13 +#define ISCI_ROM_VER_LATEST ISCI_ROM_VER_1_3 + +/* Allowed PORT configuration modes APC Automatic PORT configuration mode is + * defined by the OEM configuration parameters providing no PHY_MASK parameters + * for any PORT. i.e. There are no phys assigned to any of the ports at start. + * MPC Manual PORT configuration mode is defined by the OEM configuration + * parameters providing a PHY_MASK value for any PORT. It is assumed that any + * PORT with no PHY_MASK is an invalid port and not all PHYs must be assigned. + * A PORT_PHY mask that assigns just a single PHY to a port and no other PHYs + * being assigned is sufficient to declare manual PORT configuration. + */ +enum sci_port_configuration_mode { + SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0, + SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1 +}; + +struct sci_bios_oem_param_block_hdr { + uint8_t signature[ISCI_ROM_SIG_SIZE]; + uint16_t total_block_length; + uint8_t hdr_length; + uint8_t version; + uint8_t preboot_source; + uint8_t num_elements; + uint16_t element_length; + uint8_t reserved[8]; +} __attribute__ ((packed)); + +struct sci_oem_params { + struct { + uint8_t mode_type; + uint8_t max_concurr_spin_up; + /* + * This bitfield indicates the OEM's desired default Tx + * Spread Spectrum Clocking (SSC) settings for SATA and SAS. + * NOTE: Default SSC Modulation Frequency is 31.5KHz. + */ + union { + struct { + /* + * NOTE: Max spread for SATA is +0 / -5000 PPM. + * Down-spreading SSC (only method allowed for SATA): + * SATA SSC Tx Disabled = 0x0 + * SATA SSC Tx at +0 / -1419 PPM Spread = 0x2 + * SATA SSC Tx at +0 / -2129 PPM Spread = 0x3 + * SATA SSC Tx at +0 / -4257 PPM Spread = 0x6 + * SATA SSC Tx at +0 / -4967 PPM Spread = 0x7 + */ + uint8_t ssc_sata_tx_spread_level:4; + /* + * SAS SSC Tx Disabled = 0x0 + * + * NOTE: Max spread for SAS down-spreading +0 / + * -2300 PPM + * Down-spreading SSC: + * SAS SSC Tx at +0 / -1419 PPM Spread = 0x2 + * SAS SSC Tx at +0 / -2129 PPM Spread = 0x3 + * + * NOTE: Max spread for SAS center-spreading +2300 / + * -2300 PPM + * Center-spreading SSC: + * SAS SSC Tx at +1064 / -1064 PPM Spread = 0x3 + * SAS SSC Tx at +2129 / -2129 PPM Spread = 0x6 + */ + uint8_t ssc_sas_tx_spread_level:3; + /* + * NOTE: Refer to the SSC section of the SAS 2.x + * Specification for proper setting of this field. + * For standard SAS Initiator SAS PHY operation it + * should be 0 for Down-spreading. + * SAS SSC Tx spread type: + * Down-spreading SSC = 0 + * Center-spreading SSC = 1 + */ + uint8_t ssc_sas_tx_type:1; + }; + uint8_t do_enable_ssc; + }; + /* + * This field indicates length of the SAS/SATA cable between + * host and device. + * This field is used make relationship between analog + * parameters of the phy in the silicon and length of the cable. + * Supported cable attenuation levels: + * "short"- up to 3m, "medium"-3m to 6m, and "long"- more than + * 6m. + * + * This is bit mask field: + * + * BIT: (MSB) 7 6 5 4 + * ASSIGNMENT: - Medium cable + * length assignment + * BIT: 3 2 1 0 (LSB) + * ASSIGNMENT: - Long cable length + * assignment + * + * BITS 7-4 are set when the cable length is assigned to medium + * BITS 3-0 are set when the cable length is assigned to long + * + * The BIT positions are clear when the cable length is + * assigned to short. + * + * Setting the bits for both long and medium cable length is + * undefined. + * + * A value of 0x84 would assign + * phy3 - medium + * phy2 - long + * phy1 - short + * phy0 - short + */ + uint8_t cable_selection_mask; + } controller; + + struct { + uint8_t phy_mask; + } ports[SCI_MAX_PORTS]; + + struct sci_phy_oem_params { + struct { + uint32_t high; + uint32_t low; + } sas_address; + + uint32_t afe_tx_amp_control0; + uint32_t afe_tx_amp_control1; + uint32_t afe_tx_amp_control2; + uint32_t afe_tx_amp_control3; + } phys[SCI_MAX_PHYS]; +} __attribute__ ((packed)); + +struct isci_orom { + struct sci_bios_oem_param_block_hdr hdr; + struct sci_oem_params ctrl[SCI_MAX_CONTROLLERS]; +} __attribute__ ((packed)); + +#endif diff --git a/isdbt_nova_12mhz.inp b/isdbt_nova_12mhz.inp new file mode 100644 index 0000000..888eab3 Binary files /dev/null and b/isdbt_nova_12mhz.inp differ diff --git a/isdbt_nova_12mhz_b0.inp b/isdbt_nova_12mhz_b0.inp new file mode 100644 index 0000000..a6dd3bb Binary files /dev/null and b/isdbt_nova_12mhz_b0.inp differ diff --git a/isdbt_rio.inp b/isdbt_rio.inp new file mode 100644 index 0000000..966fef0 Binary files /dev/null and b/isdbt_rio.inp differ diff --git a/iwlwifi-100-5.ucode b/iwlwifi-100-5.ucode new file mode 100644 index 0000000..0e69a1a Binary files /dev/null and b/iwlwifi-100-5.ucode differ diff --git a/iwlwifi-1000-5.ucode b/iwlwifi-1000-5.ucode new file mode 100644 index 0000000..7aa466c Binary files /dev/null and b/iwlwifi-1000-5.ucode differ diff --git a/iwlwifi-105-6.ucode b/iwlwifi-105-6.ucode new file mode 100644 index 0000000..7d532e5 Binary files /dev/null and b/iwlwifi-105-6.ucode differ diff --git a/iwlwifi-135-6.ucode b/iwlwifi-135-6.ucode new file mode 100644 index 0000000..a0a32ed Binary files /dev/null and b/iwlwifi-135-6.ucode differ diff --git a/iwlwifi-2000-6.ucode b/iwlwifi-2000-6.ucode new file mode 100644 index 0000000..3d58016 Binary files /dev/null and b/iwlwifi-2000-6.ucode differ diff --git a/iwlwifi-2030-6.ucode b/iwlwifi-2030-6.ucode new file mode 100644 index 0000000..6ad7656 Binary files /dev/null and b/iwlwifi-2030-6.ucode differ diff --git a/iwlwifi-3160-17.ucode b/iwlwifi-3160-17.ucode new file mode 100644 index 0000000..95b26df Binary files /dev/null and b/iwlwifi-3160-17.ucode differ diff --git a/iwlwifi-3168-29.ucode b/iwlwifi-3168-29.ucode new file mode 100644 index 0000000..1759561 Binary files /dev/null and b/iwlwifi-3168-29.ucode differ diff --git a/iwlwifi-3945-2.ucode b/iwlwifi-3945-2.ucode new file mode 100644 index 0000000..b8806a2 Binary files /dev/null and b/iwlwifi-3945-2.ucode differ diff --git a/iwlwifi-4965-2.ucode b/iwlwifi-4965-2.ucode new file mode 100644 index 0000000..dad4acf Binary files /dev/null and b/iwlwifi-4965-2.ucode differ diff --git a/iwlwifi-5000-5.ucode b/iwlwifi-5000-5.ucode new file mode 100644 index 0000000..184f0c7 Binary files /dev/null and b/iwlwifi-5000-5.ucode differ diff --git a/iwlwifi-5150-2.ucode b/iwlwifi-5150-2.ucode new file mode 100644 index 0000000..04d6586 Binary files /dev/null and b/iwlwifi-5150-2.ucode differ diff --git a/iwlwifi-6000-4.ucode b/iwlwifi-6000-4.ucode new file mode 100644 index 0000000..dce03ae Binary files /dev/null and b/iwlwifi-6000-4.ucode differ diff --git a/iwlwifi-6000g2a-6.ucode b/iwlwifi-6000g2a-6.ucode new file mode 100644 index 0000000..a1f2454 Binary files /dev/null and b/iwlwifi-6000g2a-6.ucode differ diff --git a/iwlwifi-6000g2b-6.ucode b/iwlwifi-6000g2b-6.ucode new file mode 100644 index 0000000..baaf9db Binary files /dev/null and b/iwlwifi-6000g2b-6.ucode differ diff --git a/iwlwifi-6050-5.ucode b/iwlwifi-6050-5.ucode new file mode 100644 index 0000000..74a2085 Binary files /dev/null and b/iwlwifi-6050-5.ucode differ diff --git a/iwlwifi-7260-17.ucode b/iwlwifi-7260-17.ucode new file mode 100644 index 0000000..b1a87d5 Binary files /dev/null and b/iwlwifi-7260-17.ucode differ diff --git a/iwlwifi-7265-17.ucode b/iwlwifi-7265-17.ucode new file mode 100644 index 0000000..f4a549c Binary files /dev/null and b/iwlwifi-7265-17.ucode differ diff --git a/iwlwifi-7265D-29.ucode b/iwlwifi-7265D-29.ucode new file mode 100644 index 0000000..7c513f6 Binary files /dev/null and b/iwlwifi-7265D-29.ucode differ diff --git a/iwlwifi-8000C-36.ucode b/iwlwifi-8000C-36.ucode new file mode 100644 index 0000000..e4988f6 Binary files /dev/null and b/iwlwifi-8000C-36.ucode differ diff --git a/iwlwifi-8265-36.ucode b/iwlwifi-8265-36.ucode new file mode 100644 index 0000000..60fda3b Binary files /dev/null and b/iwlwifi-8265-36.ucode differ diff --git a/iwlwifi-9000-pu-b0-jf-b0-34.ucode b/iwlwifi-9000-pu-b0-jf-b0-34.ucode new file mode 100644 index 0000000..5827e57 Binary files /dev/null and b/iwlwifi-9000-pu-b0-jf-b0-34.ucode differ diff --git a/iwlwifi-9000-pu-b0-jf-b0-38.ucode b/iwlwifi-9000-pu-b0-jf-b0-38.ucode new file mode 100644 index 0000000..386ef9c Binary files /dev/null and b/iwlwifi-9000-pu-b0-jf-b0-38.ucode differ diff --git a/iwlwifi-9000-pu-b0-jf-b0-46.ucode b/iwlwifi-9000-pu-b0-jf-b0-46.ucode new file mode 100644 index 0000000..9af424f Binary files /dev/null and b/iwlwifi-9000-pu-b0-jf-b0-46.ucode differ diff --git a/iwlwifi-9260-th-b0-jf-b0-34.ucode b/iwlwifi-9260-th-b0-jf-b0-34.ucode new file mode 100644 index 0000000..4aeb1a0 Binary files /dev/null and b/iwlwifi-9260-th-b0-jf-b0-34.ucode differ diff --git a/iwlwifi-9260-th-b0-jf-b0-38.ucode b/iwlwifi-9260-th-b0-jf-b0-38.ucode new file mode 100644 index 0000000..33058df Binary files /dev/null and b/iwlwifi-9260-th-b0-jf-b0-38.ucode differ diff --git a/iwlwifi-9260-th-b0-jf-b0-46.ucode b/iwlwifi-9260-th-b0-jf-b0-46.ucode new file mode 100644 index 0000000..4c2b25e Binary files /dev/null and b/iwlwifi-9260-th-b0-jf-b0-46.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-50.ucode b/iwlwifi-Qu-b0-hr-b0-50.ucode new file mode 100644 index 0000000..b8a6646 Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-50.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-59.ucode b/iwlwifi-Qu-b0-hr-b0-59.ucode new file mode 100644 index 0000000..1858a5b Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-59.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-66.ucode b/iwlwifi-Qu-b0-hr-b0-66.ucode new file mode 100644 index 0000000..29ae8fd Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-66.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-72.ucode b/iwlwifi-Qu-b0-hr-b0-72.ucode new file mode 100644 index 0000000..64462a5 Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-72.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-73.ucode b/iwlwifi-Qu-b0-hr-b0-73.ucode new file mode 100644 index 0000000..26abb3a Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-73.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-74.ucode b/iwlwifi-Qu-b0-hr-b0-74.ucode new file mode 100644 index 0000000..6b1423d Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-74.ucode differ diff --git a/iwlwifi-Qu-b0-hr-b0-77.ucode b/iwlwifi-Qu-b0-hr-b0-77.ucode new file mode 100644 index 0000000..a0b9622 Binary files /dev/null and b/iwlwifi-Qu-b0-hr-b0-77.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-50.ucode b/iwlwifi-Qu-b0-jf-b0-50.ucode new file mode 100644 index 0000000..8af5aa9 Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-50.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-59.ucode b/iwlwifi-Qu-b0-jf-b0-59.ucode new file mode 100644 index 0000000..89b3e6d Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-59.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-66.ucode b/iwlwifi-Qu-b0-jf-b0-66.ucode new file mode 100644 index 0000000..ff13b86 Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-66.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-72.ucode b/iwlwifi-Qu-b0-jf-b0-72.ucode new file mode 100644 index 0000000..186af9a Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-72.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-73.ucode b/iwlwifi-Qu-b0-jf-b0-73.ucode new file mode 100644 index 0000000..e1ecc31 Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-73.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-74.ucode b/iwlwifi-Qu-b0-jf-b0-74.ucode new file mode 100644 index 0000000..30843c8 Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-74.ucode differ diff --git a/iwlwifi-Qu-b0-jf-b0-77.ucode b/iwlwifi-Qu-b0-jf-b0-77.ucode new file mode 100644 index 0000000..9d13ad2 Binary files /dev/null and b/iwlwifi-Qu-b0-jf-b0-77.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-50.ucode b/iwlwifi-Qu-c0-hr-b0-50.ucode new file mode 100644 index 0000000..fb08c3e Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-50.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-59.ucode b/iwlwifi-Qu-c0-hr-b0-59.ucode new file mode 100644 index 0000000..b38f9f1 Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-59.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-66.ucode b/iwlwifi-Qu-c0-hr-b0-66.ucode new file mode 100644 index 0000000..f1f4e23 Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-66.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-72.ucode b/iwlwifi-Qu-c0-hr-b0-72.ucode new file mode 100644 index 0000000..8e5a17e Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-72.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-73.ucode b/iwlwifi-Qu-c0-hr-b0-73.ucode new file mode 100644 index 0000000..c3a23c8 Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-73.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-74.ucode b/iwlwifi-Qu-c0-hr-b0-74.ucode new file mode 100644 index 0000000..a6fa4ea Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-74.ucode differ diff --git a/iwlwifi-Qu-c0-hr-b0-77.ucode b/iwlwifi-Qu-c0-hr-b0-77.ucode new file mode 100644 index 0000000..5b5b5fb Binary files /dev/null and b/iwlwifi-Qu-c0-hr-b0-77.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-50.ucode b/iwlwifi-Qu-c0-jf-b0-50.ucode new file mode 100644 index 0000000..2d0d280 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-50.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-59.ucode b/iwlwifi-Qu-c0-jf-b0-59.ucode new file mode 100644 index 0000000..421daf4 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-59.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-66.ucode b/iwlwifi-Qu-c0-jf-b0-66.ucode new file mode 100644 index 0000000..c7d0649 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-66.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-72.ucode b/iwlwifi-Qu-c0-jf-b0-72.ucode new file mode 100644 index 0000000..905d1a1 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-72.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-73.ucode b/iwlwifi-Qu-c0-jf-b0-73.ucode new file mode 100644 index 0000000..4e88eb2 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-73.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-74.ucode b/iwlwifi-Qu-c0-jf-b0-74.ucode new file mode 100644 index 0000000..0b43083 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-74.ucode differ diff --git a/iwlwifi-Qu-c0-jf-b0-77.ucode b/iwlwifi-Qu-c0-jf-b0-77.ucode new file mode 100644 index 0000000..1cec814 Binary files /dev/null and b/iwlwifi-Qu-c0-jf-b0-77.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-50.ucode b/iwlwifi-QuZ-a0-hr-b0-50.ucode new file mode 100644 index 0000000..f5ea9c2 Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-50.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-59.ucode b/iwlwifi-QuZ-a0-hr-b0-59.ucode new file mode 100644 index 0000000..dbbbe31 Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-59.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-66.ucode b/iwlwifi-QuZ-a0-hr-b0-66.ucode new file mode 100644 index 0000000..2e7b56b Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-66.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-72.ucode b/iwlwifi-QuZ-a0-hr-b0-72.ucode new file mode 100644 index 0000000..1e594a1 Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-72.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-73.ucode b/iwlwifi-QuZ-a0-hr-b0-73.ucode new file mode 100644 index 0000000..16e42ff Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-73.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-74.ucode b/iwlwifi-QuZ-a0-hr-b0-74.ucode new file mode 100644 index 0000000..898fed7 Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-74.ucode differ diff --git a/iwlwifi-QuZ-a0-hr-b0-77.ucode b/iwlwifi-QuZ-a0-hr-b0-77.ucode new file mode 100644 index 0000000..c181f9c Binary files /dev/null and b/iwlwifi-QuZ-a0-hr-b0-77.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-50.ucode b/iwlwifi-QuZ-a0-jf-b0-50.ucode new file mode 100644 index 0000000..990c7e9 Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-50.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-59.ucode b/iwlwifi-QuZ-a0-jf-b0-59.ucode new file mode 100644 index 0000000..56542db Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-59.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-66.ucode b/iwlwifi-QuZ-a0-jf-b0-66.ucode new file mode 100644 index 0000000..720fd13 Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-66.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-72.ucode b/iwlwifi-QuZ-a0-jf-b0-72.ucode new file mode 100644 index 0000000..e56c7af Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-72.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-73.ucode b/iwlwifi-QuZ-a0-jf-b0-73.ucode new file mode 100644 index 0000000..072064d Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-73.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-74.ucode b/iwlwifi-QuZ-a0-jf-b0-74.ucode new file mode 100644 index 0000000..3430fbf Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-74.ucode differ diff --git a/iwlwifi-QuZ-a0-jf-b0-77.ucode b/iwlwifi-QuZ-a0-jf-b0-77.ucode new file mode 100644 index 0000000..7c2a06a Binary files /dev/null and b/iwlwifi-QuZ-a0-jf-b0-77.ucode differ diff --git a/iwlwifi-cc-a0-50.ucode b/iwlwifi-cc-a0-50.ucode new file mode 100644 index 0000000..1aa110c Binary files /dev/null and b/iwlwifi-cc-a0-50.ucode differ diff --git a/iwlwifi-cc-a0-59.ucode b/iwlwifi-cc-a0-59.ucode new file mode 100644 index 0000000..ddf1e6b Binary files /dev/null and b/iwlwifi-cc-a0-59.ucode differ diff --git a/iwlwifi-cc-a0-66.ucode b/iwlwifi-cc-a0-66.ucode new file mode 100644 index 0000000..974f006 Binary files /dev/null and b/iwlwifi-cc-a0-66.ucode differ diff --git a/iwlwifi-cc-a0-72.ucode b/iwlwifi-cc-a0-72.ucode new file mode 100644 index 0000000..05285d8 Binary files /dev/null and b/iwlwifi-cc-a0-72.ucode differ diff --git a/iwlwifi-cc-a0-73.ucode b/iwlwifi-cc-a0-73.ucode new file mode 100644 index 0000000..9f7df76 Binary files /dev/null and b/iwlwifi-cc-a0-73.ucode differ diff --git a/iwlwifi-cc-a0-74.ucode b/iwlwifi-cc-a0-74.ucode new file mode 100644 index 0000000..4a080fe Binary files /dev/null and b/iwlwifi-cc-a0-74.ucode differ diff --git a/iwlwifi-cc-a0-77.ucode b/iwlwifi-cc-a0-77.ucode new file mode 100644 index 0000000..0e047a7 Binary files /dev/null and b/iwlwifi-cc-a0-77.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-72.ucode b/iwlwifi-so-a0-gf-a0-72.ucode new file mode 100644 index 0000000..0e49219 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-72.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-73.ucode b/iwlwifi-so-a0-gf-a0-73.ucode new file mode 100644 index 0000000..196a3bd Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-73.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-74.ucode b/iwlwifi-so-a0-gf-a0-74.ucode new file mode 100644 index 0000000..73f819f Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-74.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-77.ucode b/iwlwifi-so-a0-gf-a0-77.ucode new file mode 100644 index 0000000..f52e032 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-77.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-78.ucode b/iwlwifi-so-a0-gf-a0-78.ucode new file mode 100644 index 0000000..0085929 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-78.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-79.ucode b/iwlwifi-so-a0-gf-a0-79.ucode new file mode 100644 index 0000000..a9576f4 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-79.ucode differ diff --git a/iwlwifi-so-a0-gf-a0-81.ucode b/iwlwifi-so-a0-gf-a0-81.ucode new file mode 100644 index 0000000..6e83f53 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0-81.ucode differ diff --git a/iwlwifi-so-a0-gf-a0.pnvm b/iwlwifi-so-a0-gf-a0.pnvm new file mode 100644 index 0000000..a45b6a2 Binary files /dev/null and b/iwlwifi-so-a0-gf-a0.pnvm differ diff --git a/iwlwifi-so-a0-gf4-a0-72.ucode b/iwlwifi-so-a0-gf4-a0-72.ucode new file mode 100644 index 0000000..9763bc2 Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-72.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-73.ucode b/iwlwifi-so-a0-gf4-a0-73.ucode new file mode 100644 index 0000000..c1595fd Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-73.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-74.ucode b/iwlwifi-so-a0-gf4-a0-74.ucode new file mode 100644 index 0000000..bbdb93b Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-74.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-77.ucode b/iwlwifi-so-a0-gf4-a0-77.ucode new file mode 100644 index 0000000..36cc81f Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-77.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-78.ucode b/iwlwifi-so-a0-gf4-a0-78.ucode new file mode 100644 index 0000000..a3de68b Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-78.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-79.ucode b/iwlwifi-so-a0-gf4-a0-79.ucode new file mode 100644 index 0000000..9ffdbba Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-79.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0-81.ucode b/iwlwifi-so-a0-gf4-a0-81.ucode new file mode 100644 index 0000000..dbd7acf Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0-81.ucode differ diff --git a/iwlwifi-so-a0-gf4-a0.pnvm b/iwlwifi-so-a0-gf4-a0.pnvm new file mode 100644 index 0000000..b42e6ae Binary files /dev/null and b/iwlwifi-so-a0-gf4-a0.pnvm differ diff --git a/iwlwifi-so-a0-hr-b0-72.ucode b/iwlwifi-so-a0-hr-b0-72.ucode new file mode 100644 index 0000000..1476130 Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-72.ucode differ diff --git a/iwlwifi-so-a0-hr-b0-73.ucode b/iwlwifi-so-a0-hr-b0-73.ucode new file mode 100644 index 0000000..2da5b4c Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-73.ucode differ diff --git a/iwlwifi-so-a0-hr-b0-74.ucode b/iwlwifi-so-a0-hr-b0-74.ucode new file mode 100644 index 0000000..727b09b Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-74.ucode differ diff --git a/iwlwifi-so-a0-hr-b0-77.ucode b/iwlwifi-so-a0-hr-b0-77.ucode new file mode 100644 index 0000000..57b7ad0 Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-77.ucode differ diff --git a/iwlwifi-so-a0-hr-b0-79.ucode b/iwlwifi-so-a0-hr-b0-79.ucode new file mode 100644 index 0000000..b05ff78 Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-79.ucode differ diff --git a/iwlwifi-so-a0-hr-b0-81.ucode b/iwlwifi-so-a0-hr-b0-81.ucode new file mode 100644 index 0000000..fc8558c Binary files /dev/null and b/iwlwifi-so-a0-hr-b0-81.ucode differ diff --git a/iwlwifi-so-a0-jf-b0-72.ucode b/iwlwifi-so-a0-jf-b0-72.ucode new file mode 100644 index 0000000..790a469 Binary files /dev/null and b/iwlwifi-so-a0-jf-b0-72.ucode differ diff --git a/iwlwifi-so-a0-jf-b0-73.ucode b/iwlwifi-so-a0-jf-b0-73.ucode new file mode 100644 index 0000000..4704c56 Binary files /dev/null and b/iwlwifi-so-a0-jf-b0-73.ucode differ diff --git a/iwlwifi-so-a0-jf-b0-74.ucode b/iwlwifi-so-a0-jf-b0-74.ucode new file mode 100644 index 0000000..ad4eaad Binary files /dev/null and b/iwlwifi-so-a0-jf-b0-74.ucode differ diff --git a/iwlwifi-so-a0-jf-b0-77.ucode b/iwlwifi-so-a0-jf-b0-77.ucode new file mode 100644 index 0000000..3649a1c Binary files /dev/null and b/iwlwifi-so-a0-jf-b0-77.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-59.ucode b/iwlwifi-ty-a0-gf-a0-59.ucode new file mode 100644 index 0000000..955fb2c Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-59.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-66.ucode b/iwlwifi-ty-a0-gf-a0-66.ucode new file mode 100644 index 0000000..df1320e Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-66.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-72.ucode b/iwlwifi-ty-a0-gf-a0-72.ucode new file mode 100644 index 0000000..627daf4 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-72.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-73.ucode b/iwlwifi-ty-a0-gf-a0-73.ucode new file mode 100644 index 0000000..1a65924 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-73.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-74.ucode b/iwlwifi-ty-a0-gf-a0-74.ucode new file mode 100644 index 0000000..1014ffe Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-74.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-77.ucode b/iwlwifi-ty-a0-gf-a0-77.ucode new file mode 100644 index 0000000..bc3a062 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-77.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-78.ucode b/iwlwifi-ty-a0-gf-a0-78.ucode new file mode 100644 index 0000000..a5d4436 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-78.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-79.ucode b/iwlwifi-ty-a0-gf-a0-79.ucode new file mode 100644 index 0000000..8b44aa2 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-79.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0-81.ucode b/iwlwifi-ty-a0-gf-a0-81.ucode new file mode 100644 index 0000000..66f3a2e Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0-81.ucode differ diff --git a/iwlwifi-ty-a0-gf-a0.pnvm b/iwlwifi-ty-a0-gf-a0.pnvm new file mode 100644 index 0000000..72fc7a8 Binary files /dev/null and b/iwlwifi-ty-a0-gf-a0.pnvm differ diff --git a/kaweth/new_code.bin b/kaweth/new_code.bin new file mode 100644 index 0000000..97f06cf Binary files /dev/null and b/kaweth/new_code.bin differ diff --git a/kaweth/new_code_fix.bin b/kaweth/new_code_fix.bin new file mode 100644 index 0000000..5318843 Binary files /dev/null and b/kaweth/new_code_fix.bin differ diff --git a/kaweth/trigger_code.bin b/kaweth/trigger_code.bin new file mode 100644 index 0000000..f4cd7b9 Binary files /dev/null and b/kaweth/trigger_code.bin differ diff --git a/kaweth/trigger_code_fix.bin b/kaweth/trigger_code_fix.bin new file mode 100644 index 0000000..65af2d2 Binary files /dev/null and b/kaweth/trigger_code_fix.bin differ diff --git a/keyspan_pda/Makefile b/keyspan_pda/Makefile new file mode 100644 index 0000000..fc37ea4 --- /dev/null +++ b/keyspan_pda/Makefile @@ -0,0 +1,12 @@ +CC = gcc +IHEX2FW = ihex2fw + +all: keyspan_pda.fw xircom_pgs.fw + +%.fw: %.S + $(CC) -x assembler-with-cpp -P -E -o $*.asm $< + as31 -l $*.asm + $(IHEX2FW) $*.hex $@ + +clean: + rm -f *.asm *.fw *.hex *.lst *.obj diff --git a/keyspan_pda/keyspan_pda.S b/keyspan_pda/keyspan_pda.S new file mode 100644 index 0000000..602bcce --- /dev/null +++ b/keyspan_pda/keyspan_pda.S @@ -0,0 +1,1129 @@ +/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ + * + * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on + * the EzUSB microcontroller. + * + * (C) Copyright 2000 Brian Warner + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * "Keyspan PDA Serial Adapter" is probably a copyright of Keyspan, the + * company. + * + * This serial adapter is basically an EzUSB chip and an RS-232 line driver + * in a little widget that has a DB-9 on one end and a USB plug on the other. + * It uses the EzUSB's internal UART0 (using the pins from Port C) and timer2 + * as a baud-rate generator. The wiring is: + * PC0/RxD0 <- rxd (DB9 pin 2) PC4 <- dsr pin 6 + * PC1/TxD0 -> txd pin 3 PC5 <- ri pin 9 + * PC2 -> rts pin 7 PC6 <- dcd pin 1 + * PC3 <- cts pin 8 PC7 -> dtr pin 4 + * PB1 -> line driver standby + * + * The EzUSB register constants below come from their excellent documentation + * and sample code (which used to be available at www.anchorchips.com, but + * that has now been absorbed into Cypress' site and the CD-ROM contents + * don't appear to be available online anymore). If we get multiple + * EzUSB-based drivers into the kernel, it might be useful to pull them out + * into a separate .h file. + * + * THEORY OF OPERATION: + * + * There are two 256-byte ring buffers, one for tx, one for rx. + * + * EP2out is pure tx data. When it appears, the data is copied into the tx + * ring and serial transmission is started if it wasn't already running. The + * "tx buffer empty" interrupt may kick off another character if the ring + * still has data. If the host is tx-blocked because the ring filled up, + * it will request a "tx unthrottle" interrupt. If sending a serial character + * empties the ring below the desired threshold, we set a bit that will send + * up the tx unthrottle message as soon as the rx buffer becomes free. + * + * EP2in (interrupt) is used to send both rx chars and rx status messages + * (only "tx unthrottle" at this time) back up to the host. The first byte + * of the rx message indicates data (0) or status msg (1). Status messages + * are sent before any data. + * + * Incoming serial characters are put into the rx ring by the serial + * interrupt, and the EP2in buffer sent if it wasn't already in transit. + * When the EP2in buffer returns, the interrupt prompts us to send more + * rx chars (or status messages) if they are pending. + * + * Device control happens through "vendor specific" control messages on EP0. + * All messages are destined for the "Interface" (with the index always 0, + * so that if their two-port device might someday use similar firmware, we + * can use index=1 to refer to the second port). The messages defined are: + * + * bRequest = 0 : set baud/bits/parity + * 1 : unused + * 2 : reserved for setting HW flow control (CTSRTS) + * 3 : get/set "modem info" (pin states: DTR, RTS, DCD, RI, etc) + * 4 : set break (on/off) + * 5 : reserved for requesting interrupts on pin state change + * 6 : query buffer room or chars in tx buffer + * 7 : request tx unthrottle interrupt + * + * The host-side driver is set to recognize the device ID values stashed in + * serial EEPROM (0x06cd, 0x0103), program this firmware into place, then + * start it running. This firmware will use EzUSB's "renumeration" trick by + * simulating a bus disconnect, then reconnect with a different device ID + * (encoded in the desc_device descriptor below). The host driver then + * recognizes the new device ID and glues it to the real serial driver code. + * + * USEFUL DOCS: + * EzUSB Technical Reference Manual: + * 8051 manuals: everywhere, but try www.dalsemi.com because the EzUSB is + * basically the Dallas enhanced 8051 code. Remember that the EzUSB IO ports + * use totally different registers! + * USB 1.1 spec: www.usb.org + * + * HOW TO BUILD: + * gcc -x assembler-with-cpp -P -E -o keyspan_pda.asm keyspan_pda.s + * as31 -l keyspan_pda.asm + * mv keyspan_pda.obj keyspan_pda.hex + * perl ezusb_convert.pl keyspan_pda < keyspan_pda.hex > keyspan_pda_fw.h + * Get as31 from , and hack on it + * a bit to make it build. + * + * THANKS: + * Greg Kroah-Hartman, for coordinating the whole usb-serial thing. + * AnchorChips, for making such an incredibly useful little microcontroller. + * KeySpan, for making a handy, cheap ($40) widget that was so easy to take + * apart and trace with an ohmmeter. + * + * TODO: + * lots. grep for TODO. Interrupt safety needs stress-testing. Better flow + * control. Interrupting host upon change in DCD, etc, counting transitions. + * Need to find a safe device id to use (the one used by the Keyspan firmware + * under Windows would be ideal.. can anyone figure out what it is?). Parity. + * More baud rates. Oh, and the string-descriptor-length silicon bug + * workaround should be implemented, but I'm lazy, and the consequence is + * that the device name strings that show up in your kernel log will have + * lots of trailing binary garbage in them (appears as ????). Device strings + * should be made more accurate. + * + * Questions, bugs, patches to Brian. + * + * -Brian Warner + * + */ + +#define HIGH(x) (((x) & 0xff00) / 256) +#define LOW(x) ((x) & 0xff) + +#define dpl1 0x84 +#define dph1 0x85 +#define dps 0x86 + +;;; our bit assignments +#define TX_RUNNING 0 +#define DO_TX_UNTHROTTLE 1 + + ;; stack from 0x60 to 0x7f: should really set SP to 0x60-1, not 0x60 +#define STACK #0x60-1 + +#define EXIF 0x91 +#define EIE 0xe8 + .flag EUSB, EIE.0 + .flag ES0, IE.4 + +#define EP0CS #0x7fb4 +#define EP0STALLbit #0x01 +#define IN0BUF #0x7f00 +#define IN0BC #0x7fb5 +#define OUT0BUF #0x7ec0 +#define OUT0BC #0x7fc5 +#define IN2BUF #0x7e00 +#define IN2BC #0x7fb9 +#define IN2CS #0x7fb8 +#define OUT2BC #0x7fc9 +#define OUT2CS #0x7fc8 +#define OUT2BUF #0x7dc0 +#define IN4BUF #0x7d00 +#define IN4BC #0x7fbd +#define IN4CS #0x7fbc +#define OEB #0x7f9d +#define OUTB #0x7f97 +#define OEC #0x7f9e +#define OUTC #0x7f98 +#define PINSC #0x7f9b +#define PORTCCFG #0x7f95 +#define IN07IRQ #0x7fa9 +#define OUT07IRQ #0x7faa +#define IN07IEN #0x7fac +#define OUT07IEN #0x7fad +#define USBIRQ #0x7fab +#define USBIEN #0x7fae +#define USBBAV #0x7faf +#define USBCS #0x7fd6 +#define SUDPTRH #0x7fd4 +#define SUDPTRL #0x7fd5 +#define SETUPDAT #0x7fe8 + + ;; usb interrupt : enable is EIE.0 (0xe8), flag is EXIF.4 (0x91) + + .org 0 + ljmp start + ;; interrupt vectors + .org 23H + ljmp serial_int + .byte 0 + + .org 43H + ljmp USB_Jump_Table + .byte 0 ; filled in by the USB core + +;;; local variables. These are not initialized properly: do it by hand. + .org 30H +rx_ring_in: .byte 0 +rx_ring_out: .byte 0 +tx_ring_in: .byte 0 +tx_ring_out: .byte 0 +tx_unthrottle_threshold: .byte 0 + + .org 0x100H ; wants to be on a page boundary +USB_Jump_Table: + ljmp ISR_Sudav ; Setup Data Available + .byte 0 + ljmp 0 ; Start of Frame + .byte 0 + ljmp 0 ; Setup Data Loading + .byte 0 + ljmp 0 ; Global Suspend + .byte 0 + ljmp 0 ; USB Reset + .byte 0 + ljmp 0 ; Reserved + .byte 0 + ljmp 0 ; End Point 0 In + .byte 0 + ljmp 0 ; End Point 0 Out + .byte 0 + ljmp 0 ; End Point 1 In + .byte 0 + ljmp 0 ; End Point 1 Out + .byte 0 + ljmp ISR_Ep2in + .byte 0 + ljmp ISR_Ep2out + .byte 0 + + + .org 0x200 + +start: mov SP,STACK-1 ; set stack + ;; clear local variables + clr a + mov tx_ring_in, a + mov tx_ring_out, a + mov rx_ring_in, a + mov rx_ring_out, a + mov tx_unthrottle_threshold, a + clr TX_RUNNING + clr DO_TX_UNTHROTTLE + + ;; clear fifo with "fe" + mov r1, 0 + mov a, #0xfe + mov dptr, #tx_ring +clear_tx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_tx_ring_loop + + mov a, #0xfd + mov dptr, #rx_ring +clear_rx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_rx_ring_loop + +;;; turn on the RS-232 driver chip (bring the STANDBY pin low) + ;; set OEB.1 + mov a, #02H + mov dptr,OEB + movx @dptr,a + ;; clear PB1 + mov a, #00H + mov dptr,OUTB + movx @dptr,a + ;; set OEC.[127] + mov a, #0x86 + mov dptr,OEC + movx @dptr,a + ;; set PORTCCFG.[01] to route TxD0,RxD0 to serial port + mov dptr, PORTCCFG + mov a, #0x03 + movx @dptr, a + + ;; set up interrupts, autovectoring + mov dptr, USBBAV + movx a,@dptr + setb acc.0 ; AVEN bit to 0 + movx @dptr, a + + mov a,#0x01 ; enable SUDAV: setup data available (for ep0) + mov dptr, USBIRQ + movx @dptr, a ; clear SUDAVI + mov dptr, USBIEN + movx @dptr, a + + mov dptr, IN07IEN + mov a,#0x04 ; enable IN2 int + movx @dptr, a + + mov dptr, OUT07IEN + mov a,#0x04 ; enable OUT2 int + movx @dptr, a + mov dptr, OUT2BC + movx @dptr, a ; arm OUT2 + + mov a, #0x84 ; turn on RTS, DTR + mov dptr,OUTC + movx @dptr, a + ;; setup the serial port. 9600 8N1. + ;; Original source had: + ;;mov a,#01010011 ; mode 1, enable rx, clear int + ;; This was presumably meant to be a binary constant, but it's + ;; really decimal and out of 8-bit range. as31 used to treat + ;; it as 0 and that seems to have worked, so carry on with 0. + mov a,#0 + mov SCON, a + ;; using timer2, in 16-bit baud-rate-generator mode + ;; (xtal 12MHz, internal fosc 24MHz) + ;; RCAP2H,RCAP2L = 65536 - fosc/(32*baud) + ;; 57600: 0xFFF2.F, say 0xFFF3 + ;; 9600: 0xFFB1.E, say 0xFFB2 + ;; 300: 0xF63C +#define BAUD 9600 +#define BAUD_TIMEOUT(rate) (65536 - (24 * 1000 * 1000) / (32 * rate)) +#define BAUD_HIGH(rate) HIGH(BAUD_TIMEOUT(rate)) +#define BAUD_LOW(rate) LOW(BAUD_TIMEOUT(rate)) + + mov T2CON, #030h ; rclk=1,tclk=1,cp=0,tr2=0(enable later) + mov r3, #5 + acall set_baud + setb TR2 + mov SCON, #050h + +#if 0 + mov r1, #0x40 + mov a, #0x41 +send: + mov SBUF, a + inc a + anl a, #0x3F + orl a, #0x40 +; xrl a, #0x02 +wait1: + jnb TI, wait1 + clr TI + djnz r1, send +;done: sjmp done + +#endif + + setb EUSB + setb EA + setb ES0 + ;acall dump_stat + + ;; hey, what say we RENUMERATE! (TRM p.62) + mov a, #0 + mov dps, a + mov dptr, USBCS + mov a, #0x02 ; DISCON=0, DISCOE=0, RENUM=1 + movx @dptr, a + ;; now presence pin is floating, simulating disconnect. wait 0.5s + mov r1, #46 +renum_wait1: + mov r2, #0 +renum_wait2: + mov r3, #0 +renum_wait3: + djnz r3, renum_wait3 + djnz r2, renum_wait2 + djnz r1, renum_wait1 ; wait about n*(256^2) 6MHz clocks + mov a, #0x06 ; DISCON=0, DISCOE=1, RENUM=1 + movx @dptr, a + ;; we are back online. the host device will now re-query us + + +main: sjmp main + + + +ISR_Sudav: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, USBIRQ ; clear USB int + mov a,#01h + movx @dptr,a + + ;; get request type + mov dptr, SETUPDAT + movx a, @dptr + mov r1, a ; r1 = bmRequestType + inc dptr + movx a, @dptr + mov r2, a ; r2 = bRequest + inc dptr + movx a, @dptr + mov r3, a ; r3 = wValueL + inc dptr + movx a, @dptr + mov r4, a ; r4 = wValueH + + ;; main switch on bmRequest.type: standard or vendor + mov a, r1 + anl a, #0x60 + cjne a, #0x00, setup_bmreq_type_not_standard + ;; standard request: now main switch is on bRequest + ljmp setup_bmreq_is_standard + +setup_bmreq_type_not_standard: + ;; a still has bmreq&0x60 + cjne a, #0x40, setup_bmreq_type_not_vendor + ;; Anchor reserves bRequest 0xa0-0xaf, we use small ones + ;; switch on bRequest. bmRequest will always be 0x41 or 0xc1 + cjne r2, #0x00, setup_ctrl_not_00 + ;; 00 is set baud, wValue[0] has baud rate index + lcall set_baud ; index in r3, carry set if error + jc setup_bmreq_type_not_standard__do_stall + ljmp setup_done_ack +setup_bmreq_type_not_standard__do_stall: + ljmp setup_stall +setup_ctrl_not_00: + cjne r2, #0x01, setup_ctrl_not_01 + ;; 01 is reserved for set bits (parity). TODO + ljmp setup_stall +setup_ctrl_not_01: + cjne r2, #0x02, setup_ctrl_not_02 + ;; 02 is set HW flow control. TODO + ljmp setup_stall +setup_ctrl_not_02: + cjne r2, #0x03, setup_ctrl_not_03 + ;; 03 is control pins (RTS, DTR). + ljmp control_pins ; will jump to setup_done_ack, + ; or setup_return_one_byte +setup_ctrl_not_03: + cjne r2, #0x04, setup_ctrl_not_04 + ;; 04 is send break (really "turn break on/off"). TODO + cjne r3, #0x00, setup_ctrl_do_break_on + ;; do break off: restore PORTCCFG.1 to reconnect TxD0 to serial port + mov dptr, PORTCCFG + movx a, @dptr + orl a, #0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_do_break_on: + ;; do break on: clear PORTCCFG.0, set TxD high(?) (b1 low) + mov dptr, OUTC + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + mov dptr, PORTCCFG + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_not_04: + cjne r2, #0x05, setup_ctrl_not_05 + ;; 05 is set desired interrupt bitmap. TODO + ljmp setup_stall +setup_ctrl_not_05: + cjne r2, #0x06, setup_ctrl_not_06 + ;; 06 is query room + cjne r3, #0x00, setup_ctrl_06_not_00 + ;; 06, wValue[0]=0 is query write_room + mov a, tx_ring_out + setb c + subb a, tx_ring_in ; out-1-in = 255 - (in-out) + ljmp setup_return_one_byte +setup_ctrl_06_not_00: + cjne r3, #0x01, setup_ctrl_06_not_01 + ;; 06, wValue[0]=1 is query chars_in_buffer + mov a, tx_ring_in + clr c + subb a, tx_ring_out ; in-out + ljmp setup_return_one_byte +setup_ctrl_06_not_01: + ljmp setup_stall +setup_ctrl_not_06: + cjne r2, #0x07, setup_ctrl_not_07 + ;; 07 is request tx unthrottle interrupt + mov tx_unthrottle_threshold, r3; wValue[0] is threshold value + ljmp setup_done_ack +setup_ctrl_not_07: + ljmp setup_stall + +setup_bmreq_type_not_vendor: + ljmp setup_stall + + +setup_bmreq_is_standard: + cjne r2, #0x00, setup_breq_not_00 + ;; 00: Get_Status (sub-switch on bmRequestType: device, ep, int) + cjne r1, #0x80, setup_Get_Status_not_device + ;; Get_Status(device) + ;; are we self-powered? no. can we do remote wakeup? no + ;; so return two zero bytes. This is reusable +setup_return_two_zero_bytes: + mov dptr, IN0BUF + clr a + movx @dptr, a + inc dptr + movx @dptr, a + mov dptr, IN0BC + mov a, #2 + movx @dptr, a + ljmp setup_done_ack +setup_Get_Status_not_device: + cjne r1, #0x82, setup_Get_Status_not_endpoint + ;; Get_Status(endpoint) + ;; must get stall bit for ep[wIndexL], return two bytes, bit in lsb 0 + ;; for now: cheat. TODO + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_endpoint: + cjne r1, #0x81, setup_Get_Status_not_interface + ;; Get_Status(interface): return two zeros + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_interface: + ljmp setup_stall + +setup_breq_not_00: + cjne r2, #0x01, setup_breq_not_01 + ;; 01: Clear_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Clear_Feature_not_stall + ;; Clear_Feature(stall). should clear a stall bit. TODO + ljmp setup_stall +setup_Clear_Feature_not_stall: + cjne r3, #0x01, setup_Clear_Feature_not_rwake + ;; Clear_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Clear_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_01: + cjne r2, #0x03, setup_breq_not_03 + ;; 03: Set_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Set_Feature_not_stall + ;; Set_Feature(stall). Should set a stall bit. TODO + ljmp setup_stall +setup_Set_Feature_not_stall: + cjne r3, #0x01, setup_Set_Feature_not_rwake + ;; Set_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Set_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_03: + cjne r2, #0x06, setup_breq_not_06 + ;; 06: Get_Descriptor (s-switch on wValueH: dev, config[n], string[n]) + cjne r4, #0x01, setup_Get_Descriptor_not_device + ;; Get_Descriptor(device) + mov dptr, SUDPTRH + mov a, #HIGH(desc_device) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_device) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_device: + cjne r4, #0x02, setup_Get_Descriptor_not_config + ;; Get_Descriptor(config[n]) + cjne r3, #0x00, setup_stall; only handle n==0 + ;; Get_Descriptor(config[0]) + mov dptr, SUDPTRH + mov a, #HIGH(desc_config1) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_config1) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_config: + cjne r4, #0x03, setup_Get_Descriptor_not_string + ;; Get_Descriptor(string[wValueL]) + ;; if (wValueL >= maxstrings) stall + mov a, #((desc_strings_end-desc_strings)/2) + clr c + subb a,r3 ; a=4, r3 = 0..3 . if a<=0 then stall + jc setup_stall + jz setup_stall + mov a, r3 + add a, r3 ; a = 2*wValueL + mov dptr, #desc_strings + add a, dpl + mov dpl, a + mov a, #0 + addc a, dph + mov dph, a ; dph = desc_strings[a]. big endian! (handy) + ;; it looks like my adapter uses a revision of the EZUSB that + ;; contains "rev D errata number 8", as hinted in the EzUSB example + ;; code. I cannot find an actual errata description on the Cypress + ;; web site, but from the example code it looks like this bug causes + ;; the length of string descriptors to be read incorrectly, possibly + ;; sending back more characters than the descriptor has. The workaround + ;; is to manually send out all of the data. The consequence of not + ;; using the workaround is that the strings gathered by the kernel + ;; driver are too long and are filled with trailing garbage (including + ;; leftover strings). Writing this out by hand is a nuisance, so for + ;; now I will just live with the bug. + movx a, @dptr + mov r1, a + inc dptr + movx a, @dptr + mov r2, a + mov dptr, SUDPTRH + mov a, r1 + movx @dptr, a + mov dptr, SUDPTRL + mov a, r2 + movx @dptr, a + ;; done + ljmp setup_done_ack + +setup_Get_Descriptor_not_string: + ljmp setup_stall + +setup_breq_not_06: + cjne r2, #0x08, setup_breq_not_08 + ;; Get_Configuration. always 1. return one byte. + ;; this is reusable + mov a, #1 +setup_return_one_byte: + mov dptr, IN0BUF + movx @dptr, a + mov a, #1 + mov dptr, IN0BC + movx @dptr, a + ljmp setup_done_ack +setup_breq_not_08: + cjne r2, #0x09, setup_breq_not_09 + ;; 09: Set_Configuration. ignored. + ljmp setup_done_ack +setup_breq_not_09: + cjne r2, #0x0a, setup_breq_not_0a + ;; 0a: Get_Interface. get the current altsetting for int[wIndexL] + ;; since we only have one interface, ignore wIndexL, return a 0 + mov a, #0 + ljmp setup_return_one_byte +setup_breq_not_0a: + cjne r2, #0x0b, setup_breq_not_0b + ;; 0b: Set_Interface. set altsetting for interface[wIndexL]. ignored + ljmp setup_done_ack +setup_breq_not_0b: + ljmp setup_stall + + +setup_done_ack: + ;; now clear HSNAK + mov dptr, EP0CS + mov a, #0x02 + movx @dptr, a + sjmp setup_done +setup_stall: + ;; unhandled. STALL + ;EP0CS |= bmEPSTALL + mov dptr, EP0CS + movx a, @dptr + orl a, EP0STALLbit + movx @dptr, a + sjmp setup_done + +setup_done: + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +;;; ============================================================== + +set_baud: ; baud index in r3 + ;; verify a < 10 + mov a, r3 + jb ACC.7, set_baud__badbaud + clr c + subb a, #10 + jnc set_baud__badbaud + mov a, r3 + rl a ; a = index*2 + add a, #LOW(baud_table) + mov dpl, a + mov a, #HIGH(baud_table) + addc a, #0 + mov dph, a + ;; TODO: shut down xmit/receive + ;; TODO: wait for current xmit char to leave + ;; TODO: shut down timer to avoid partial-char glitch + movx a,@dptr ; BAUD_HIGH + mov RCAP2H, a + mov TH2, a + inc dptr + movx a,@dptr ; BAUD_LOW + mov RCAP2L, a + mov TL2, a + ;; TODO: restart xmit/receive + ;; TODO: reenable interrupts, resume tx if pending + clr c ; c=0: success + ret +set_baud__badbaud: + setb c ; c=1: failure + ret + +;;; ================================================== +control_pins: + cjne r1, #0x41, control_pins_in +control_pins_out: + mov a, r3 ; wValue[0] holds new bits: b7 is new DTR, b2 is new RTS + xrl a, #0xff ; 1 means active, 0V, +12V ? + anl a, #0x84 + mov r3, a + mov dptr, OUTC + movx a, @dptr ; only change bits 7 and 2 + anl a, #0x7b ; ~0x84 + orl a, r3 + movx @dptr, a ; other pins are inputs, bits ignored + ljmp setup_done_ack +control_pins_in: + mov dptr, PINSC + movx a, @dptr + xrl a, #0xff + ljmp setup_return_one_byte + +;;; ======================================== + +ISR_Ep2in: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, IN07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + lcall start_in + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +ISR_Ep2out: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, OUT07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + + ;; copy data into buffer. for now, assume we will have enough space + mov dptr, OUT2BC ; get byte count + movx a,@dptr + mov r1, a + clr a + mov dps, a + mov dptr, OUT2BUF ; load DPTR0 with source + mov dph1, #HIGH(tx_ring) ; load DPTR1 with target + mov dpl1, tx_ring_in +OUT_loop: + movx a,@dptr ; read + inc dps ; switch to DPTR1: target + inc dpl1 ; target = tx_ring_in+1 + movx @dptr,a ; store + mov a,dpl1 + cjne a, tx_ring_out, OUT_no_overflow + sjmp OUT_overflow +OUT_no_overflow: + inc tx_ring_in ; tx_ring_in++ + inc dps ; switch to DPTR0: source + inc dptr + djnz r1, OUT_loop + sjmp OUT_done +OUT_overflow: + ;; signal overflow + ;; fall through +OUT_done: + ;; ack + mov dptr,OUT2BC + movx @dptr,a + + ;; start tx + acall maybe_start_tx + ;acall dump_stat + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +dump_stat: + ;; fill in EP4in with a debugging message: + ;; tx_ring_in, tx_ring_out, rx_ring_in, rx_ring_out + ;; tx_active + ;; tx_ring[0..15] + ;; 0xfc + ;; rx_ring[0..15] + clr a + mov dps, a + + mov dptr, IN4CS + movx a, @dptr + jb acc.1, dump_stat__done; busy: cannot dump, old one still pending + mov dptr, IN4BUF + + mov a, tx_ring_in + movx @dptr, a + inc dptr + mov a, tx_ring_out + movx @dptr, a + inc dptr + + mov a, rx_ring_in + movx @dptr, a + inc dptr + mov a, rx_ring_out + movx @dptr, a + inc dptr + + clr a + jnb TX_RUNNING, dump_stat__no_tx_running + inc a +dump_stat__no_tx_running: + movx @dptr, a + inc dptr + ;; tx_ring[0..15] + inc dps + mov dptr, #tx_ring ; DPTR1: source + mov r1, #16 +dump_stat__tx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__tx_ring_loop + inc dps + + mov a, #0xfc + movx @dptr, a + inc dptr + + ;; rx_ring[0..15] + inc dps + mov dptr, #rx_ring ; DPTR1: source + mov r1, #16 +dump_stat__rx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__rx_ring_loop + + ;; now send it + clr a + mov dps, a + mov dptr, IN4BC + mov a, #38 + movx @dptr, a +dump_stat__done: + ret + +;;; ============================================================ + +maybe_start_tx: + ;; make sure the tx process is running. + jb TX_RUNNING, start_tx_done +start_tx: + ;; is there work to be done? + mov a, tx_ring_in + cjne a,tx_ring_out, start_tx__work + ret ; no work +start_tx__work: + ;; tx was not running. send the first character, setup the TI int + inc tx_ring_out ; [++tx_ring_out] + mov dph, #HIGH(tx_ring) + mov dpl, tx_ring_out + movx a, @dptr + mov sbuf, a + setb TX_RUNNING +start_tx_done: + ;; can we unthrottle the host tx process? + ;; step 1: do we care? + mov a, #0 + cjne a, tx_unthrottle_threshold, start_tx__maybe_unthrottle_tx + ;; nope +start_tx_really_done: + ret +start_tx__maybe_unthrottle_tx: + ;; step 2: is there now room? + mov a, tx_ring_out + setb c + subb a, tx_ring_in + ;; a is now write_room. If thresh >= a, we can unthrottle + clr c + subb a, tx_unthrottle_threshold + jc start_tx_really_done ; nope + ;; yes, we can unthrottle. remove the threshold and mark a request + mov tx_unthrottle_threshold, #0 + setb DO_TX_UNTHROTTLE + ;; prod rx, which will actually send the message when in2 becomes free + ljmp start_in + + +serial_int: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + jnb TI, serial_int__not_tx + ;; tx finished. send another character if we have one + clr TI ; clear int + clr TX_RUNNING + lcall start_tx +serial_int__not_tx: + jnb RI, serial_int__not_rx + lcall get_rx_char + clr RI ; clear int +serial_int__not_rx: + ;; return + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +get_rx_char: + mov dph, #HIGH(rx_ring) + mov dpl, rx_ring_in + inc dpl ; target = rx_ring_in+1 + mov a, sbuf + movx @dptr, a + ;; check for overflow before incrementing rx_ring_in + mov a, dpl + cjne a, rx_ring_out, get_rx_char__no_overflow + ;; signal overflow + ret +get_rx_char__no_overflow: + inc rx_ring_in + ;; kick off USB INpipe + acall start_in + ret + +start_in: + ;; check if the inpipe is already running. + mov dptr, IN2CS + movx a, @dptr + jb acc.1, start_in__done; int will handle it + jb DO_TX_UNTHROTTLE, start_in__do_tx_unthrottle + ;; see if there is any work to do. a serial interrupt might occur + ;; during this sequence? + mov a, rx_ring_in + cjne a, rx_ring_out, start_in__have_work + ret ; nope +start_in__have_work: + ;; now copy as much data as possible into the pipe. 63 bytes max. + clr a + mov dps, a + mov dph, #HIGH(rx_ring) ; load DPTR0 with source + inc dps + mov dptr, IN2BUF ; load DPTR1 with target + movx @dptr, a ; in[0] signals that rest of IN is rx data + inc dptr + inc dps + ;; loop until we run out of data, or we have copied 64 bytes + mov r1, #1 ; INbuf size counter +start_in__loop: + mov a, rx_ring_in + cjne a, rx_ring_out, start_inlocal_irq_enablell_copying + sjmp start_in__kick +start_inlocal_irq_enablell_copying: + inc rx_ring_out + mov dpl, rx_ring_out + movx a, @dptr + inc dps + movx @dptr, a ; write into IN buffer + inc dptr + inc dps + inc r1 + cjne r1, #64, start_in__loop; loop +start_in__kick: + ;; either we ran out of data, or we copied 64 bytes. r1 has byte count + ;; kick off IN + mov dptr, IN2BC + mov a, r1 + jz start_in__done + movx @dptr, a + ;; done +start_in__done: + ;acall dump_stat + ret +start_in__do_tx_unthrottle: + ;; special sequence: send a tx unthrottle message + clr DO_TX_UNTHROTTLE + clr a + mov dps, a + mov dptr, IN2BUF + mov a, #1 + movx @dptr, a + inc dptr + mov a, #2 + movx @dptr, a + mov dptr, IN2BC + movx @dptr, a + ret + +putchar: + clr TI + mov SBUF, a +putchar_wait: + jnb TI, putchar_wait + clr TI + ret + + +baud_table: ; baud_high, then baud_low + ;; baud[0]: 110 + .byte BAUD_HIGH(110) + .byte BAUD_LOW(110) + ;; baud[1]: 300 + .byte BAUD_HIGH(300) + .byte BAUD_LOW(300) + ;; baud[2]: 1200 + .byte BAUD_HIGH(1200) + .byte BAUD_LOW(1200) + ;; baud[3]: 2400 + .byte BAUD_HIGH(2400) + .byte BAUD_LOW(2400) + ;; baud[4]: 4800 + .byte BAUD_HIGH(4800) + .byte BAUD_LOW(4800) + ;; baud[5]: 9600 + .byte BAUD_HIGH(9600) + .byte BAUD_LOW(9600) + ;; baud[6]: 19200 + .byte BAUD_HIGH(19200) + .byte BAUD_LOW(19200) + ;; baud[7]: 38400 + .byte BAUD_HIGH(38400) + .byte BAUD_LOW(38400) + ;; baud[8]: 57600 + .byte BAUD_HIGH(57600) + .byte BAUD_LOW(57600) + ;; baud[9]: 115200 + .byte BAUD_HIGH(115200) + .byte BAUD_LOW(115200) + +desc_device: + .byte 0x12, 0x01, 0x00, 0x01, 0xff, 0xff, 0xff, 0x40 + .byte 0xcd, 0x06, 0x04, 0x01, 0x89, 0xab, 1, 2, 3, 0x01 +;;; The "real" device id, which must match the host driver, is that +;;; "0xcd 0x06 0x04 0x01" sequence, which is 0x06cd, 0x0104 + +desc_config1: + .byte 0x09, 0x02, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x32 + .byte 0x09, 0x04, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0x00 + .byte 0x07, 0x05, 0x82, 0x03, 0x40, 0x00, 0x01 + .byte 0x07, 0x05, 0x02, 0x02, 0x40, 0x00, 0x00 + +desc_strings: + .word string_langids, string_mfg, string_product, string_serial +desc_strings_end: + +string_langids: .byte string_langids_end-string_langids + .byte 3 + .word 0 +string_langids_end: + + ;; sigh. These strings are Unicode, meaning UTF16? 2 bytes each. Now + ;; *that* is a pain in the ass to encode. And they are little-endian + ;; too. Use this perl snippet to get the bytecodes: + /* while (<>) { + @c = split(//); + foreach $c (@c) { + printf("0x%02x, 0x00, ", ord($c)); + } + } + */ + +string_mfg: .byte string_mfg_end-string_mfg + .byte 3 +; .byte "ACME usb widgets" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x62, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x73, 0x00 +string_mfg_end: + +string_product: .byte string_product_end-string_product + .byte 3 +; .byte "ACME USB serial widget" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, 0x00, 0x42, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00 +string_product_end: + +string_serial: .byte string_serial_end-string_serial + .byte 3 +; .byte "47" + .byte 0x34, 0x00, 0x37, 0x00 +string_serial_end: + +;;; ring buffer memory + ;; tx_ring_in+1 is where the next input byte will go + ;; [tx_ring_out] has been sent + ;; if tx_ring_in == tx_ring_out, theres no work to do + ;; there are (tx_ring_in - tx_ring_out) chars to be written + ;; dont let _in lap _out + ;; cannot inc if tx_ring_in+1 == tx_ring_out + ;; write [tx_ring_in+1] then tx_ring_in++ + ;; if (tx_ring_in+1 == tx_ring_out), overflow + ;; else tx_ring_in++ + ;; read/send [tx_ring_out+1], then tx_ring_out++ + + ;; rx_ring_in works the same way + + .org 0x1000 +tx_ring: + .skip 0x100 ; 256 bytes +rx_ring: + .skip 0x100 ; 256 bytes + + + .END + diff --git a/keyspan_pda/keyspan_pda.fw b/keyspan_pda/keyspan_pda.fw new file mode 100644 index 0000000..bbbce34 Binary files /dev/null and b/keyspan_pda/keyspan_pda.fw differ diff --git a/keyspan_pda/xircom_pgs.S b/keyspan_pda/xircom_pgs.S new file mode 100644 index 0000000..05d99dd --- /dev/null +++ b/keyspan_pda/xircom_pgs.S @@ -0,0 +1,1192 @@ +/* $Id: loop.s,v 1.23 2000/03/20 09:49:06 warner Exp $ + * + * Firmware for the Keyspan PDA Serial Adapter, a USB serial port based on + * the EzUSB microcontroller. + * + * (C) Copyright 2000 Brian Warner + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * "Keyspan PDA Serial Adapter" is probably a copyright of Keyspan, the + * company. + * + * This serial adapter is basically an EzUSB chip and an RS-232 line driver + * in a little widget that has a DB-9 on one end and a USB plug on the other. + * It uses the EzUSB's internal UART0 (using the pins from Port C) and timer2 + * as a baud-rate generator. The wiring is: + * PC0/RxD0 <- rxd (DB9 pin 2) PC4 <- dsr pin 6 + * PC1/TxD0 -> txd pin 3 PC5 <- ri pin 9 + * PC2 -> rts pin 7 PC6 <- dcd pin 1 + * PC3 <- cts pin 8 PC7 -> dtr pin 4 + * PB1 -> line driver standby + * + * The EzUSB register constants below come from their excellent documentation + * and sample code (which used to be available at www.anchorchips.com, but + * that has now been absorbed into Cypress' site and the CD-ROM contents + * don't appear to be available online anymore). If we get multiple + * EzUSB-based drivers into the kernel, it might be useful to pull them out + * into a separate .h file. + * + * THEORY OF OPERATION: + * + * There are two 256-byte ring buffers, one for tx, one for rx. + * + * EP2out is pure tx data. When it appears, the data is copied into the tx + * ring and serial transmission is started if it wasn't already running. The + * "tx buffer empty" interrupt may kick off another character if the ring + * still has data. If the host is tx-blocked because the ring filled up, + * it will request a "tx unthrottle" interrupt. If sending a serial character + * empties the ring below the desired threshold, we set a bit that will send + * up the tx unthrottle message as soon as the rx buffer becomes free. + * + * EP2in (interrupt) is used to send both rx chars and rx status messages + * (only "tx unthrottle" at this time) back up to the host. The first byte + * of the rx message indicates data (0) or status msg (1). Status messages + * are sent before any data. + * + * Incoming serial characters are put into the rx ring by the serial + * interrupt, and the EP2in buffer sent if it wasn't already in transit. + * When the EP2in buffer returns, the interrupt prompts us to send more + * rx chars (or status messages) if they are pending. + * + * Device control happens through "vendor specific" control messages on EP0. + * All messages are destined for the "Interface" (with the index always 0, + * so that if their two-port device might someday use similar firmware, we + * can use index=1 to refer to the second port). The messages defined are: + * + * bRequest = 0 : set baud/bits/parity + * 1 : unused + * 2 : reserved for setting HW flow control (CTSRTS) + * 3 : get/set "modem info" (pin states: DTR, RTS, DCD, RI, etc) + * 4 : set break (on/off) + * 5 : reserved for requesting interrupts on pin state change + * 6 : query buffer room or chars in tx buffer + * 7 : request tx unthrottle interrupt + * + * The host-side driver is set to recognize the device ID values stashed in + * serial EEPROM (0x06cd, 0x0103), program this firmware into place, then + * start it running. This firmware will use EzUSB's "renumeration" trick by + * simulating a bus disconnect, then reconnect with a different device ID + * (encoded in the desc_device descriptor below). The host driver then + * recognizes the new device ID and glues it to the real serial driver code. + * + * USEFUL DOCS: + * EzUSB Technical Reference Manual: + * 8051 manuals: everywhere, but try www.dalsemi.com because the EzUSB is + * basically the Dallas enhanced 8051 code. Remember that the EzUSB IO ports + * use totally different registers! + * USB 1.1 spec: www.usb.org + * + * HOW TO BUILD: + * gcc -x assembler-with-cpp -P -E -o keyspan_pda.asm keyspan_pda.s + * as31 -l keyspan_pda.asm + * mv keyspan_pda.obj keyspan_pda.hex + * perl ezusb_convert.pl keyspan_pda < keyspan_pda.hex > keyspan_pda_fw.h + * Get as31 from , and hack on it + * a bit to make it build. + * + * THANKS: + * Greg Kroah-Hartman, for coordinating the whole usb-serial thing. + * AnchorChips, for making such an incredibly useful little microcontroller. + * KeySpan, for making a handy, cheap ($40) widget that was so easy to take + * apart and trace with an ohmmeter. + * + * TODO: + * lots. grep for TODO. Interrupt safety needs stress-testing. Better flow + * control. Interrupting host upon change in DCD, etc, counting transitions. + * Need to find a safe device id to use (the one used by the Keyspan firmware + * under Windows would be ideal.. can anyone figure out what it is?). Parity. + * More baud rates. Oh, and the string-descriptor-length silicon bug + * workaround should be implemented, but I'm lazy, and the consequence is + * that the device name strings that show up in your kernel log will have + * lots of trailing binary garbage in them (appears as ????). Device strings + * should be made more accurate. + * + * Questions, bugs, patches to Brian. + * + * -Brian Warner + * + */ + +#define HIGH(x) (((x) & 0xff00) / 256) +#define LOW(x) ((x) & 0xff) + +#define dpl1 0x84 +#define dph1 0x85 +#define dps 0x86 + +;;; our bit assignments +#define TX_RUNNING 0 +#define DO_TX_UNTHROTTLE 1 + + ;; stack from 0x60 to 0x7f: should really set SP to 0x60-1, not 0x60 +#define STACK #0x60-1 + +#define EXIF 0x91 +#define EIE 0xe8 + .flag EUSB, EIE.0 + .flag ES0, IE.4 + +#define EP0CS #0x7fb4 +#define EP0STALLbit #0x01 +#define IN0BUF #0x7f00 +#define IN0BC #0x7fb5 +#define OUT0BUF #0x7ec0 +#define OUT0BC #0x7fc5 +#define IN2BUF #0x7e00 +#define IN2BC #0x7fb9 +#define IN2CS #0x7fb8 +#define OUT2BC #0x7fc9 +#define OUT2CS #0x7fc8 +#define OUT2BUF #0x7dc0 +#define IN4BUF #0x7d00 +#define IN4BC #0x7fbd +#define IN4CS #0x7fbc +#define OEB #0x7f9d +#define OUTB #0x7f97 +#define OEC #0x7f9e +#define OUTC #0x7f98 +#define PINSC #0x7f9b +#define PORTBCFG #0x7f94 +#define PORTCCFG #0x7f95 +#define OEA #0x7f9c +#define IN07IRQ #0x7fa9 +#define OUT07IRQ #0x7faa +#define IN07IEN #0x7fac +#define OUT07IEN #0x7fad +#define USBIRQ #0x7fab +#define USBIEN #0x7fae +#define USBBAV #0x7faf +#define USBCS #0x7fd6 +#define SUDPTRH #0x7fd4 +#define SUDPTRL #0x7fd5 +#define SETUPDAT #0x7fe8 + + ;; usb interrupt : enable is EIE.0 (0xe8), flag is EXIF.4 (0x91) + + .org 0 + ljmp start + ;; interrupt vectors + .org 23H + ljmp serial_int + .byte 0 + + .org 43H + ljmp USB_Jump_Table + .byte 0 ; filled in by the USB core + +;;; local variables. These are not initialized properly: do it by hand. + .org 30H +rx_ring_in: .byte 0 +rx_ring_out: .byte 0 +tx_ring_in: .byte 0 +tx_ring_out: .byte 0 +tx_unthrottle_threshold: .byte 0 + + .org 0x100H ; wants to be on a page boundary +USB_Jump_Table: + ljmp ISR_Sudav ; Setup Data Available + .byte 0 + ljmp 0 ; Start of Frame + .byte 0 + ljmp 0 ; Setup Data Loading + .byte 0 + ljmp 0 ; Global Suspend + .byte 0 + ljmp 0 ; USB Reset + .byte 0 + ljmp 0 ; Reserved + .byte 0 + ljmp 0 ; End Point 0 In + .byte 0 + ljmp 0 ; End Point 0 Out + .byte 0 + ljmp 0 ; End Point 1 In + .byte 0 + ljmp 0 ; End Point 1 Out + .byte 0 + ljmp ISR_Ep2in + .byte 0 + ljmp ISR_Ep2out + .byte 0 + + + .org 0x200 + +start: mov SP,STACK-1 ; set stack + ;; clear local variables + clr a + mov tx_ring_in, a + mov tx_ring_out, a + mov rx_ring_in, a + mov rx_ring_out, a + mov tx_unthrottle_threshold, a + clr TX_RUNNING + clr DO_TX_UNTHROTTLE + + ;; clear fifo with "fe" + mov r1, 0 + mov a, #0xfe + mov dptr, #tx_ring +clear_tx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_tx_ring_loop + + mov a, #0xfd + mov dptr, #rx_ring +clear_rx_ring_loop: + movx @dptr, a + inc dptr + djnz r1, clear_rx_ring_loop + +;;; turn on the RS-232 driver chip (bring the STANDBY pin low) +;;; on Xircom the STANDBY is wired to PB6 and PC4 + mov dptr, PORTBCFG + mov a, #0xBf + movx @dptr, a + mov dptr, PORTCCFG + mov a, #0xef + movx @dptr, a + + ;; set OEC.4 + mov a, #0x10 + mov dptr,OEC + movx @dptr,a + + ;; clear PC4 + mov a, #0x00 + mov dptr,OUTC + movx @dptr,a + + ;; set OEB.6 + mov a, #0x40 + mov dptr,OEB + movx @dptr,a + + ;; clear PB6 + mov a, #0x00 + mov dptr,OUTB + movx @dptr,a + + ;; set OEC.[17] + mov a, #0x82 + mov dptr,OEC + movx @dptr,a + + + ;; set PORTCCFG.[01] to route TxD0,RxD0 to serial port + mov dptr, PORTCCFG + mov a, #0x03 + movx @dptr, a + + ;; set up interrupts, autovectoring + ;; set BKPT + mov dptr, USBBAV + movx a,@dptr + setb acc.0 ; AVEN bit to 0 + movx @dptr, a + + mov a,#0x01 ; enable SUDAV: setup data available (for ep0) + mov dptr, USBIRQ + movx @dptr, a ; clear SUDAVI + mov dptr, USBIEN + movx @dptr, a + + mov dptr, IN07IEN + mov a,#0x04 ; enable IN2 int + movx @dptr, a + + mov dptr, OUT07IEN + mov a,#0x04 ; enable OUT2 int + movx @dptr, a + mov dptr, OUT2BC + movx @dptr, a ; arm OUT2 + +;; mov a, #0x84 ; turn on RTS, DTR +;; mov dptr,OUTC +;; movx @dptr, a + + mov a, #0x7 ; turn on DTR + mov dptr,USBBAV + movx @dptr, a + + mov a, #0x20 ; turn on the RED led + mov dptr,OEA + movx @dptr, a + + mov a, #0x80 ; turn on RTS + mov dptr,OUTC + movx @dptr, a + + ;; setup the serial port. 9600 8N1. + mov a,#0x53 ; mode 1, enable rx, clear int + mov SCON, a + ;; using timer2, in 16-bit baud-rate-generator mode + ;; (xtal 12MHz, internal fosc 24MHz) + ;; RCAP2H,RCAP2L = 65536 - fosc/(32*baud) + ;; 57600: 0xFFF2.F, say 0xFFF3 + ;; 9600: 0xFFB1.E, say 0xFFB2 + ;; 300: 0xF63C +#define BAUD 9600 +#define BAUD_TIMEOUT(rate) (65536 - (24 * 1000 * 1000) / (32 * rate)) +#define BAUD_HIGH(rate) HIGH(BAUD_TIMEOUT(rate)) +#define BAUD_LOW(rate) LOW(BAUD_TIMEOUT(rate)) + + mov T2CON, #030h ; rclk=1,tclk=1,cp=0,tr2=0(enable later) + mov r3, #5 + acall set_baud + setb TR2 + mov SCON, #050h + +#if 0 + mov r1, #0x40 + mov a, #0x41 +send: + mov SBUF, a + inc a + anl a, #0x3F + orl a, #0x40 +; xrl a, #0x02 +wait1: + jnb TI, wait1 + clr TI + djnz r1, send +;done: sjmp done + +#endif + + setb EUSB + setb EA + setb ES0 + ;acall dump_stat + + ;; hey, what say we RENUMERATE! (TRM p.62) + mov a, #0 + mov dps, a + mov dptr, USBCS + mov a, #0x02 ; DISCON=0, DISCOE=0, RENUM=1 + movx @dptr, a + ;; now presence pin is floating, simulating disconnect. wait 0.5s + mov r1, #46 +renum_wait1: + mov r2, #0 +renum_wait2: + mov r3, #0 +renum_wait3: + djnz r3, renum_wait3 + djnz r2, renum_wait2 + djnz r1, renum_wait1 ; wait about n*(256^2) 6MHz clocks + mov a, #0x06 ; DISCON=0, DISCOE=1, RENUM=1 + movx @dptr, a + ;; we are back online. the host device will now re-query us + + +main: sjmp main + + + +ISR_Sudav: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, USBIRQ ; clear USB int + mov a,#01h + movx @dptr,a + + ;; get request type + mov dptr, SETUPDAT + movx a, @dptr + mov r1, a ; r1 = bmRequestType + inc dptr + movx a, @dptr + mov r2, a ; r2 = bRequest + inc dptr + movx a, @dptr + mov r3, a ; r3 = wValueL + inc dptr + movx a, @dptr + mov r4, a ; r4 = wValueH + + ;; main switch on bmRequest.type: standard or vendor + mov a, r1 + anl a, #0x60 + cjne a, #0x00, setup_bmreq_type_not_standard + ;; standard request: now main switch is on bRequest + ljmp setup_bmreq_is_standard + +setup_bmreq_type_not_standard: + ;; a still has bmreq&0x60 + cjne a, #0x40, setup_bmreq_type_not_vendor + ;; Anchor reserves bRequest 0xa0-0xaf, we use small ones + ;; switch on bRequest. bmRequest will always be 0x41 or 0xc1 + cjne r2, #0x00, setup_ctrl_not_00 + ;; 00 is set baud, wValue[0] has baud rate index + lcall set_baud ; index in r3, carry set if error + jc setup_bmreq_type_not_standard__do_stall + ljmp setup_done_ack +setup_bmreq_type_not_standard__do_stall: + ljmp setup_stall +setup_ctrl_not_00: + cjne r2, #0x01, setup_ctrl_not_01 + ;; 01 is reserved for set bits (parity). TODO + ljmp setup_stall +setup_ctrl_not_01: + cjne r2, #0x02, setup_ctrl_not_02 + ;; 02 is set HW flow control. TODO + ljmp setup_stall +setup_ctrl_not_02: + cjne r2, #0x03, setup_ctrl_not_03 + ;; 03 is control pins (RTS, DTR). + ljmp control_pins ; will jump to setup_done_ack, + ; or setup_return_one_byte +setup_ctrl_not_03: + cjne r2, #0x04, setup_ctrl_not_04 + ;; 04 is send break (really "turn break on/off"). TODO + cjne r3, #0x00, setup_ctrl_do_break_on + ;; do break off: restore PORTCCFG.1 to reconnect TxD0 to serial port + mov dptr, PORTCCFG + movx a, @dptr + orl a, #0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_do_break_on: + ;; do break on: clear PORTCCFG.0, set TxD high(?) (b1 low) + mov dptr, OUTC + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + mov dptr, PORTCCFG + movx a, @dptr + anl a, #0xfd ; ~0x02 + movx @dptr, a + ljmp setup_done_ack +setup_ctrl_not_04: + cjne r2, #0x05, setup_ctrl_not_05 + ;; 05 is set desired interrupt bitmap. TODO + ljmp setup_stall +setup_ctrl_not_05: + cjne r2, #0x06, setup_ctrl_not_06 + ;; 06 is query room + cjne r3, #0x00, setup_ctrl_06_not_00 + ;; 06, wValue[0]=0 is query write_room + mov a, tx_ring_out + setb c + subb a, tx_ring_in ; out-1-in = 255 - (in-out) + ljmp setup_return_one_byte +setup_ctrl_06_not_00: + cjne r3, #0x01, setup_ctrl_06_not_01 + ;; 06, wValue[0]=1 is query chars_in_buffer + mov a, tx_ring_in + clr c + subb a, tx_ring_out ; in-out + ljmp setup_return_one_byte +setup_ctrl_06_not_01: + ljmp setup_stall +setup_ctrl_not_06: + cjne r2, #0x07, setup_ctrl_not_07 + ;; 07 is request tx unthrottle interrupt + mov tx_unthrottle_threshold, r3; wValue[0] is threshold value + ljmp setup_done_ack +setup_ctrl_not_07: + ljmp setup_stall + +setup_bmreq_type_not_vendor: + ljmp setup_stall + + +setup_bmreq_is_standard: + cjne r2, #0x00, setup_breq_not_00 + ;; 00: Get_Status (sub-switch on bmRequestType: device, ep, int) + cjne r1, #0x80, setup_Get_Status_not_device + ;; Get_Status(device) + ;; are we self-powered? no. can we do remote wakeup? no + ;; so return two zero bytes. This is reusable +setup_return_two_zero_bytes: + mov dptr, IN0BUF + clr a + movx @dptr, a + inc dptr + movx @dptr, a + mov dptr, IN0BC + mov a, #2 + movx @dptr, a + ljmp setup_done_ack +setup_Get_Status_not_device: + cjne r1, #0x82, setup_Get_Status_not_endpoint + ;; Get_Status(endpoint) + ;; must get stall bit for ep[wIndexL], return two bytes, bit in lsb 0 + ;; for now: cheat. TODO + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_endpoint: + cjne r1, #0x81, setup_Get_Status_not_interface + ;; Get_Status(interface): return two zeros + sjmp setup_return_two_zero_bytes +setup_Get_Status_not_interface: + ljmp setup_stall + +setup_breq_not_00: + cjne r2, #0x01, setup_breq_not_01 + ;; 01: Clear_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Clear_Feature_not_stall + ;; Clear_Feature(stall). should clear a stall bit. TODO + ljmp setup_stall +setup_Clear_Feature_not_stall: + cjne r3, #0x01, setup_Clear_Feature_not_rwake + ;; Clear_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Clear_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_01: + cjne r2, #0x03, setup_breq_not_03 + ;; 03: Set_Feature (sub-switch on wValueL: stall, remote wakeup) + cjne r3, #0x00, setup_Set_Feature_not_stall + ;; Set_Feature(stall). Should set a stall bit. TODO + ljmp setup_stall +setup_Set_Feature_not_stall: + cjne r3, #0x01, setup_Set_Feature_not_rwake + ;; Set_Feature(remote wakeup). ignored. + ljmp setup_done_ack +setup_Set_Feature_not_rwake: + ljmp setup_stall + +setup_breq_not_03: + cjne r2, #0x06, setup_breq_not_06 + ;; 06: Get_Descriptor (s-switch on wValueH: dev, config[n], string[n]) + cjne r4, #0x01, setup_Get_Descriptor_not_device + ;; Get_Descriptor(device) + mov dptr, SUDPTRH + mov a, #HIGH(desc_device) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_device) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_device: + cjne r4, #0x02, setup_Get_Descriptor_not_config + ;; Get_Descriptor(config[n]) + cjne r3, #0x00, setup_stall; only handle n==0 + ;; Get_Descriptor(config[0]) + mov dptr, SUDPTRH + mov a, #HIGH(desc_config1) + movx @dptr, a + mov dptr, SUDPTRL + mov a, #LOW(desc_config1) + movx @dptr, a + ljmp setup_done_ack +setup_Get_Descriptor_not_config: + cjne r4, #0x03, setup_Get_Descriptor_not_string + ;; Get_Descriptor(string[wValueL]) + ;; if (wValueL >= maxstrings) stall + mov a, #((desc_strings_end-desc_strings)/2) + clr c + subb a,r3 ; a=4, r3 = 0..3 . if a<=0 then stall + jc setup_stall + jz setup_stall + mov a, r3 + add a, r3 ; a = 2*wValueL + mov dptr, #desc_strings + add a, dpl + mov dpl, a + mov a, #0 + addc a, dph + mov dph, a ; dph = desc_strings[a]. big endian! (handy) + ;; it looks like my adapter uses a revision of the EZUSB that + ;; contains "rev D errata number 8", as hinted in the EzUSB example + ;; code. I cannot find an actual errata description on the Cypress + ;; web site, but from the example code it looks like this bug causes + ;; the length of string descriptors to be read incorrectly, possibly + ;; sending back more characters than the descriptor has. The workaround + ;; is to manually send out all of the data. The consequence of not + ;; using the workaround is that the strings gathered by the kernel + ;; driver are too long and are filled with trailing garbage (including + ;; leftover strings). Writing this out by hand is a nuisance, so for + ;; now I will just live with the bug. + movx a, @dptr + mov r1, a + inc dptr + movx a, @dptr + mov r2, a + mov dptr, SUDPTRH + mov a, r1 + movx @dptr, a + mov dptr, SUDPTRL + mov a, r2 + movx @dptr, a + ;; done + ljmp setup_done_ack + +setup_Get_Descriptor_not_string: + ljmp setup_stall + +setup_breq_not_06: + cjne r2, #0x08, setup_breq_not_08 + ;; Get_Configuration. always 1. return one byte. + ;; this is reusable + mov a, #1 +setup_return_one_byte: + mov dptr, IN0BUF + movx @dptr, a + mov a, #1 + mov dptr, IN0BC + movx @dptr, a + ljmp setup_done_ack +setup_breq_not_08: + cjne r2, #0x09, setup_breq_not_09 + ;; 09: Set_Configuration. ignored. + ljmp setup_done_ack +setup_breq_not_09: + cjne r2, #0x0a, setup_breq_not_0a + ;; 0a: Get_Interface. get the current altsetting for int[wIndexL] + ;; since we only have one interface, ignore wIndexL, return a 0 + mov a, #0 + ljmp setup_return_one_byte +setup_breq_not_0a: + cjne r2, #0x0b, setup_breq_not_0b + ;; 0b: Set_Interface. set altsetting for interface[wIndexL]. ignored + ljmp setup_done_ack +setup_breq_not_0b: + ljmp setup_stall + + +setup_done_ack: + ;; now clear HSNAK + mov dptr, EP0CS + mov a, #0x02 + movx @dptr, a + sjmp setup_done +setup_stall: + ;; unhandled. STALL + ;EP0CS |= bmEPSTALL + mov dptr, EP0CS + movx a, @dptr + orl a, EP0STALLbit + movx @dptr, a + sjmp setup_done + +setup_done: + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +;;; ============================================================== + +set_baud: ; baud index in r3 + ;; verify a < 10 + mov a, r3 + jb ACC.7, set_baud__badbaud + clr c + subb a, #10 + jnc set_baud__badbaud + mov a, r3 + rl a ; a = index*2 + add a, #LOW(baud_table) + mov dpl, a + mov a, #HIGH(baud_table) + addc a, #0 + mov dph, a + ;; TODO: shut down xmit/receive + ;; TODO: wait for current xmit char to leave + ;; TODO: shut down timer to avoid partial-char glitch + movx a,@dptr ; BAUD_HIGH + mov RCAP2H, a + mov TH2, a + inc dptr + movx a,@dptr ; BAUD_LOW + mov RCAP2L, a + mov TL2, a + ;; TODO: restart xmit/receive + ;; TODO: reenable interrupts, resume tx if pending + clr c ; c=0: success + ret +set_baud__badbaud: + setb c ; c=1: failure + ret + +;;; ================================================== +control_pins: + cjne r1, #0x41, control_pins_in +control_pins_out: + ;TODO BKPT is DTR + mov a, r3 ; wValue[0] holds new bits: b7 is new RTS + xrl a, #0xff ; 1 means active, 0V, +12V ? + anl a, #0x80 + mov r3, a + mov dptr, OUTC + movx a, @dptr ; only change bit 7 + anl a, #0x7F ; ~0x84 + orl a, r3 + movx @dptr, a ; other pins are inputs, bits ignored + ljmp setup_done_ack +control_pins_in: + mov dptr, PINSC + movx a, @dptr + xrl a, #0xff + ljmp setup_return_one_byte + +;;; ======================================== + +ISR_Ep2in: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, IN07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + + ;; do stuff + lcall start_in + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +ISR_Ep2out: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + + mov a, #0x10 ; Turn the green LED + mov dptr,OEA + movx @dptr, a + + + + mov a,EXIF + clr acc.4 + mov EXIF,a ; clear INT2 first + mov dptr, OUT07IRQ ; clear USB int + mov a,#04h + movx @dptr,a + + ;; do stuff + + ;; copy data into buffer. for now, assume we will have enough space + mov dptr, OUT2BC ; get byte count + movx a,@dptr + mov r1, a + clr a + mov dps, a + mov dptr, OUT2BUF ; load DPTR0 with source + mov dph1, #HIGH(tx_ring) ; load DPTR1 with target + mov dpl1, tx_ring_in +OUT_loop: + movx a,@dptr ; read + inc dps ; switch to DPTR1: target + inc dpl1 ; target = tx_ring_in+1 + movx @dptr,a ; store + mov a,dpl1 + cjne a, tx_ring_out, OUT_no_overflow + sjmp OUT_overflow +OUT_no_overflow: + inc tx_ring_in ; tx_ring_in++ + inc dps ; switch to DPTR0: source + inc dptr + djnz r1, OUT_loop + sjmp OUT_done +OUT_overflow: + ;; signal overflow + ;; fall through +OUT_done: + ;; ack + mov dptr,OUT2BC + movx @dptr,a + + ;; start tx + acall maybe_start_tx + ;acall dump_stat + + mov a, #0x20 ; Turn off the green LED + mov dptr,OEA + movx @dptr, a + + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +dump_stat: + ;; fill in EP4in with a debugging message: + ;; tx_ring_in, tx_ring_out, rx_ring_in, rx_ring_out + ;; tx_active + ;; tx_ring[0..15] + ;; 0xfc + ;; rx_ring[0..15] + clr a + mov dps, a + + mov dptr, IN4CS + movx a, @dptr + jb acc.1, dump_stat__done; busy: cannot dump, old one still pending + mov dptr, IN4BUF + + mov a, tx_ring_in + movx @dptr, a + inc dptr + mov a, tx_ring_out + movx @dptr, a + inc dptr + + mov a, rx_ring_in + movx @dptr, a + inc dptr + mov a, rx_ring_out + movx @dptr, a + inc dptr + + clr a + jnb TX_RUNNING, dump_stat__no_tx_running + inc a +dump_stat__no_tx_running: + movx @dptr, a + inc dptr + ;; tx_ring[0..15] + inc dps + mov dptr, #tx_ring ; DPTR1: source + mov r1, #16 +dump_stat__tx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__tx_ring_loop + inc dps + + mov a, #0xfc + movx @dptr, a + inc dptr + + ;; rx_ring[0..15] + inc dps + mov dptr, #rx_ring ; DPTR1: source + mov r1, #16 +dump_stat__rx_ring_loop: + movx a, @dptr + inc dptr + inc dps + movx @dptr, a + inc dptr + inc dps + djnz r1, dump_stat__rx_ring_loop + + ;; now send it + clr a + mov dps, a + mov dptr, IN4BC + mov a, #38 + movx @dptr, a +dump_stat__done: + ret + +;;; ============================================================ + +maybe_start_tx: + ;; make sure the tx process is running. + jb TX_RUNNING, start_tx_done +start_tx: + ;; is there work to be done? + mov a, tx_ring_in + cjne a,tx_ring_out, start_tx__work + ret ; no work +start_tx__work: + ;; tx was not running. send the first character, setup the TI int + inc tx_ring_out ; [++tx_ring_out] + mov dph, #HIGH(tx_ring) + mov dpl, tx_ring_out + movx a, @dptr + mov sbuf, a + setb TX_RUNNING +start_tx_done: + ;; can we unthrottle the host tx process? + ;; step 1: do we care? + mov a, #0 + cjne a, tx_unthrottle_threshold, start_tx__maybe_unthrottle_tx + ;; nope +start_tx_really_done: + ret +start_tx__maybe_unthrottle_tx: + ;; step 2: is there now room? + mov a, tx_ring_out + setb c + subb a, tx_ring_in + ;; a is now write_room. If thresh >= a, we can unthrottle + clr c + subb a, tx_unthrottle_threshold + jc start_tx_really_done ; nope + ;; yes, we can unthrottle. remove the threshold and mark a request + mov tx_unthrottle_threshold, #0 + setb DO_TX_UNTHROTTLE + ;; prod rx, which will actually send the message when in2 becomes free + ljmp start_in + + +serial_int: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + jnb TI, serial_int__not_tx + ;; tx finished. send another character if we have one + clr TI ; clear int + clr TX_RUNNING + lcall start_tx +serial_int__not_tx: + jnb RI, serial_int__not_rx + lcall get_rx_char + clr RI ; clear int +serial_int__not_rx: + ;; return + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + +get_rx_char: + mov dph, #HIGH(rx_ring) + mov dpl, rx_ring_in + inc dpl ; target = rx_ring_in+1 + mov a, sbuf + movx @dptr, a + ;; check for overflow before incrementing rx_ring_in + mov a, dpl + cjne a, rx_ring_out, get_rx_char__no_overflow + ;; signal overflow + ret +get_rx_char__no_overflow: + inc rx_ring_in + ;; kick off USB INpipe + acall start_in + ret + +start_in: + ;; check if the inpipe is already running. + mov a,#0x10 + mov dptr, OEA + movx @dptr,a + + mov dptr, IN2CS + movx a, @dptr + jb acc.1, start_in__done; int will handle it + jb DO_TX_UNTHROTTLE, start_in__do_tx_unthrottle + ;; see if there is any work to do. a serial interrupt might occur + ;; during this sequence? + mov a, rx_ring_in + cjne a, rx_ring_out, start_in__have_work + ret ; nope +start_in__have_work: + ;; now copy as much data as possible into the pipe. 63 bytes max. + clr a + mov dps, a + mov dph, #HIGH(rx_ring) ; load DPTR0 with source + inc dps + mov dptr, IN2BUF ; load DPTR1 with target + movx @dptr, a ; in[0] signals that rest of IN is rx data + inc dptr + inc dps + ;; loop until we run out of data, or we have copied 64 bytes + mov r1, #1 ; INbuf size counter +start_in__loop: + mov a, rx_ring_in + cjne a, rx_ring_out, start_inlocal_irq_enablell_copying + sjmp start_in__kick +start_inlocal_irq_enablell_copying: + inc rx_ring_out + mov dpl, rx_ring_out + movx a, @dptr + inc dps + movx @dptr, a ; write into IN buffer + inc dptr + inc dps + inc r1 + cjne r1, #64, start_in__loop; loop +start_in__kick: + ;; either we ran out of data, or we copied 64 bytes. r1 has byte count + ;; kick off IN + mov a, #0x10 ; Turn the green LED + mov dptr,OEA + movx @dptr, a + mov dptr, IN2BC + mov a, r1 + jz start_in__done + movx @dptr, a + ;; done +start_in__done: + ;acall dump_stat + ret +start_in__do_tx_unthrottle: + ;; special sequence: send a tx unthrottle message + clr DO_TX_UNTHROTTLE + clr a + mov dps, a + mov dptr, IN2BUF + mov a, #1 + movx @dptr, a + inc dptr + mov a, #2 + movx @dptr, a + mov dptr, IN2BC + movx @dptr, a + ret + +putchar: + clr TI + mov SBUF, a +putchar_wait: + jnb TI, putchar_wait + clr TI + ret + + +baud_table: ; baud_high, then baud_low + ;; baud[0]: 110 + .byte BAUD_HIGH(110) + .byte BAUD_LOW(110) + ;; baud[1]: 300 + .byte BAUD_HIGH(300) + .byte BAUD_LOW(300) + ;; baud[2]: 1200 + .byte BAUD_HIGH(1200) + .byte BAUD_LOW(1200) + ;; baud[3]: 2400 + .byte BAUD_HIGH(2400) + .byte BAUD_LOW(2400) + ;; baud[4]: 4800 + .byte BAUD_HIGH(4800) + .byte BAUD_LOW(4800) + ;; baud[5]: 9600 + .byte BAUD_HIGH(9600) + .byte BAUD_LOW(9600) + ;; baud[6]: 19200 + .byte BAUD_HIGH(19200) + .byte BAUD_LOW(19200) + ;; baud[7]: 38400 + .byte BAUD_HIGH(38400) + .byte BAUD_LOW(38400) + ;; baud[8]: 57600 + .byte BAUD_HIGH(57600) + .byte BAUD_LOW(57600) + ;; baud[9]: 115200 + .byte BAUD_HIGH(115200) + .byte BAUD_LOW(115200) + +desc_device: + .byte 0x12, 0x01, 0x00, 0x01, 0xff, 0xff, 0xff, 0x40 + .byte 0xcd, 0x06, 0x04, 0x01, 0x89, 0xab, 1, 2, 3, 0x01 +;;; The "real" device id, which must match the host driver, is that +;;; "0xcd 0x06 0x04 0x01" sequence, which is 0x06cd, 0x0104 + +desc_config1: + .byte 0x09, 0x02, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x32 + .byte 0x09, 0x04, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0x00 + .byte 0x07, 0x05, 0x82, 0x03, 0x40, 0x00, 0x01 + .byte 0x07, 0x05, 0x02, 0x02, 0x40, 0x00, 0x00 + +desc_strings: + .word string_langids, string_mfg, string_product, string_serial +desc_strings_end: + +string_langids: .byte string_langids_end-string_langids + .byte 3 + .word 0 +string_langids_end: + + ;; sigh. These strings are Unicode, meaning UTF16? 2 bytes each. Now + ;; *that* is a pain in the ass to encode. And they are little-endian + ;; too. Use this perl snippet to get the bytecodes: + /* while (<>) { + @c = split(//); + foreach $c (@c) { + printf("0x%02x, 0x00, ", ord($c)); + } + } + */ + +string_mfg: .byte string_mfg_end-string_mfg + .byte 3 +; .byte "ACME usb widgets" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x62, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x73, 0x00 +string_mfg_end: + +string_product: .byte string_product_end-string_product + .byte 3 +; .byte "ACME USB serial widget" + .byte 0x41, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, 0x00, 0x42, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00 +string_product_end: + +string_serial: .byte string_serial_end-string_serial + .byte 3 +; .byte "47" + .byte 0x34, 0x00, 0x37, 0x00 +string_serial_end: + +;;; ring buffer memory + ;; tx_ring_in+1 is where the next input byte will go + ;; [tx_ring_out] has been sent + ;; if tx_ring_in == tx_ring_out, theres no work to do + ;; there are (tx_ring_in - tx_ring_out) chars to be written + ;; dont let _in lap _out + ;; cannot inc if tx_ring_in+1 == tx_ring_out + ;; write [tx_ring_in+1] then tx_ring_in++ + ;; if (tx_ring_in+1 == tx_ring_out), overflow + ;; else tx_ring_in++ + ;; read/send [tx_ring_out+1], then tx_ring_out++ + + ;; rx_ring_in works the same way + + .org 0x1000 +tx_ring: + .skip 0x100 ; 256 bytes +rx_ring: + .skip 0x100 ; 256 bytes + + + .END + diff --git a/keyspan_pda/xircom_pgs.fw b/keyspan_pda/xircom_pgs.fw new file mode 100644 index 0000000..660f406 Binary files /dev/null and b/keyspan_pda/xircom_pgs.fw differ diff --git a/lbtf_usb.bin b/lbtf_usb.bin new file mode 100644 index 0000000..8ee231a Binary files /dev/null and b/lbtf_usb.bin differ diff --git a/libertas/cf8381.bin b/libertas/cf8381.bin new file mode 100644 index 0000000..3dc456c Binary files /dev/null and b/libertas/cf8381.bin differ diff --git a/libertas/cf8381_helper.bin b/libertas/cf8381_helper.bin new file mode 100644 index 0000000..053b9e7 Binary files /dev/null and b/libertas/cf8381_helper.bin differ diff --git a/libertas/cf8385.bin b/libertas/cf8385.bin new file mode 100644 index 0000000..463c02c Binary files /dev/null and b/libertas/cf8385.bin differ diff --git a/libertas/cf8385_helper.bin b/libertas/cf8385_helper.bin new file mode 100644 index 0000000..349ca99 Binary files /dev/null and b/libertas/cf8385_helper.bin differ diff --git a/libertas/gspi8686_v9.bin b/libertas/gspi8686_v9.bin new file mode 100644 index 0000000..58dc03d Binary files /dev/null and b/libertas/gspi8686_v9.bin differ diff --git a/libertas/gspi8686_v9_helper.bin b/libertas/gspi8686_v9_helper.bin new file mode 100644 index 0000000..424cfb3 Binary files /dev/null and b/libertas/gspi8686_v9_helper.bin differ diff --git a/libertas/gspi8688.bin b/libertas/gspi8688.bin new file mode 100644 index 0000000..fb7bb49 Binary files /dev/null and b/libertas/gspi8688.bin differ diff --git a/libertas/gspi8688_helper.bin b/libertas/gspi8688_helper.bin new file mode 100644 index 0000000..424cfb3 Binary files /dev/null and b/libertas/gspi8688_helper.bin differ diff --git a/libertas/sd8385.bin b/libertas/sd8385.bin new file mode 100644 index 0000000..8a28395 Binary files /dev/null and b/libertas/sd8385.bin differ diff --git a/libertas/sd8385_helper.bin b/libertas/sd8385_helper.bin new file mode 100644 index 0000000..af658c8 Binary files /dev/null and b/libertas/sd8385_helper.bin differ diff --git a/libertas/sd8686_v8.bin b/libertas/sd8686_v8.bin new file mode 100644 index 0000000..aef7bbc Binary files /dev/null and b/libertas/sd8686_v8.bin differ diff --git a/libertas/sd8686_v8_helper.bin b/libertas/sd8686_v8_helper.bin new file mode 100644 index 0000000..c2ddfbe Binary files /dev/null and b/libertas/sd8686_v8_helper.bin differ diff --git a/libertas/sd8686_v9.bin b/libertas/sd8686_v9.bin new file mode 100644 index 0000000..757c6f2 Binary files /dev/null and b/libertas/sd8686_v9.bin differ diff --git a/libertas/sd8686_v9_helper.bin b/libertas/sd8686_v9_helper.bin new file mode 100644 index 0000000..f450ee6 Binary files /dev/null and b/libertas/sd8686_v9_helper.bin differ diff --git a/libertas/usb8388_olpc.bin b/libertas/usb8388_olpc.bin new file mode 100644 index 0000000..e01b6c2 Binary files /dev/null and b/libertas/usb8388_olpc.bin differ diff --git a/libertas/usb8388_v5.bin b/libertas/usb8388_v5.bin new file mode 100644 index 0000000..d98b089 Binary files /dev/null and b/libertas/usb8388_v5.bin differ diff --git a/libertas/usb8388_v9.bin b/libertas/usb8388_v9.bin new file mode 100644 index 0000000..38f28ca Binary files /dev/null and b/libertas/usb8388_v9.bin differ diff --git a/libertas/usb8682.bin b/libertas/usb8682.bin new file mode 100644 index 0000000..f969104 Binary files /dev/null and b/libertas/usb8682.bin differ diff --git a/liquidio/lio_210nv_nic.bin b/liquidio/lio_210nv_nic.bin new file mode 100644 index 0000000..22c1ef4 Binary files /dev/null and b/liquidio/lio_210nv_nic.bin differ diff --git a/liquidio/lio_210sv_nic.bin b/liquidio/lio_210sv_nic.bin new file mode 100644 index 0000000..e0f9885 Binary files /dev/null and b/liquidio/lio_210sv_nic.bin differ diff --git a/liquidio/lio_23xx_nic.bin b/liquidio/lio_23xx_nic.bin new file mode 100644 index 0000000..1f99407 Binary files /dev/null and b/liquidio/lio_23xx_nic.bin differ diff --git a/liquidio/lio_410nv_nic.bin b/liquidio/lio_410nv_nic.bin new file mode 100644 index 0000000..adf4a13 Binary files /dev/null and b/liquidio/lio_410nv_nic.bin differ diff --git a/lt9611uxc_fw.bin b/lt9611uxc_fw.bin new file mode 100644 index 0000000..c6398d2 Binary files /dev/null and b/lt9611uxc_fw.bin differ diff --git a/matrox/g200_warp.fw b/matrox/g200_warp.fw new file mode 100644 index 0000000..2c7f7fe Binary files /dev/null and b/matrox/g200_warp.fw differ diff --git a/matrox/g400_warp.fw b/matrox/g400_warp.fw new file mode 100644 index 0000000..57f1088 Binary files /dev/null and b/matrox/g400_warp.fw differ diff --git a/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin b/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin new file mode 100644 index 0000000..d0e550e Binary files /dev/null and b/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin differ diff --git a/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin b/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin new file mode 100644 index 0000000..4b637d5 Binary files /dev/null and b/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin differ diff --git a/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin b/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin new file mode 100644 index 0000000..a6ef327 Binary files /dev/null and b/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin differ diff --git a/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin b/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin new file mode 100644 index 0000000..ba21620 Binary files /dev/null and b/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin differ diff --git a/mediatek/WIFI_RAM_CODE_MT7922_1.bin b/mediatek/WIFI_RAM_CODE_MT7922_1.bin new file mode 100644 index 0000000..c531e5c Binary files /dev/null and b/mediatek/WIFI_RAM_CODE_MT7922_1.bin differ diff --git a/mediatek/WIFI_RAM_CODE_MT7961_1.bin b/mediatek/WIFI_RAM_CODE_MT7961_1.bin new file mode 100644 index 0000000..2e9dcff Binary files /dev/null and b/mediatek/WIFI_RAM_CODE_MT7961_1.bin differ diff --git a/mediatek/mt7601u.bin b/mediatek/mt7601u.bin new file mode 100644 index 0000000..62b3894 Binary files /dev/null and b/mediatek/mt7601u.bin differ diff --git a/mediatek/mt7610e.bin b/mediatek/mt7610e.bin new file mode 100644 index 0000000..7660084 Binary files /dev/null and b/mediatek/mt7610e.bin differ diff --git a/mediatek/mt7610u.bin b/mediatek/mt7610u.bin new file mode 100644 index 0000000..c6c863e Binary files /dev/null and b/mediatek/mt7610u.bin differ diff --git a/mediatek/mt7615_cr4.bin b/mediatek/mt7615_cr4.bin new file mode 100644 index 0000000..208f2e7 Binary files /dev/null and b/mediatek/mt7615_cr4.bin differ diff --git a/mediatek/mt7615_n9.bin b/mediatek/mt7615_n9.bin new file mode 100644 index 0000000..2490ace Binary files /dev/null and b/mediatek/mt7615_n9.bin differ diff --git a/mediatek/mt7615_rom_patch.bin b/mediatek/mt7615_rom_patch.bin new file mode 100644 index 0000000..4aeaa75 Binary files /dev/null and b/mediatek/mt7615_rom_patch.bin differ diff --git a/mediatek/mt7622_n9.bin b/mediatek/mt7622_n9.bin new file mode 100644 index 0000000..444d5e0 Binary files /dev/null and b/mediatek/mt7622_n9.bin differ diff --git a/mediatek/mt7622_rom_patch.bin b/mediatek/mt7622_rom_patch.bin new file mode 100644 index 0000000..7d0e643 Binary files /dev/null and b/mediatek/mt7622_rom_patch.bin differ diff --git a/mediatek/mt7622pr2h.bin b/mediatek/mt7622pr2h.bin new file mode 100755 index 0000000..06bae37 Binary files /dev/null and b/mediatek/mt7622pr2h.bin differ diff --git a/mediatek/mt7650.bin b/mediatek/mt7650.bin new file mode 100644 index 0000000..1bdf904 Binary files /dev/null and b/mediatek/mt7650.bin differ diff --git a/mediatek/mt7650e.bin b/mediatek/mt7650e.bin new file mode 100644 index 0000000..f62f5b5 Binary files /dev/null and b/mediatek/mt7650e.bin differ diff --git a/mediatek/mt7662.bin b/mediatek/mt7662.bin new file mode 100644 index 0000000..26c6fbb Binary files /dev/null and b/mediatek/mt7662.bin differ diff --git a/mediatek/mt7662_rom_patch.bin b/mediatek/mt7662_rom_patch.bin new file mode 100644 index 0000000..10b245e Binary files /dev/null and b/mediatek/mt7662_rom_patch.bin differ diff --git a/mediatek/mt7662u.bin b/mediatek/mt7662u.bin new file mode 100644 index 0000000..93c8a79 Binary files /dev/null and b/mediatek/mt7662u.bin differ diff --git a/mediatek/mt7662u_rom_patch.bin b/mediatek/mt7662u_rom_patch.bin new file mode 100644 index 0000000..2213b2a Binary files /dev/null and b/mediatek/mt7662u_rom_patch.bin differ diff --git a/mediatek/mt7663_n9_rebb.bin b/mediatek/mt7663_n9_rebb.bin new file mode 100644 index 0000000..62f96f3 Binary files /dev/null and b/mediatek/mt7663_n9_rebb.bin differ diff --git a/mediatek/mt7663_n9_v3.bin b/mediatek/mt7663_n9_v3.bin new file mode 100644 index 0000000..196facf Binary files /dev/null and b/mediatek/mt7663_n9_v3.bin differ diff --git a/mediatek/mt7663pr2h.bin b/mediatek/mt7663pr2h.bin new file mode 100644 index 0000000..97314ea Binary files /dev/null and b/mediatek/mt7663pr2h.bin differ diff --git a/mediatek/mt7663pr2h_rebb.bin b/mediatek/mt7663pr2h_rebb.bin new file mode 100644 index 0000000..ea03c48 Binary files /dev/null and b/mediatek/mt7663pr2h_rebb.bin differ diff --git a/mediatek/mt7668pr2h.bin b/mediatek/mt7668pr2h.bin new file mode 100755 index 0000000..223c0f9 Binary files /dev/null and b/mediatek/mt7668pr2h.bin differ diff --git a/mediatek/mt7915_eeprom.bin b/mediatek/mt7915_eeprom.bin new file mode 100644 index 0000000..007df1b Binary files /dev/null and b/mediatek/mt7915_eeprom.bin differ diff --git a/mediatek/mt7915_eeprom_dbdc.bin b/mediatek/mt7915_eeprom_dbdc.bin new file mode 100644 index 0000000..6c0b64e Binary files /dev/null and b/mediatek/mt7915_eeprom_dbdc.bin differ diff --git a/mediatek/mt7915_rom_patch.bin b/mediatek/mt7915_rom_patch.bin new file mode 100644 index 0000000..638aeaf Binary files /dev/null and b/mediatek/mt7915_rom_patch.bin differ diff --git a/mediatek/mt7915_wa.bin b/mediatek/mt7915_wa.bin new file mode 100644 index 0000000..a1cbdd1 Binary files /dev/null and b/mediatek/mt7915_wa.bin differ diff --git a/mediatek/mt7915_wm.bin b/mediatek/mt7915_wm.bin new file mode 100644 index 0000000..d8f0b05 Binary files /dev/null and b/mediatek/mt7915_wm.bin differ diff --git a/mediatek/mt7916_eeprom.bin b/mediatek/mt7916_eeprom.bin new file mode 100644 index 0000000..35b287c Binary files /dev/null and b/mediatek/mt7916_eeprom.bin differ diff --git a/mediatek/mt7916_rom_patch.bin b/mediatek/mt7916_rom_patch.bin new file mode 100644 index 0000000..f06d5a2 Binary files /dev/null and b/mediatek/mt7916_rom_patch.bin differ diff --git a/mediatek/mt7916_wa.bin b/mediatek/mt7916_wa.bin new file mode 100644 index 0000000..21caab9 Binary files /dev/null and b/mediatek/mt7916_wa.bin differ diff --git a/mediatek/mt7916_wm.bin b/mediatek/mt7916_wm.bin new file mode 100644 index 0000000..b9267a5 Binary files /dev/null and b/mediatek/mt7916_wm.bin differ diff --git a/mediatek/mt7981_rom_patch.bin b/mediatek/mt7981_rom_patch.bin new file mode 100644 index 0000000..ae02f94 Binary files /dev/null and b/mediatek/mt7981_rom_patch.bin differ diff --git a/mediatek/mt7981_wa.bin b/mediatek/mt7981_wa.bin new file mode 100644 index 0000000..5178123 Binary files /dev/null and b/mediatek/mt7981_wa.bin differ diff --git a/mediatek/mt7981_wm.bin b/mediatek/mt7981_wm.bin new file mode 100644 index 0000000..f0010ca Binary files /dev/null and b/mediatek/mt7981_wm.bin differ diff --git a/mediatek/mt7981_wo.bin b/mediatek/mt7981_wo.bin new file mode 100644 index 0000000..aaf9865 Binary files /dev/null and b/mediatek/mt7981_wo.bin differ diff --git a/mediatek/mt7986_eeprom_mt7975_dual.bin b/mediatek/mt7986_eeprom_mt7975_dual.bin new file mode 100644 index 0000000..dfe5376 Binary files /dev/null and b/mediatek/mt7986_eeprom_mt7975_dual.bin differ diff --git a/mediatek/mt7986_eeprom_mt7976.bin b/mediatek/mt7986_eeprom_mt7976.bin new file mode 100644 index 0000000..c821f2d Binary files /dev/null and b/mediatek/mt7986_eeprom_mt7976.bin differ diff --git a/mediatek/mt7986_eeprom_mt7976_dbdc.bin b/mediatek/mt7986_eeprom_mt7976_dbdc.bin new file mode 100644 index 0000000..54858b0 Binary files /dev/null and b/mediatek/mt7986_eeprom_mt7976_dbdc.bin differ diff --git a/mediatek/mt7986_eeprom_mt7976_dual.bin b/mediatek/mt7986_eeprom_mt7976_dual.bin new file mode 100644 index 0000000..dc0d3e4 Binary files /dev/null and b/mediatek/mt7986_eeprom_mt7976_dual.bin differ diff --git a/mediatek/mt7986_rom_patch.bin b/mediatek/mt7986_rom_patch.bin new file mode 100644 index 0000000..1cd7024 Binary files /dev/null and b/mediatek/mt7986_rom_patch.bin differ diff --git a/mediatek/mt7986_rom_patch_mt7975.bin b/mediatek/mt7986_rom_patch_mt7975.bin new file mode 100644 index 0000000..9aa958f Binary files /dev/null and b/mediatek/mt7986_rom_patch_mt7975.bin differ diff --git a/mediatek/mt7986_wa.bin b/mediatek/mt7986_wa.bin new file mode 100644 index 0000000..69672ff Binary files /dev/null and b/mediatek/mt7986_wa.bin differ diff --git a/mediatek/mt7986_wm.bin b/mediatek/mt7986_wm.bin new file mode 100644 index 0000000..175547c Binary files /dev/null and b/mediatek/mt7986_wm.bin differ diff --git a/mediatek/mt7986_wm_mt7975.bin b/mediatek/mt7986_wm_mt7975.bin new file mode 100644 index 0000000..9f4e47e Binary files /dev/null and b/mediatek/mt7986_wm_mt7975.bin differ diff --git a/mediatek/mt7986_wo_0.bin b/mediatek/mt7986_wo_0.bin new file mode 100644 index 0000000..139fe97 Binary files /dev/null and b/mediatek/mt7986_wo_0.bin differ diff --git a/mediatek/mt7986_wo_1.bin b/mediatek/mt7986_wo_1.bin new file mode 100644 index 0000000..ec33160 Binary files /dev/null and b/mediatek/mt7986_wo_1.bin differ diff --git a/mediatek/mt8173/vpu_d.bin b/mediatek/mt8173/vpu_d.bin new file mode 100644 index 0000000..e966b49 Binary files /dev/null and b/mediatek/mt8173/vpu_d.bin differ diff --git a/mediatek/mt8173/vpu_p.bin b/mediatek/mt8173/vpu_p.bin new file mode 100644 index 0000000..55a49ec Binary files /dev/null and b/mediatek/mt8173/vpu_p.bin differ diff --git a/mediatek/mt8183/scp.img b/mediatek/mt8183/scp.img new file mode 100644 index 0000000..d800fbf Binary files /dev/null and b/mediatek/mt8183/scp.img differ diff --git a/mediatek/mt8186/scp.img b/mediatek/mt8186/scp.img new file mode 100644 index 0000000..8482762 Binary files /dev/null and b/mediatek/mt8186/scp.img differ diff --git a/mediatek/mt8192/scp.img b/mediatek/mt8192/scp.img new file mode 100644 index 0000000..207c82a Binary files /dev/null and b/mediatek/mt8192/scp.img differ diff --git a/mediatek/mt8195/scp.img b/mediatek/mt8195/scp.img new file mode 100644 index 0000000..44e1e6d Binary files /dev/null and b/mediatek/mt8195/scp.img differ diff --git a/mediatek/sof-tplg/sof-mt8186.tplg b/mediatek/sof-tplg/sof-mt8186.tplg new file mode 100644 index 0000000..3652d90 Binary files /dev/null and b/mediatek/sof-tplg/sof-mt8186.tplg differ diff --git a/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg b/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg new file mode 100644 index 0000000..b689199 Binary files /dev/null and b/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682-dts.tplg differ diff --git a/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg b/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg new file mode 100644 index 0000000..7bb8524 Binary files /dev/null and b/mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg differ diff --git a/mediatek/sof/sof-mt8186.ldc b/mediatek/sof/sof-mt8186.ldc new file mode 100644 index 0000000..c31a276 Binary files /dev/null and b/mediatek/sof/sof-mt8186.ldc differ diff --git a/mediatek/sof/sof-mt8186.ri b/mediatek/sof/sof-mt8186.ri new file mode 100644 index 0000000..4c8453e Binary files /dev/null and b/mediatek/sof/sof-mt8186.ri differ diff --git a/mediatek/sof/sof-mt8195.ldc b/mediatek/sof/sof-mt8195.ldc new file mode 100644 index 0000000..0ae937d Binary files /dev/null and b/mediatek/sof/sof-mt8195.ldc differ diff --git a/mediatek/sof/sof-mt8195.ri b/mediatek/sof/sof-mt8195.ri new file mode 100644 index 0000000..ddb7524 Binary files /dev/null and b/mediatek/sof/sof-mt8195.ri differ diff --git a/mellanox/lc_ini_bundle_2010_1006.bin b/mellanox/lc_ini_bundle_2010_1006.bin new file mode 100644 index 0000000..c042838 Binary files /dev/null and b/mellanox/lc_ini_bundle_2010_1006.bin differ diff --git a/mellanox/lc_ini_bundle_2010_1502.bin b/mellanox/lc_ini_bundle_2010_1502.bin new file mode 100644 index 0000000..c042838 Binary files /dev/null and b/mellanox/lc_ini_bundle_2010_1502.bin differ diff --git a/mellanox/lc_ini_bundle_2010_3020.bin b/mellanox/lc_ini_bundle_2010_3020.bin new file mode 100644 index 0000000..c042838 Binary files /dev/null and b/mellanox/lc_ini_bundle_2010_3020.bin differ diff --git a/mellanox/lc_ini_bundle_2010_3146.bin b/mellanox/lc_ini_bundle_2010_3146.bin new file mode 100644 index 0000000..c042838 Binary files /dev/null and b/mellanox/lc_ini_bundle_2010_3146.bin differ diff --git a/mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 b/mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 new file mode 100644 index 0000000..6a2e796 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2000.2308.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 b/mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 new file mode 100644 index 0000000..07617eb Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2000.2714.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 b/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 new file mode 100644 index 0000000..377e66a Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2007.1168.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 new file mode 100644 index 0000000..3ecd72c Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.1036.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 new file mode 100644 index 0000000..705e59d Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.1310.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 new file mode 100644 index 0000000..431c377 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.1312.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 new file mode 100644 index 0000000..19dda6f Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.2018.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 new file mode 100644 index 0000000..418b525 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.2304.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 new file mode 100644 index 0000000..44f3f56 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.2406.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 new file mode 100644 index 0000000..70aa548 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.2438.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 new file mode 100644 index 0000000..dd0abd4 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.2946.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 b/mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 new file mode 100644 index 0000000..26b5f2d Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2008.3326.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 new file mode 100644 index 0000000..8e4531a Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 new file mode 100644 index 0000000..9b4515e Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.1232.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 new file mode 100644 index 0000000..33256f7 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.1406.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 new file mode 100644 index 0000000..b811532 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.1502.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 new file mode 100644 index 0000000..e6e8993 Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.3020.mfa2 differ diff --git a/mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 b/mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 new file mode 100644 index 0000000..c83f89f Binary files /dev/null and b/mellanox/mlxsw_spectrum2-29.2010.3146.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 b/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 new file mode 100644 index 0000000..1c76522 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2007.1168.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 new file mode 100644 index 0000000..ff51fb4 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.1036.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 new file mode 100644 index 0000000..7590819 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.1310.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 new file mode 100644 index 0000000..3a9e003 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.1312.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 new file mode 100644 index 0000000..80f0f0b Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.2018.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 new file mode 100644 index 0000000..36e23ab Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.2304.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 new file mode 100644 index 0000000..052ad5e Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.2406.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 new file mode 100644 index 0000000..3cfb7c6 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.2438.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 new file mode 100644 index 0000000..1639545 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.2946.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 b/mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 new file mode 100644 index 0000000..24d221f Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2008.3326.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 new file mode 100644 index 0000000..2d46d42 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 new file mode 100644 index 0000000..9b7b9a5 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.1232.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 new file mode 100644 index 0000000..7b08e7d Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.1406.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 new file mode 100644 index 0000000..675bbe4 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.1502.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 new file mode 100644 index 0000000..d6aaa3c Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.3020.mfa2 differ diff --git a/mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 b/mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 new file mode 100644 index 0000000..ae69254 Binary files /dev/null and b/mellanox/mlxsw_spectrum3-30.2010.3146.mfa2 differ diff --git a/meson/vdec/g12a_h264.bin b/meson/vdec/g12a_h264.bin new file mode 100644 index 0000000..32635ed Binary files /dev/null and b/meson/vdec/g12a_h264.bin differ diff --git a/meson/vdec/g12a_hevc_mmu.bin b/meson/vdec/g12a_hevc_mmu.bin new file mode 100644 index 0000000..4c35fb5 Binary files /dev/null and b/meson/vdec/g12a_hevc_mmu.bin differ diff --git a/meson/vdec/g12a_vp9.bin b/meson/vdec/g12a_vp9.bin new file mode 100644 index 0000000..a5f4112 Binary files /dev/null and b/meson/vdec/g12a_vp9.bin differ diff --git a/meson/vdec/gxbb_h264.bin b/meson/vdec/gxbb_h264.bin new file mode 100644 index 0000000..7a7d29f Binary files /dev/null and b/meson/vdec/gxbb_h264.bin differ diff --git a/meson/vdec/gxl_h263.bin b/meson/vdec/gxl_h263.bin new file mode 100644 index 0000000..fd6de0f Binary files /dev/null and b/meson/vdec/gxl_h263.bin differ diff --git a/meson/vdec/gxl_h264.bin b/meson/vdec/gxl_h264.bin new file mode 100644 index 0000000..c60e319 Binary files /dev/null and b/meson/vdec/gxl_h264.bin differ diff --git a/meson/vdec/gxl_hevc.bin b/meson/vdec/gxl_hevc.bin new file mode 100644 index 0000000..4159db3 Binary files /dev/null and b/meson/vdec/gxl_hevc.bin differ diff --git a/meson/vdec/gxl_hevc_mmu.bin b/meson/vdec/gxl_hevc_mmu.bin new file mode 100644 index 0000000..3c0e8c6 Binary files /dev/null and b/meson/vdec/gxl_hevc_mmu.bin differ diff --git a/meson/vdec/gxl_mjpeg.bin b/meson/vdec/gxl_mjpeg.bin new file mode 100644 index 0000000..d088cc0 Binary files /dev/null and b/meson/vdec/gxl_mjpeg.bin differ diff --git a/meson/vdec/gxl_mpeg12.bin b/meson/vdec/gxl_mpeg12.bin new file mode 100644 index 0000000..c348148 Binary files /dev/null and b/meson/vdec/gxl_mpeg12.bin differ diff --git a/meson/vdec/gxl_mpeg4_5.bin b/meson/vdec/gxl_mpeg4_5.bin new file mode 100644 index 0000000..5c1023e Binary files /dev/null and b/meson/vdec/gxl_mpeg4_5.bin differ diff --git a/meson/vdec/gxl_vp9.bin b/meson/vdec/gxl_vp9.bin new file mode 100644 index 0000000..1f98548 Binary files /dev/null and b/meson/vdec/gxl_vp9.bin differ diff --git a/meson/vdec/gxm_h264.bin b/meson/vdec/gxm_h264.bin new file mode 100644 index 0000000..12d0625 Binary files /dev/null and b/meson/vdec/gxm_h264.bin differ diff --git a/meson/vdec/sm1_hevc_mmu.bin b/meson/vdec/sm1_hevc_mmu.bin new file mode 100644 index 0000000..4c35fb5 Binary files /dev/null and b/meson/vdec/sm1_hevc_mmu.bin differ diff --git a/meson/vdec/sm1_vp9_mmu.bin b/meson/vdec/sm1_vp9_mmu.bin new file mode 100644 index 0000000..f49f7af Binary files /dev/null and b/meson/vdec/sm1_vp9_mmu.bin differ diff --git a/microchip/mscc_vsc8574_revb_int8051_29e8.bin b/microchip/mscc_vsc8574_revb_int8051_29e8.bin new file mode 100644 index 0000000..d3f06aa Binary files /dev/null and b/microchip/mscc_vsc8574_revb_int8051_29e8.bin differ diff --git a/microchip/mscc_vsc8584_revb_int8051_fb48.bin b/microchip/mscc_vsc8584_revb_int8051_fb48.bin new file mode 100644 index 0000000..1cf5e10 Binary files /dev/null and b/microchip/mscc_vsc8584_revb_int8051_fb48.bin differ diff --git a/moxa/moxa-1110.fw b/moxa/moxa-1110.fw new file mode 100644 index 0000000..b7d941c Binary files /dev/null and b/moxa/moxa-1110.fw differ diff --git a/moxa/moxa-1130.fw b/moxa/moxa-1130.fw new file mode 100644 index 0000000..62d44c1 Binary files /dev/null and b/moxa/moxa-1130.fw differ diff --git a/moxa/moxa-1131.fw b/moxa/moxa-1131.fw new file mode 100644 index 0000000..bbba5a0 Binary files /dev/null and b/moxa/moxa-1131.fw differ diff --git a/moxa/moxa-1150.fw b/moxa/moxa-1150.fw new file mode 100644 index 0000000..a4a406d Binary files /dev/null and b/moxa/moxa-1150.fw differ diff --git a/moxa/moxa-1151.fw b/moxa/moxa-1151.fw new file mode 100644 index 0000000..f3bfbe2 Binary files /dev/null and b/moxa/moxa-1151.fw differ diff --git a/moxa/moxa-1250.fw b/moxa/moxa-1250.fw new file mode 100644 index 0000000..61e7ea5 Binary files /dev/null and b/moxa/moxa-1250.fw differ diff --git a/moxa/moxa-1251.fw b/moxa/moxa-1251.fw new file mode 100644 index 0000000..7f40650 Binary files /dev/null and b/moxa/moxa-1251.fw differ diff --git a/moxa/moxa-1410.fw b/moxa/moxa-1410.fw new file mode 100644 index 0000000..e370bef Binary files /dev/null and b/moxa/moxa-1410.fw differ diff --git a/moxa/moxa-1450.fw b/moxa/moxa-1450.fw new file mode 100644 index 0000000..9ba8374 Binary files /dev/null and b/moxa/moxa-1450.fw differ diff --git a/moxa/moxa-1451.fw b/moxa/moxa-1451.fw new file mode 100644 index 0000000..79164d3 Binary files /dev/null and b/moxa/moxa-1451.fw differ diff --git a/moxa/moxa-1613.fw b/moxa/moxa-1613.fw new file mode 100644 index 0000000..8466269 Binary files /dev/null and b/moxa/moxa-1613.fw differ diff --git a/moxa/moxa-1618.fw b/moxa/moxa-1618.fw new file mode 100644 index 0000000..89eda87 Binary files /dev/null and b/moxa/moxa-1618.fw differ diff --git a/moxa/moxa-1653.fw b/moxa/moxa-1653.fw new file mode 100644 index 0000000..e619689 Binary files /dev/null and b/moxa/moxa-1653.fw differ diff --git a/moxa/moxa-1658.fw b/moxa/moxa-1658.fw new file mode 100644 index 0000000..57cfb48 Binary files /dev/null and b/moxa/moxa-1658.fw differ diff --git a/mrvl/cpt01/ae.out b/mrvl/cpt01/ae.out new file mode 100644 index 0000000..84b6654 Binary files /dev/null and b/mrvl/cpt01/ae.out differ diff --git a/mrvl/cpt01/ie.out b/mrvl/cpt01/ie.out new file mode 100644 index 0000000..ae4e568 Binary files /dev/null and b/mrvl/cpt01/ie.out differ diff --git a/mrvl/cpt01/se.out b/mrvl/cpt01/se.out new file mode 100644 index 0000000..a2f0c39 Binary files /dev/null and b/mrvl/cpt01/se.out differ diff --git a/mrvl/cpt02/ae.out b/mrvl/cpt02/ae.out new file mode 100644 index 0000000..5aea226 Binary files /dev/null and b/mrvl/cpt02/ae.out differ diff --git a/mrvl/cpt02/ie.out b/mrvl/cpt02/ie.out new file mode 100644 index 0000000..09dff69 Binary files /dev/null and b/mrvl/cpt02/ie.out differ diff --git a/mrvl/cpt02/se.out b/mrvl/cpt02/se.out new file mode 100644 index 0000000..994ad1d Binary files /dev/null and b/mrvl/cpt02/se.out differ diff --git a/mrvl/cpt03/ae.out b/mrvl/cpt03/ae.out new file mode 100644 index 0000000..4967ceb Binary files /dev/null and b/mrvl/cpt03/ae.out differ diff --git a/mrvl/cpt03/ie.out b/mrvl/cpt03/ie.out new file mode 100644 index 0000000..203239c Binary files /dev/null and b/mrvl/cpt03/ie.out differ diff --git a/mrvl/cpt03/se.out b/mrvl/cpt03/se.out new file mode 100644 index 0000000..2fb2238 Binary files /dev/null and b/mrvl/cpt03/se.out differ diff --git a/mrvl/cpt04/ae.out b/mrvl/cpt04/ae.out new file mode 100644 index 0000000..9066d85 Binary files /dev/null and b/mrvl/cpt04/ae.out differ diff --git a/mrvl/cpt04/ie.out b/mrvl/cpt04/ie.out new file mode 100644 index 0000000..cbaa631 Binary files /dev/null and b/mrvl/cpt04/ie.out differ diff --git a/mrvl/cpt04/se.out b/mrvl/cpt04/se.out new file mode 100644 index 0000000..182b881 Binary files /dev/null and b/mrvl/cpt04/se.out differ diff --git a/mrvl/pcie8897_uapsta.bin b/mrvl/pcie8897_uapsta.bin new file mode 100644 index 0000000..8a76aea Binary files /dev/null and b/mrvl/pcie8897_uapsta.bin differ diff --git a/mrvl/pcie8997_wlan_v4.bin b/mrvl/pcie8997_wlan_v4.bin new file mode 100644 index 0000000..eec7465 Binary files /dev/null and b/mrvl/pcie8997_wlan_v4.bin differ diff --git a/mrvl/pcieuart8997_combo_v4.bin b/mrvl/pcieuart8997_combo_v4.bin new file mode 100644 index 0000000..aa53ab1 Binary files /dev/null and b/mrvl/pcieuart8997_combo_v4.bin differ diff --git a/mrvl/pcieusb8997_combo_v4.bin b/mrvl/pcieusb8997_combo_v4.bin new file mode 100644 index 0000000..158d206 Binary files /dev/null and b/mrvl/pcieusb8997_combo_v4.bin differ diff --git a/mrvl/prestera/mvsw_prestera_fw-v2.0.img b/mrvl/prestera/mvsw_prestera_fw-v2.0.img new file mode 100755 index 0000000..d1d791f Binary files /dev/null and b/mrvl/prestera/mvsw_prestera_fw-v2.0.img differ diff --git a/mrvl/prestera/mvsw_prestera_fw-v3.0.img b/mrvl/prestera/mvsw_prestera_fw-v3.0.img new file mode 100755 index 0000000..00a347e Binary files /dev/null and b/mrvl/prestera/mvsw_prestera_fw-v3.0.img differ diff --git a/mrvl/prestera/mvsw_prestera_fw-v4.0.img b/mrvl/prestera/mvsw_prestera_fw-v4.0.img new file mode 100644 index 0000000..f7c9d45 Binary files /dev/null and b/mrvl/prestera/mvsw_prestera_fw-v4.0.img differ diff --git a/mrvl/prestera/mvsw_prestera_fw-v4.1.img b/mrvl/prestera/mvsw_prestera_fw-v4.1.img new file mode 100644 index 0000000..b79cb39 Binary files /dev/null and b/mrvl/prestera/mvsw_prestera_fw-v4.1.img differ diff --git a/mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img b/mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img new file mode 100644 index 0000000..9d676ec Binary files /dev/null and b/mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img differ diff --git a/mrvl/sd8688.bin b/mrvl/sd8688.bin new file mode 100644 index 0000000..199e32a Binary files /dev/null and b/mrvl/sd8688.bin differ diff --git a/mrvl/sd8688_helper.bin b/mrvl/sd8688_helper.bin new file mode 100644 index 0000000..746ae0b Binary files /dev/null and b/mrvl/sd8688_helper.bin differ diff --git a/mrvl/sd8787_uapsta.bin b/mrvl/sd8787_uapsta.bin new file mode 100644 index 0000000..5d86040 Binary files /dev/null and b/mrvl/sd8787_uapsta.bin differ diff --git a/mrvl/sd8797_uapsta.bin b/mrvl/sd8797_uapsta.bin new file mode 100644 index 0000000..b6b2bd4 Binary files /dev/null and b/mrvl/sd8797_uapsta.bin differ diff --git a/mrvl/sd8801_uapsta.bin b/mrvl/sd8801_uapsta.bin new file mode 100644 index 0000000..78c5db3 Binary files /dev/null and b/mrvl/sd8801_uapsta.bin differ diff --git a/mrvl/sd8887_uapsta.bin b/mrvl/sd8887_uapsta.bin new file mode 100644 index 0000000..60ac494 Binary files /dev/null and b/mrvl/sd8887_uapsta.bin differ diff --git a/mrvl/sd8897_uapsta.bin b/mrvl/sd8897_uapsta.bin new file mode 100644 index 0000000..815d445 Binary files /dev/null and b/mrvl/sd8897_uapsta.bin differ diff --git a/mrvl/sdsd8977_combo_v2.bin b/mrvl/sdsd8977_combo_v2.bin new file mode 100755 index 0000000..4038029 Binary files /dev/null and b/mrvl/sdsd8977_combo_v2.bin differ diff --git a/mrvl/sdsd8997_combo_v4.bin b/mrvl/sdsd8997_combo_v4.bin new file mode 100644 index 0000000..e8bdd2f Binary files /dev/null and b/mrvl/sdsd8997_combo_v4.bin differ diff --git a/mrvl/usb8766_uapsta.bin b/mrvl/usb8766_uapsta.bin new file mode 100644 index 0000000..91e09ec Binary files /dev/null and b/mrvl/usb8766_uapsta.bin differ diff --git a/mrvl/usb8797_uapsta.bin b/mrvl/usb8797_uapsta.bin new file mode 100644 index 0000000..ab695f0 Binary files /dev/null and b/mrvl/usb8797_uapsta.bin differ diff --git a/mrvl/usb8801_uapsta.bin b/mrvl/usb8801_uapsta.bin new file mode 100644 index 0000000..8a1b57f Binary files /dev/null and b/mrvl/usb8801_uapsta.bin differ diff --git a/mrvl/usb8897_uapsta.bin b/mrvl/usb8897_uapsta.bin new file mode 100644 index 0000000..b8d237c Binary files /dev/null and b/mrvl/usb8897_uapsta.bin differ diff --git a/mrvl/usbusb8997_combo_v4.bin b/mrvl/usbusb8997_combo_v4.bin new file mode 100644 index 0000000..b0e5e9c Binary files /dev/null and b/mrvl/usbusb8997_combo_v4.bin differ diff --git a/mts_cdma.fw b/mts_cdma.fw new file mode 100644 index 0000000..5241976 Binary files /dev/null and b/mts_cdma.fw differ diff --git a/mts_edge.fw b/mts_edge.fw new file mode 100644 index 0000000..4414462 Binary files /dev/null and b/mts_edge.fw differ diff --git a/mts_gsm.fw b/mts_gsm.fw new file mode 100644 index 0000000..5241976 Binary files /dev/null and b/mts_gsm.fw differ diff --git a/mwl8k/fmimage_8366.fw b/mwl8k/fmimage_8366.fw new file mode 100644 index 0000000..3e8ec24 Binary files /dev/null and b/mwl8k/fmimage_8366.fw differ diff --git a/mwl8k/fmimage_8366_ap-2.fw b/mwl8k/fmimage_8366_ap-2.fw new file mode 100644 index 0000000..8aea2d9 Binary files /dev/null and b/mwl8k/fmimage_8366_ap-2.fw differ diff --git a/mwl8k/fmimage_8366_ap-3.fw b/mwl8k/fmimage_8366_ap-3.fw new file mode 100644 index 0000000..c4a5926 Binary files /dev/null and b/mwl8k/fmimage_8366_ap-3.fw differ diff --git a/mwl8k/fmimage_8687.fw b/mwl8k/fmimage_8687.fw new file mode 100644 index 0000000..f0f16d5 Binary files /dev/null and b/mwl8k/fmimage_8687.fw differ diff --git a/mwl8k/fmimage_8764_ap-1.fw b/mwl8k/fmimage_8764_ap-1.fw new file mode 100644 index 0000000..064c8ce Binary files /dev/null and b/mwl8k/fmimage_8764_ap-1.fw differ diff --git a/mwl8k/helper_8366.fw b/mwl8k/helper_8366.fw new file mode 100644 index 0000000..fe7efb5 Binary files /dev/null and b/mwl8k/helper_8366.fw differ diff --git a/mwl8k/helper_8687.fw b/mwl8k/helper_8687.fw new file mode 100644 index 0000000..a0221fb Binary files /dev/null and b/mwl8k/helper_8687.fw differ diff --git a/myri10ge_eth_big_z8e.dat b/myri10ge_eth_big_z8e.dat new file mode 100644 index 0000000..288030e Binary files /dev/null and b/myri10ge_eth_big_z8e.dat differ diff --git a/myri10ge_eth_z8e.dat b/myri10ge_eth_z8e.dat new file mode 100644 index 0000000..92f54a3 Binary files /dev/null and b/myri10ge_eth_z8e.dat differ diff --git a/myri10ge_ethp_big_z8e.dat b/myri10ge_ethp_big_z8e.dat new file mode 100644 index 0000000..24d122d Binary files /dev/null and b/myri10ge_ethp_big_z8e.dat differ diff --git a/myri10ge_ethp_z8e.dat b/myri10ge_ethp_z8e.dat new file mode 100644 index 0000000..5b462c7 Binary files /dev/null and b/myri10ge_ethp_z8e.dat differ diff --git a/myri10ge_rss_eth_big_z8e.dat b/myri10ge_rss_eth_big_z8e.dat new file mode 100644 index 0000000..588054f Binary files /dev/null and b/myri10ge_rss_eth_big_z8e.dat differ diff --git a/myri10ge_rss_eth_z8e.dat b/myri10ge_rss_eth_z8e.dat new file mode 100644 index 0000000..3011090 Binary files /dev/null and b/myri10ge_rss_eth_z8e.dat differ diff --git a/myri10ge_rss_ethp_big_z8e.dat b/myri10ge_rss_ethp_big_z8e.dat new file mode 100644 index 0000000..dce6440 Binary files /dev/null and b/myri10ge_rss_ethp_big_z8e.dat differ diff --git a/myri10ge_rss_ethp_z8e.dat b/myri10ge_rss_ethp_z8e.dat new file mode 100644 index 0000000..15686d3 Binary files /dev/null and b/myri10ge_rss_ethp_z8e.dat differ diff --git a/netronome/bpf/nic_AMDA0058-0011_2x40.nffw b/netronome/bpf/nic_AMDA0058-0011_2x40.nffw new file mode 100644 index 0000000..5e876d9 Binary files /dev/null and b/netronome/bpf/nic_AMDA0058-0011_2x40.nffw differ diff --git a/netronome/bpf/nic_AMDA0058-0012_2x40.nffw b/netronome/bpf/nic_AMDA0058-0012_2x40.nffw new file mode 100644 index 0000000..1c15aa3 Binary files /dev/null and b/netronome/bpf/nic_AMDA0058-0012_2x40.nffw differ diff --git a/netronome/bpf/nic_AMDA0078-0011_1x100.nffw b/netronome/bpf/nic_AMDA0078-0011_1x100.nffw new file mode 100644 index 0000000..b910447 Binary files /dev/null and b/netronome/bpf/nic_AMDA0078-0011_1x100.nffw differ diff --git a/netronome/bpf/nic_AMDA0081-0001_1x40.nffw b/netronome/bpf/nic_AMDA0081-0001_1x40.nffw new file mode 100644 index 0000000..8930e86 Binary files /dev/null and b/netronome/bpf/nic_AMDA0081-0001_1x40.nffw differ diff --git a/netronome/bpf/nic_AMDA0081-0001_4x10.nffw b/netronome/bpf/nic_AMDA0081-0001_4x10.nffw new file mode 100644 index 0000000..3629cf1 Binary files /dev/null and b/netronome/bpf/nic_AMDA0081-0001_4x10.nffw differ diff --git a/netronome/bpf/nic_AMDA0096-0001_2x10.nffw b/netronome/bpf/nic_AMDA0096-0001_2x10.nffw new file mode 100644 index 0000000..15b53b4 Binary files /dev/null and b/netronome/bpf/nic_AMDA0096-0001_2x10.nffw differ diff --git a/netronome/bpf/nic_AMDA0097-0001_2x40.nffw b/netronome/bpf/nic_AMDA0097-0001_2x40.nffw new file mode 100644 index 0000000..998a562 Binary files /dev/null and b/netronome/bpf/nic_AMDA0097-0001_2x40.nffw differ diff --git a/netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw b/netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw new file mode 100644 index 0000000..78afbe9 Binary files /dev/null and b/netronome/bpf/nic_AMDA0097-0001_4x10_1x40.nffw differ diff --git a/netronome/bpf/nic_AMDA0097-0001_8x10.nffw b/netronome/bpf/nic_AMDA0097-0001_8x10.nffw new file mode 100644 index 0000000..d194cdf Binary files /dev/null and b/netronome/bpf/nic_AMDA0097-0001_8x10.nffw differ diff --git a/netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw b/netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw new file mode 100644 index 0000000..7719b2b Binary files /dev/null and b/netronome/bpf/nic_AMDA0099-0001_1x10_1x25.nffw differ diff --git a/netronome/bpf/nic_AMDA0099-0001_2x10.nffw b/netronome/bpf/nic_AMDA0099-0001_2x10.nffw new file mode 100644 index 0000000..4e8e126 Binary files /dev/null and b/netronome/bpf/nic_AMDA0099-0001_2x10.nffw differ diff --git a/netronome/bpf/nic_AMDA0099-0001_2x25.nffw b/netronome/bpf/nic_AMDA0099-0001_2x25.nffw new file mode 100644 index 0000000..d5daeb8 Binary files /dev/null and b/netronome/bpf/nic_AMDA0099-0001_2x25.nffw differ diff --git a/netronome/flower/nic_AMDA0058.nffw b/netronome/flower/nic_AMDA0058.nffw new file mode 100644 index 0000000..5f1bf15 Binary files /dev/null and b/netronome/flower/nic_AMDA0058.nffw differ diff --git a/netronome/flower/nic_AMDA0096.nffw b/netronome/flower/nic_AMDA0096.nffw new file mode 100644 index 0000000..b9c9abe Binary files /dev/null and b/netronome/flower/nic_AMDA0096.nffw differ diff --git a/netronome/flower/nic_AMDA0097.nffw b/netronome/flower/nic_AMDA0097.nffw new file mode 100644 index 0000000..2eb7d54 Binary files /dev/null and b/netronome/flower/nic_AMDA0097.nffw differ diff --git a/netronome/flower/nic_AMDA0099.nffw b/netronome/flower/nic_AMDA0099.nffw new file mode 100644 index 0000000..4784fd2 Binary files /dev/null and b/netronome/flower/nic_AMDA0099.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw b/netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw new file mode 100644 index 0000000..60f6608 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0058-0011_2x40.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw b/netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw new file mode 100644 index 0000000..cb3314b Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0058-0012_2x40.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw b/netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw new file mode 100644 index 0000000..90b67a4 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0078-0011_1x100.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw b/netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw new file mode 100644 index 0000000..df230d4 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0081-0001_1x40.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw b/netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw new file mode 100644 index 0000000..259b61c Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0081-0001_4x10.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw b/netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw new file mode 100644 index 0000000..a19b3d9 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0096-0001_2x10.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw b/netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw new file mode 100644 index 0000000..08c0436 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0097-0001_2x40.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw b/netronome/nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw new file mode 100644 index 0000000..1f92f29 Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0097-0001_4x10_1x40.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw b/netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw new file mode 100644 index 0000000..298110d Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0097-0001_8x10.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw b/netronome/nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw new file mode 100644 index 0000000..2af356c Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0099-0001_1x10_1x25.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw b/netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw new file mode 100644 index 0000000..8a6e12d Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0099-0001_2x10.nffw differ diff --git a/netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw b/netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw new file mode 100644 index 0000000..30d99cf Binary files /dev/null and b/netronome/nic-sriov/nic_AMDA0099-0001_2x25.nffw differ diff --git a/netronome/nic/nic_AMDA0058-0011_2x40.nffw b/netronome/nic/nic_AMDA0058-0011_2x40.nffw new file mode 100644 index 0000000..bfc50ff Binary files /dev/null and b/netronome/nic/nic_AMDA0058-0011_2x40.nffw differ diff --git a/netronome/nic/nic_AMDA0058-0012_2x40.nffw b/netronome/nic/nic_AMDA0058-0012_2x40.nffw new file mode 100644 index 0000000..4ba8abc Binary files /dev/null and b/netronome/nic/nic_AMDA0058-0012_2x40.nffw differ diff --git a/netronome/nic/nic_AMDA0078-0011_1x100.nffw b/netronome/nic/nic_AMDA0078-0011_1x100.nffw new file mode 100644 index 0000000..1c3a314 Binary files /dev/null and b/netronome/nic/nic_AMDA0078-0011_1x100.nffw differ diff --git a/netronome/nic/nic_AMDA0081-0001_1x40.nffw b/netronome/nic/nic_AMDA0081-0001_1x40.nffw new file mode 100644 index 0000000..8293c14 Binary files /dev/null and b/netronome/nic/nic_AMDA0081-0001_1x40.nffw differ diff --git a/netronome/nic/nic_AMDA0081-0001_4x10.nffw b/netronome/nic/nic_AMDA0081-0001_4x10.nffw new file mode 100644 index 0000000..732353c Binary files /dev/null and b/netronome/nic/nic_AMDA0081-0001_4x10.nffw differ diff --git a/netronome/nic/nic_AMDA0096-0001_2x10.nffw b/netronome/nic/nic_AMDA0096-0001_2x10.nffw new file mode 100644 index 0000000..9384aff Binary files /dev/null and b/netronome/nic/nic_AMDA0096-0001_2x10.nffw differ diff --git a/netronome/nic/nic_AMDA0097-0001_2x40.nffw b/netronome/nic/nic_AMDA0097-0001_2x40.nffw new file mode 100644 index 0000000..4c0a3ed Binary files /dev/null and b/netronome/nic/nic_AMDA0097-0001_2x40.nffw differ diff --git a/netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw b/netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw new file mode 100644 index 0000000..fd7131b Binary files /dev/null and b/netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw differ diff --git a/netronome/nic/nic_AMDA0097-0001_8x10.nffw b/netronome/nic/nic_AMDA0097-0001_8x10.nffw new file mode 100644 index 0000000..5d6c147 Binary files /dev/null and b/netronome/nic/nic_AMDA0097-0001_8x10.nffw differ diff --git a/netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw b/netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw new file mode 100644 index 0000000..c9229a6 Binary files /dev/null and b/netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw differ diff --git a/netronome/nic/nic_AMDA0099-0001_2x10.nffw b/netronome/nic/nic_AMDA0099-0001_2x10.nffw new file mode 100644 index 0000000..d97c3cf Binary files /dev/null and b/netronome/nic/nic_AMDA0099-0001_2x10.nffw differ diff --git a/netronome/nic/nic_AMDA0099-0001_2x25.nffw b/netronome/nic/nic_AMDA0099-0001_2x25.nffw new file mode 100644 index 0000000..272596c Binary files /dev/null and b/netronome/nic/nic_AMDA0099-0001_2x25.nffw differ diff --git a/nvidia/ga102/acr/ucode_ahesasc.bin b/nvidia/ga102/acr/ucode_ahesasc.bin new file mode 100644 index 0000000..16e8c50 Binary files /dev/null and b/nvidia/ga102/acr/ucode_ahesasc.bin differ diff --git a/nvidia/ga102/acr/ucode_asb.bin b/nvidia/ga102/acr/ucode_asb.bin new file mode 100644 index 0000000..9b89154 Binary files /dev/null and b/nvidia/ga102/acr/ucode_asb.bin differ diff --git a/nvidia/ga102/acr/ucode_unload.bin b/nvidia/ga102/acr/ucode_unload.bin new file mode 100644 index 0000000..24091a0 Binary files /dev/null and b/nvidia/ga102/acr/ucode_unload.bin differ diff --git a/nvidia/ga102/gr/NET_img.bin b/nvidia/ga102/gr/NET_img.bin new file mode 100644 index 0000000..54afe3c Binary files /dev/null and b/nvidia/ga102/gr/NET_img.bin differ diff --git a/nvidia/ga102/gr/fecs_bl.bin b/nvidia/ga102/gr/fecs_bl.bin new file mode 100644 index 0000000..9b936bc Binary files /dev/null and b/nvidia/ga102/gr/fecs_bl.bin differ diff --git a/nvidia/ga102/gr/fecs_sig.bin b/nvidia/ga102/gr/fecs_sig.bin new file mode 100644 index 0000000..40cd39d Binary files /dev/null and b/nvidia/ga102/gr/fecs_sig.bin differ diff --git a/nvidia/ga102/gr/gpccs_bl.bin b/nvidia/ga102/gr/gpccs_bl.bin new file mode 100644 index 0000000..53f7ee8 Binary files /dev/null and b/nvidia/ga102/gr/gpccs_bl.bin differ diff --git a/nvidia/ga102/gr/gpccs_sig.bin b/nvidia/ga102/gr/gpccs_sig.bin new file mode 100644 index 0000000..0037a41 Binary files /dev/null and b/nvidia/ga102/gr/gpccs_sig.bin differ diff --git a/nvidia/ga102/nvdec/scrubber.bin b/nvidia/ga102/nvdec/scrubber.bin new file mode 100644 index 0000000..349b393 Binary files /dev/null and b/nvidia/ga102/nvdec/scrubber.bin differ diff --git a/nvidia/ga102/sec2/desc.bin b/nvidia/ga102/sec2/desc.bin new file mode 100644 index 0000000..84dda18 Binary files /dev/null and b/nvidia/ga102/sec2/desc.bin differ diff --git a/nvidia/ga102/sec2/hs_bl_sig.bin b/nvidia/ga102/sec2/hs_bl_sig.bin new file mode 100644 index 0000000..f16447e Binary files /dev/null and b/nvidia/ga102/sec2/hs_bl_sig.bin differ diff --git a/nvidia/ga102/sec2/image.bin b/nvidia/ga102/sec2/image.bin new file mode 100644 index 0000000..f4af7ee Binary files /dev/null and b/nvidia/ga102/sec2/image.bin differ diff --git a/nvidia/ga102/sec2/sig.bin b/nvidia/ga102/sec2/sig.bin new file mode 100644 index 0000000..2f3ac5c Binary files /dev/null and b/nvidia/ga102/sec2/sig.bin differ diff --git a/nvidia/ga103/gr/NET_img.bin b/nvidia/ga103/gr/NET_img.bin new file mode 100644 index 0000000..2a0b02f Binary files /dev/null and b/nvidia/ga103/gr/NET_img.bin differ diff --git a/nvidia/ga103/gr/fecs_bl.bin b/nvidia/ga103/gr/fecs_bl.bin new file mode 100644 index 0000000..1397d1c Binary files /dev/null and b/nvidia/ga103/gr/fecs_bl.bin differ diff --git a/nvidia/ga103/gr/fecs_sig.bin b/nvidia/ga103/gr/fecs_sig.bin new file mode 100644 index 0000000..d1b42e5 Binary files /dev/null and b/nvidia/ga103/gr/fecs_sig.bin differ diff --git a/nvidia/ga103/gr/gpccs_bl.bin b/nvidia/ga103/gr/gpccs_bl.bin new file mode 100644 index 0000000..9d33774 Binary files /dev/null and b/nvidia/ga103/gr/gpccs_bl.bin differ diff --git a/nvidia/ga103/gr/gpccs_sig.bin b/nvidia/ga103/gr/gpccs_sig.bin new file mode 100644 index 0000000..cc36ad1 Binary files /dev/null and b/nvidia/ga103/gr/gpccs_sig.bin differ diff --git a/nvidia/ga104/gr/NET_img.bin b/nvidia/ga104/gr/NET_img.bin new file mode 100644 index 0000000..3a34040 Binary files /dev/null and b/nvidia/ga104/gr/NET_img.bin differ diff --git a/nvidia/ga104/gr/fecs_bl.bin b/nvidia/ga104/gr/fecs_bl.bin new file mode 100644 index 0000000..fc737ab Binary files /dev/null and b/nvidia/ga104/gr/fecs_bl.bin differ diff --git a/nvidia/ga104/gr/fecs_sig.bin b/nvidia/ga104/gr/fecs_sig.bin new file mode 100644 index 0000000..aa83ea3 Binary files /dev/null and b/nvidia/ga104/gr/fecs_sig.bin differ diff --git a/nvidia/ga104/gr/gpccs_bl.bin b/nvidia/ga104/gr/gpccs_bl.bin new file mode 100644 index 0000000..0929700 Binary files /dev/null and b/nvidia/ga104/gr/gpccs_bl.bin differ diff --git a/nvidia/ga104/gr/gpccs_sig.bin b/nvidia/ga104/gr/gpccs_sig.bin new file mode 100644 index 0000000..306e61d Binary files /dev/null and b/nvidia/ga104/gr/gpccs_sig.bin differ diff --git a/nvidia/ga106/gr/NET_img.bin b/nvidia/ga106/gr/NET_img.bin new file mode 100644 index 0000000..01792b1 Binary files /dev/null and b/nvidia/ga106/gr/NET_img.bin differ diff --git a/nvidia/ga106/gr/fecs_bl.bin b/nvidia/ga106/gr/fecs_bl.bin new file mode 100644 index 0000000..f72e81e Binary files /dev/null and b/nvidia/ga106/gr/fecs_bl.bin differ diff --git a/nvidia/ga106/gr/fecs_sig.bin b/nvidia/ga106/gr/fecs_sig.bin new file mode 100644 index 0000000..8076aa1 Binary files /dev/null and b/nvidia/ga106/gr/fecs_sig.bin differ diff --git a/nvidia/ga106/gr/gpccs_bl.bin b/nvidia/ga106/gr/gpccs_bl.bin new file mode 100644 index 0000000..f7512a1 Binary files /dev/null and b/nvidia/ga106/gr/gpccs_bl.bin differ diff --git a/nvidia/ga106/gr/gpccs_sig.bin b/nvidia/ga106/gr/gpccs_sig.bin new file mode 100644 index 0000000..03d4a50 Binary files /dev/null and b/nvidia/ga106/gr/gpccs_sig.bin differ diff --git a/nvidia/ga107/gr/NET_img.bin b/nvidia/ga107/gr/NET_img.bin new file mode 100644 index 0000000..8c17acb Binary files /dev/null and b/nvidia/ga107/gr/NET_img.bin differ diff --git a/nvidia/ga107/gr/fecs_bl.bin b/nvidia/ga107/gr/fecs_bl.bin new file mode 100644 index 0000000..0177c05 Binary files /dev/null and b/nvidia/ga107/gr/fecs_bl.bin differ diff --git a/nvidia/ga107/gr/fecs_sig.bin b/nvidia/ga107/gr/fecs_sig.bin new file mode 100644 index 0000000..62699e9 Binary files /dev/null and b/nvidia/ga107/gr/fecs_sig.bin differ diff --git a/nvidia/ga107/gr/gpccs_bl.bin b/nvidia/ga107/gr/gpccs_bl.bin new file mode 100644 index 0000000..8ec7560 Binary files /dev/null and b/nvidia/ga107/gr/gpccs_bl.bin differ diff --git a/nvidia/ga107/gr/gpccs_sig.bin b/nvidia/ga107/gr/gpccs_sig.bin new file mode 100644 index 0000000..a180d4f Binary files /dev/null and b/nvidia/ga107/gr/gpccs_sig.bin differ diff --git a/nvidia/gk20a/fecs_data.bin b/nvidia/gk20a/fecs_data.bin new file mode 100644 index 0000000..a269ffa Binary files /dev/null and b/nvidia/gk20a/fecs_data.bin differ diff --git a/nvidia/gk20a/fecs_inst.bin b/nvidia/gk20a/fecs_inst.bin new file mode 100644 index 0000000..caff507 Binary files /dev/null and b/nvidia/gk20a/fecs_inst.bin differ diff --git a/nvidia/gk20a/gpccs_data.bin b/nvidia/gk20a/gpccs_data.bin new file mode 100644 index 0000000..6e848ee Binary files /dev/null and b/nvidia/gk20a/gpccs_data.bin differ diff --git a/nvidia/gk20a/gpccs_inst.bin b/nvidia/gk20a/gpccs_inst.bin new file mode 100644 index 0000000..d521382 Binary files /dev/null and b/nvidia/gk20a/gpccs_inst.bin differ diff --git a/nvidia/gk20a/sw_bundle_init.bin b/nvidia/gk20a/sw_bundle_init.bin new file mode 100644 index 0000000..a977eaf Binary files /dev/null and b/nvidia/gk20a/sw_bundle_init.bin differ diff --git a/nvidia/gk20a/sw_ctx.bin b/nvidia/gk20a/sw_ctx.bin new file mode 100644 index 0000000..2ecda72 Binary files /dev/null and b/nvidia/gk20a/sw_ctx.bin differ diff --git a/nvidia/gk20a/sw_method_init.bin b/nvidia/gk20a/sw_method_init.bin new file mode 100644 index 0000000..4497b91 Binary files /dev/null and b/nvidia/gk20a/sw_method_init.bin differ diff --git a/nvidia/gk20a/sw_nonctx.bin b/nvidia/gk20a/sw_nonctx.bin new file mode 100644 index 0000000..feca9f2 Binary files /dev/null and b/nvidia/gk20a/sw_nonctx.bin differ diff --git a/nvidia/gm200/acr/bl.bin b/nvidia/gm200/acr/bl.bin new file mode 100644 index 0000000..0f0a86a Binary files /dev/null and b/nvidia/gm200/acr/bl.bin differ diff --git a/nvidia/gm200/acr/ucode_load.bin b/nvidia/gm200/acr/ucode_load.bin new file mode 100644 index 0000000..84f306d Binary files /dev/null and b/nvidia/gm200/acr/ucode_load.bin differ diff --git a/nvidia/gm200/acr/ucode_unload.bin b/nvidia/gm200/acr/ucode_unload.bin new file mode 100644 index 0000000..b043700 Binary files /dev/null and b/nvidia/gm200/acr/ucode_unload.bin differ diff --git a/nvidia/gm200/gr/fecs_bl.bin b/nvidia/gm200/gr/fecs_bl.bin new file mode 100644 index 0000000..c6f0faf Binary files /dev/null and b/nvidia/gm200/gr/fecs_bl.bin differ diff --git a/nvidia/gm200/gr/fecs_data.bin b/nvidia/gm200/gr/fecs_data.bin new file mode 100644 index 0000000..40ff2b3 Binary files /dev/null and b/nvidia/gm200/gr/fecs_data.bin differ diff --git a/nvidia/gm200/gr/fecs_inst.bin b/nvidia/gm200/gr/fecs_inst.bin new file mode 100644 index 0000000..542c742 Binary files /dev/null and b/nvidia/gm200/gr/fecs_inst.bin differ diff --git a/nvidia/gm200/gr/fecs_sig.bin b/nvidia/gm200/gr/fecs_sig.bin new file mode 100644 index 0000000..2dc16e9 Binary files /dev/null and b/nvidia/gm200/gr/fecs_sig.bin differ diff --git a/nvidia/gm200/gr/gpccs_bl.bin b/nvidia/gm200/gr/gpccs_bl.bin new file mode 100644 index 0000000..e04f4d8 Binary files /dev/null and b/nvidia/gm200/gr/gpccs_bl.bin differ diff --git a/nvidia/gm200/gr/gpccs_data.bin b/nvidia/gm200/gr/gpccs_data.bin new file mode 100644 index 0000000..3af5782 Binary files /dev/null and b/nvidia/gm200/gr/gpccs_data.bin differ diff --git a/nvidia/gm200/gr/gpccs_inst.bin b/nvidia/gm200/gr/gpccs_inst.bin new file mode 100644 index 0000000..00d957a Binary files /dev/null and b/nvidia/gm200/gr/gpccs_inst.bin differ diff --git a/nvidia/gm200/gr/gpccs_sig.bin b/nvidia/gm200/gr/gpccs_sig.bin new file mode 100644 index 0000000..1371f09 Binary files /dev/null and b/nvidia/gm200/gr/gpccs_sig.bin differ diff --git a/nvidia/gm200/gr/sw_bundle_init.bin b/nvidia/gm200/gr/sw_bundle_init.bin new file mode 100644 index 0000000..9643fbe Binary files /dev/null and b/nvidia/gm200/gr/sw_bundle_init.bin differ diff --git a/nvidia/gm200/gr/sw_ctx.bin b/nvidia/gm200/gr/sw_ctx.bin new file mode 100644 index 0000000..6fdf54f Binary files /dev/null and b/nvidia/gm200/gr/sw_ctx.bin differ diff --git a/nvidia/gm200/gr/sw_method_init.bin b/nvidia/gm200/gr/sw_method_init.bin new file mode 100644 index 0000000..e458283 Binary files /dev/null and b/nvidia/gm200/gr/sw_method_init.bin differ diff --git a/nvidia/gm200/gr/sw_nonctx.bin b/nvidia/gm200/gr/sw_nonctx.bin new file mode 100644 index 0000000..78b3a4a Binary files /dev/null and b/nvidia/gm200/gr/sw_nonctx.bin differ diff --git a/nvidia/gm204/gr/fecs_data.bin b/nvidia/gm204/gr/fecs_data.bin new file mode 100644 index 0000000..a01d199 Binary files /dev/null and b/nvidia/gm204/gr/fecs_data.bin differ diff --git a/nvidia/gm204/gr/fecs_sig.bin b/nvidia/gm204/gr/fecs_sig.bin new file mode 100644 index 0000000..2d9ac08 Binary files /dev/null and b/nvidia/gm204/gr/fecs_sig.bin differ diff --git a/nvidia/gm204/gr/gpccs_data.bin b/nvidia/gm204/gr/gpccs_data.bin new file mode 100644 index 0000000..920baea Binary files /dev/null and b/nvidia/gm204/gr/gpccs_data.bin differ diff --git a/nvidia/gm204/gr/gpccs_sig.bin b/nvidia/gm204/gr/gpccs_sig.bin new file mode 100644 index 0000000..ee8b05e Binary files /dev/null and b/nvidia/gm204/gr/gpccs_sig.bin differ diff --git a/nvidia/gm206/acr/ucode_load.bin b/nvidia/gm206/acr/ucode_load.bin new file mode 100644 index 0000000..8bc2cc0 Binary files /dev/null and b/nvidia/gm206/acr/ucode_load.bin differ diff --git a/nvidia/gm206/acr/ucode_unload.bin b/nvidia/gm206/acr/ucode_unload.bin new file mode 100644 index 0000000..759aa36 Binary files /dev/null and b/nvidia/gm206/acr/ucode_unload.bin differ diff --git a/nvidia/gm206/gr/fecs_data.bin b/nvidia/gm206/gr/fecs_data.bin new file mode 100644 index 0000000..089098d Binary files /dev/null and b/nvidia/gm206/gr/fecs_data.bin differ diff --git a/nvidia/gm206/gr/fecs_sig.bin b/nvidia/gm206/gr/fecs_sig.bin new file mode 100644 index 0000000..cff2585 Binary files /dev/null and b/nvidia/gm206/gr/fecs_sig.bin differ diff --git a/nvidia/gm206/gr/gpccs_data.bin b/nvidia/gm206/gr/gpccs_data.bin new file mode 100644 index 0000000..f833936 Binary files /dev/null and b/nvidia/gm206/gr/gpccs_data.bin differ diff --git a/nvidia/gm206/gr/gpccs_sig.bin b/nvidia/gm206/gr/gpccs_sig.bin new file mode 100644 index 0000000..99adfc7 Binary files /dev/null and b/nvidia/gm206/gr/gpccs_sig.bin differ diff --git a/nvidia/gm20b/acr/bl.bin b/nvidia/gm20b/acr/bl.bin new file mode 100644 index 0000000..e333202 Binary files /dev/null and b/nvidia/gm20b/acr/bl.bin differ diff --git a/nvidia/gm20b/acr/ucode_load.bin b/nvidia/gm20b/acr/ucode_load.bin new file mode 100644 index 0000000..1145e28 Binary files /dev/null and b/nvidia/gm20b/acr/ucode_load.bin differ diff --git a/nvidia/gm20b/gr/fecs_bl.bin b/nvidia/gm20b/gr/fecs_bl.bin new file mode 100644 index 0000000..54ed639 Binary files /dev/null and b/nvidia/gm20b/gr/fecs_bl.bin differ diff --git a/nvidia/gm20b/gr/fecs_data.bin b/nvidia/gm20b/gr/fecs_data.bin new file mode 100644 index 0000000..bf3092b Binary files /dev/null and b/nvidia/gm20b/gr/fecs_data.bin differ diff --git a/nvidia/gm20b/gr/fecs_inst.bin b/nvidia/gm20b/gr/fecs_inst.bin new file mode 100644 index 0000000..88109e5 Binary files /dev/null and b/nvidia/gm20b/gr/fecs_inst.bin differ diff --git a/nvidia/gm20b/gr/fecs_sig.bin b/nvidia/gm20b/gr/fecs_sig.bin new file mode 100644 index 0000000..5b75d1b Binary files /dev/null and b/nvidia/gm20b/gr/fecs_sig.bin differ diff --git a/nvidia/gm20b/gr/gpccs_data.bin b/nvidia/gm20b/gr/gpccs_data.bin new file mode 100644 index 0000000..035d932 Binary files /dev/null and b/nvidia/gm20b/gr/gpccs_data.bin differ diff --git a/nvidia/gm20b/gr/gpccs_inst.bin b/nvidia/gm20b/gr/gpccs_inst.bin new file mode 100644 index 0000000..7dd1a7a Binary files /dev/null and b/nvidia/gm20b/gr/gpccs_inst.bin differ diff --git a/nvidia/gm20b/gr/sw_bundle_init.bin b/nvidia/gm20b/gr/sw_bundle_init.bin new file mode 100644 index 0000000..9381678 Binary files /dev/null and b/nvidia/gm20b/gr/sw_bundle_init.bin differ diff --git a/nvidia/gm20b/gr/sw_ctx.bin b/nvidia/gm20b/gr/sw_ctx.bin new file mode 100644 index 0000000..b145013 Binary files /dev/null and b/nvidia/gm20b/gr/sw_ctx.bin differ diff --git a/nvidia/gm20b/gr/sw_nonctx.bin b/nvidia/gm20b/gr/sw_nonctx.bin new file mode 100644 index 0000000..cafe85a Binary files /dev/null and b/nvidia/gm20b/gr/sw_nonctx.bin differ diff --git a/nvidia/gm20b/pmu/desc.bin b/nvidia/gm20b/pmu/desc.bin new file mode 100644 index 0000000..0807148 Binary files /dev/null and b/nvidia/gm20b/pmu/desc.bin differ diff --git a/nvidia/gm20b/pmu/image.bin b/nvidia/gm20b/pmu/image.bin new file mode 100644 index 0000000..fbae86d Binary files /dev/null and b/nvidia/gm20b/pmu/image.bin differ diff --git a/nvidia/gm20b/pmu/sig.bin b/nvidia/gm20b/pmu/sig.bin new file mode 100644 index 0000000..3551c4a Binary files /dev/null and b/nvidia/gm20b/pmu/sig.bin differ diff --git a/nvidia/gp100/acr/bl.bin b/nvidia/gp100/acr/bl.bin new file mode 100644 index 0000000..1c6ea12 Binary files /dev/null and b/nvidia/gp100/acr/bl.bin differ diff --git a/nvidia/gp100/acr/ucode_load.bin b/nvidia/gp100/acr/ucode_load.bin new file mode 100644 index 0000000..eb69029 Binary files /dev/null and b/nvidia/gp100/acr/ucode_load.bin differ diff --git a/nvidia/gp100/acr/ucode_unload.bin b/nvidia/gp100/acr/ucode_unload.bin new file mode 100644 index 0000000..24070c7 Binary files /dev/null and b/nvidia/gp100/acr/ucode_unload.bin differ diff --git a/nvidia/gp100/gr/fecs_data.bin b/nvidia/gp100/gr/fecs_data.bin new file mode 100644 index 0000000..b7f7e04 Binary files /dev/null and b/nvidia/gp100/gr/fecs_data.bin differ diff --git a/nvidia/gp100/gr/fecs_inst.bin b/nvidia/gp100/gr/fecs_inst.bin new file mode 100644 index 0000000..aec2228 Binary files /dev/null and b/nvidia/gp100/gr/fecs_inst.bin differ diff --git a/nvidia/gp100/gr/fecs_sig.bin b/nvidia/gp100/gr/fecs_sig.bin new file mode 100644 index 0000000..e8f39b5 Binary files /dev/null and b/nvidia/gp100/gr/fecs_sig.bin differ diff --git a/nvidia/gp100/gr/gpccs_data.bin b/nvidia/gp100/gr/gpccs_data.bin new file mode 100644 index 0000000..c3b761f Binary files /dev/null and b/nvidia/gp100/gr/gpccs_data.bin differ diff --git a/nvidia/gp100/gr/gpccs_inst.bin b/nvidia/gp100/gr/gpccs_inst.bin new file mode 100644 index 0000000..21a25f1 Binary files /dev/null and b/nvidia/gp100/gr/gpccs_inst.bin differ diff --git a/nvidia/gp100/gr/gpccs_sig.bin b/nvidia/gp100/gr/gpccs_sig.bin new file mode 100644 index 0000000..b8f3192 Binary files /dev/null and b/nvidia/gp100/gr/gpccs_sig.bin differ diff --git a/nvidia/gp100/gr/sw_bundle_init.bin b/nvidia/gp100/gr/sw_bundle_init.bin new file mode 100644 index 0000000..ef5d650 Binary files /dev/null and b/nvidia/gp100/gr/sw_bundle_init.bin differ diff --git a/nvidia/gp100/gr/sw_ctx.bin b/nvidia/gp100/gr/sw_ctx.bin new file mode 100644 index 0000000..4229d1e Binary files /dev/null and b/nvidia/gp100/gr/sw_ctx.bin differ diff --git a/nvidia/gp100/gr/sw_method_init.bin b/nvidia/gp100/gr/sw_method_init.bin new file mode 100644 index 0000000..e5b9583 Binary files /dev/null and b/nvidia/gp100/gr/sw_method_init.bin differ diff --git a/nvidia/gp100/gr/sw_nonctx.bin b/nvidia/gp100/gr/sw_nonctx.bin new file mode 100644 index 0000000..e3d0b3b Binary files /dev/null and b/nvidia/gp100/gr/sw_nonctx.bin differ diff --git a/nvidia/gp102/acr/bl.bin b/nvidia/gp102/acr/bl.bin new file mode 100644 index 0000000..788100b Binary files /dev/null and b/nvidia/gp102/acr/bl.bin differ diff --git a/nvidia/gp102/acr/ucode_load.bin b/nvidia/gp102/acr/ucode_load.bin new file mode 100644 index 0000000..9e1869e Binary files /dev/null and b/nvidia/gp102/acr/ucode_load.bin differ diff --git a/nvidia/gp102/acr/ucode_unload.bin b/nvidia/gp102/acr/ucode_unload.bin new file mode 100644 index 0000000..5c68948 Binary files /dev/null and b/nvidia/gp102/acr/ucode_unload.bin differ diff --git a/nvidia/gp102/acr/unload_bl.bin b/nvidia/gp102/acr/unload_bl.bin new file mode 100644 index 0000000..0cb7635 Binary files /dev/null and b/nvidia/gp102/acr/unload_bl.bin differ diff --git a/nvidia/gp102/gr/fecs_data.bin b/nvidia/gp102/gr/fecs_data.bin new file mode 100644 index 0000000..6e090ae Binary files /dev/null and b/nvidia/gp102/gr/fecs_data.bin differ diff --git a/nvidia/gp102/gr/fecs_inst.bin b/nvidia/gp102/gr/fecs_inst.bin new file mode 100644 index 0000000..e5b49b3 Binary files /dev/null and b/nvidia/gp102/gr/fecs_inst.bin differ diff --git a/nvidia/gp102/gr/fecs_sig.bin b/nvidia/gp102/gr/fecs_sig.bin new file mode 100644 index 0000000..8ce58fd Binary files /dev/null and b/nvidia/gp102/gr/fecs_sig.bin differ diff --git a/nvidia/gp102/gr/gpccs_data.bin b/nvidia/gp102/gr/gpccs_data.bin new file mode 100644 index 0000000..3850946 Binary files /dev/null and b/nvidia/gp102/gr/gpccs_data.bin differ diff --git a/nvidia/gp102/gr/gpccs_inst.bin b/nvidia/gp102/gr/gpccs_inst.bin new file mode 100644 index 0000000..5cb163b Binary files /dev/null and b/nvidia/gp102/gr/gpccs_inst.bin differ diff --git a/nvidia/gp102/gr/gpccs_sig.bin b/nvidia/gp102/gr/gpccs_sig.bin new file mode 100644 index 0000000..bb4429e Binary files /dev/null and b/nvidia/gp102/gr/gpccs_sig.bin differ diff --git a/nvidia/gp102/gr/sw_bundle_init.bin b/nvidia/gp102/gr/sw_bundle_init.bin new file mode 100644 index 0000000..6d0278f Binary files /dev/null and b/nvidia/gp102/gr/sw_bundle_init.bin differ diff --git a/nvidia/gp102/gr/sw_ctx.bin b/nvidia/gp102/gr/sw_ctx.bin new file mode 100644 index 0000000..358e90e Binary files /dev/null and b/nvidia/gp102/gr/sw_ctx.bin differ diff --git a/nvidia/gp102/gr/sw_method_init.bin b/nvidia/gp102/gr/sw_method_init.bin new file mode 100644 index 0000000..e46feb7 Binary files /dev/null and b/nvidia/gp102/gr/sw_method_init.bin differ diff --git a/nvidia/gp102/gr/sw_nonctx.bin b/nvidia/gp102/gr/sw_nonctx.bin new file mode 100644 index 0000000..5e8fc82 Binary files /dev/null and b/nvidia/gp102/gr/sw_nonctx.bin differ diff --git a/nvidia/gp102/nvdec/scrubber.bin b/nvidia/gp102/nvdec/scrubber.bin new file mode 100644 index 0000000..39013da Binary files /dev/null and b/nvidia/gp102/nvdec/scrubber.bin differ diff --git a/nvidia/gp102/sec2/desc-1.bin b/nvidia/gp102/sec2/desc-1.bin new file mode 100644 index 0000000..0595f83 Binary files /dev/null and b/nvidia/gp102/sec2/desc-1.bin differ diff --git a/nvidia/gp102/sec2/desc.bin b/nvidia/gp102/sec2/desc.bin new file mode 100644 index 0000000..801ab90 Binary files /dev/null and b/nvidia/gp102/sec2/desc.bin differ diff --git a/nvidia/gp102/sec2/image-1.bin b/nvidia/gp102/sec2/image-1.bin new file mode 100644 index 0000000..93b53ce Binary files /dev/null and b/nvidia/gp102/sec2/image-1.bin differ diff --git a/nvidia/gp102/sec2/image.bin b/nvidia/gp102/sec2/image.bin new file mode 100644 index 0000000..60fbcef Binary files /dev/null and b/nvidia/gp102/sec2/image.bin differ diff --git a/nvidia/gp102/sec2/sig-1.bin b/nvidia/gp102/sec2/sig-1.bin new file mode 100644 index 0000000..035fbbf Binary files /dev/null and b/nvidia/gp102/sec2/sig-1.bin differ diff --git a/nvidia/gp102/sec2/sig.bin b/nvidia/gp102/sec2/sig.bin new file mode 100644 index 0000000..7543876 Binary files /dev/null and b/nvidia/gp102/sec2/sig.bin differ diff --git a/nvidia/gp104/gr/fecs_data.bin b/nvidia/gp104/gr/fecs_data.bin new file mode 100644 index 0000000..9b9b2b7 Binary files /dev/null and b/nvidia/gp104/gr/fecs_data.bin differ diff --git a/nvidia/gp104/gr/fecs_inst.bin b/nvidia/gp104/gr/fecs_inst.bin new file mode 100644 index 0000000..fc9ad85 Binary files /dev/null and b/nvidia/gp104/gr/fecs_inst.bin differ diff --git a/nvidia/gp104/gr/fecs_sig.bin b/nvidia/gp104/gr/fecs_sig.bin new file mode 100644 index 0000000..9fdb7ab Binary files /dev/null and b/nvidia/gp104/gr/fecs_sig.bin differ diff --git a/nvidia/gp104/gr/gpccs_data.bin b/nvidia/gp104/gr/gpccs_data.bin new file mode 100644 index 0000000..19f7cbb Binary files /dev/null and b/nvidia/gp104/gr/gpccs_data.bin differ diff --git a/nvidia/gp104/gr/gpccs_inst.bin b/nvidia/gp104/gr/gpccs_inst.bin new file mode 100644 index 0000000..5cb163b Binary files /dev/null and b/nvidia/gp104/gr/gpccs_inst.bin differ diff --git a/nvidia/gp104/gr/gpccs_sig.bin b/nvidia/gp104/gr/gpccs_sig.bin new file mode 100644 index 0000000..8501c05 Binary files /dev/null and b/nvidia/gp104/gr/gpccs_sig.bin differ diff --git a/nvidia/gp106/gr/fecs_data.bin b/nvidia/gp106/gr/fecs_data.bin new file mode 100644 index 0000000..c5fe191 Binary files /dev/null and b/nvidia/gp106/gr/fecs_data.bin differ diff --git a/nvidia/gp106/gr/fecs_sig.bin b/nvidia/gp106/gr/fecs_sig.bin new file mode 100644 index 0000000..e8c6e63 Binary files /dev/null and b/nvidia/gp106/gr/fecs_sig.bin differ diff --git a/nvidia/gp106/gr/gpccs_data.bin b/nvidia/gp106/gr/gpccs_data.bin new file mode 100644 index 0000000..5be4c9e Binary files /dev/null and b/nvidia/gp106/gr/gpccs_data.bin differ diff --git a/nvidia/gp106/gr/gpccs_sig.bin b/nvidia/gp106/gr/gpccs_sig.bin new file mode 100644 index 0000000..a365925 Binary files /dev/null and b/nvidia/gp106/gr/gpccs_sig.bin differ diff --git a/nvidia/gp107/gr/fecs_bl.bin b/nvidia/gp107/gr/fecs_bl.bin new file mode 100644 index 0000000..bea29ce Binary files /dev/null and b/nvidia/gp107/gr/fecs_bl.bin differ diff --git a/nvidia/gp107/gr/fecs_data.bin b/nvidia/gp107/gr/fecs_data.bin new file mode 100644 index 0000000..4184ad4 Binary files /dev/null and b/nvidia/gp107/gr/fecs_data.bin differ diff --git a/nvidia/gp107/gr/fecs_inst.bin b/nvidia/gp107/gr/fecs_inst.bin new file mode 100644 index 0000000..8048c04 Binary files /dev/null and b/nvidia/gp107/gr/fecs_inst.bin differ diff --git a/nvidia/gp107/gr/fecs_sig.bin b/nvidia/gp107/gr/fecs_sig.bin new file mode 100644 index 0000000..73b8c07 Binary files /dev/null and b/nvidia/gp107/gr/fecs_sig.bin differ diff --git a/nvidia/gp107/gr/gpccs_bl.bin b/nvidia/gp107/gr/gpccs_bl.bin new file mode 100644 index 0000000..e924af4 Binary files /dev/null and b/nvidia/gp107/gr/gpccs_bl.bin differ diff --git a/nvidia/gp107/gr/gpccs_data.bin b/nvidia/gp107/gr/gpccs_data.bin new file mode 100644 index 0000000..081b913 Binary files /dev/null and b/nvidia/gp107/gr/gpccs_data.bin differ diff --git a/nvidia/gp107/gr/gpccs_inst.bin b/nvidia/gp107/gr/gpccs_inst.bin new file mode 100644 index 0000000..27f7350 Binary files /dev/null and b/nvidia/gp107/gr/gpccs_inst.bin differ diff --git a/nvidia/gp107/gr/gpccs_sig.bin b/nvidia/gp107/gr/gpccs_sig.bin new file mode 100644 index 0000000..26db2fd Binary files /dev/null and b/nvidia/gp107/gr/gpccs_sig.bin differ diff --git a/nvidia/gp107/gr/sw_ctx.bin b/nvidia/gp107/gr/sw_ctx.bin new file mode 100644 index 0000000..a02efc9 Binary files /dev/null and b/nvidia/gp107/gr/sw_ctx.bin differ diff --git a/nvidia/gp107/gr/sw_nonctx.bin b/nvidia/gp107/gr/sw_nonctx.bin new file mode 100644 index 0000000..0496d2c Binary files /dev/null and b/nvidia/gp107/gr/sw_nonctx.bin differ diff --git a/nvidia/gp108/gr/fecs_bl.bin b/nvidia/gp108/gr/fecs_bl.bin new file mode 100644 index 0000000..bea29ce Binary files /dev/null and b/nvidia/gp108/gr/fecs_bl.bin differ diff --git a/nvidia/gp108/gr/fecs_data.bin b/nvidia/gp108/gr/fecs_data.bin new file mode 100644 index 0000000..87b1f2d Binary files /dev/null and b/nvidia/gp108/gr/fecs_data.bin differ diff --git a/nvidia/gp108/gr/fecs_inst.bin b/nvidia/gp108/gr/fecs_inst.bin new file mode 100644 index 0000000..2fc90ef Binary files /dev/null and b/nvidia/gp108/gr/fecs_inst.bin differ diff --git a/nvidia/gp108/gr/fecs_sig.bin b/nvidia/gp108/gr/fecs_sig.bin new file mode 100644 index 0000000..5dd2fd3 Binary files /dev/null and b/nvidia/gp108/gr/fecs_sig.bin differ diff --git a/nvidia/gp108/gr/gpccs_bl.bin b/nvidia/gp108/gr/gpccs_bl.bin new file mode 100644 index 0000000..e924af4 Binary files /dev/null and b/nvidia/gp108/gr/gpccs_bl.bin differ diff --git a/nvidia/gp108/gr/gpccs_data.bin b/nvidia/gp108/gr/gpccs_data.bin new file mode 100644 index 0000000..4ab5039 Binary files /dev/null and b/nvidia/gp108/gr/gpccs_data.bin differ diff --git a/nvidia/gp108/gr/gpccs_inst.bin b/nvidia/gp108/gr/gpccs_inst.bin new file mode 100644 index 0000000..a8b44bc Binary files /dev/null and b/nvidia/gp108/gr/gpccs_inst.bin differ diff --git a/nvidia/gp108/gr/gpccs_sig.bin b/nvidia/gp108/gr/gpccs_sig.bin new file mode 100644 index 0000000..48dd6cd Binary files /dev/null and b/nvidia/gp108/gr/gpccs_sig.bin differ diff --git a/nvidia/gp108/gr/sw_bundle_init.bin b/nvidia/gp108/gr/sw_bundle_init.bin new file mode 100644 index 0000000..6d0278f Binary files /dev/null and b/nvidia/gp108/gr/sw_bundle_init.bin differ diff --git a/nvidia/gp108/gr/sw_ctx.bin b/nvidia/gp108/gr/sw_ctx.bin new file mode 100644 index 0000000..a02efc9 Binary files /dev/null and b/nvidia/gp108/gr/sw_ctx.bin differ diff --git a/nvidia/gp108/gr/sw_method_init.bin b/nvidia/gp108/gr/sw_method_init.bin new file mode 100644 index 0000000..e46feb7 Binary files /dev/null and b/nvidia/gp108/gr/sw_method_init.bin differ diff --git a/nvidia/gp108/gr/sw_nonctx.bin b/nvidia/gp108/gr/sw_nonctx.bin new file mode 100644 index 0000000..0496d2c Binary files /dev/null and b/nvidia/gp108/gr/sw_nonctx.bin differ diff --git a/nvidia/gp10b/acr/bl.bin b/nvidia/gp10b/acr/bl.bin new file mode 100644 index 0000000..b598f8f Binary files /dev/null and b/nvidia/gp10b/acr/bl.bin differ diff --git a/nvidia/gp10b/acr/ucode_load.bin b/nvidia/gp10b/acr/ucode_load.bin new file mode 100644 index 0000000..016144c Binary files /dev/null and b/nvidia/gp10b/acr/ucode_load.bin differ diff --git a/nvidia/gp10b/gr/fecs_bl.bin b/nvidia/gp10b/gr/fecs_bl.bin new file mode 100644 index 0000000..4e03f76 Binary files /dev/null and b/nvidia/gp10b/gr/fecs_bl.bin differ diff --git a/nvidia/gp10b/gr/fecs_data.bin b/nvidia/gp10b/gr/fecs_data.bin new file mode 100644 index 0000000..da44e38 Binary files /dev/null and b/nvidia/gp10b/gr/fecs_data.bin differ diff --git a/nvidia/gp10b/gr/fecs_inst.bin b/nvidia/gp10b/gr/fecs_inst.bin new file mode 100644 index 0000000..dec162d Binary files /dev/null and b/nvidia/gp10b/gr/fecs_inst.bin differ diff --git a/nvidia/gp10b/gr/fecs_sig.bin b/nvidia/gp10b/gr/fecs_sig.bin new file mode 100644 index 0000000..fbdae6e Binary files /dev/null and b/nvidia/gp10b/gr/fecs_sig.bin differ diff --git a/nvidia/gp10b/gr/gpccs_bl.bin b/nvidia/gp10b/gr/gpccs_bl.bin new file mode 100644 index 0000000..7d4d078 Binary files /dev/null and b/nvidia/gp10b/gr/gpccs_bl.bin differ diff --git a/nvidia/gp10b/gr/gpccs_data.bin b/nvidia/gp10b/gr/gpccs_data.bin new file mode 100644 index 0000000..4b46d72 Binary files /dev/null and b/nvidia/gp10b/gr/gpccs_data.bin differ diff --git a/nvidia/gp10b/gr/gpccs_inst.bin b/nvidia/gp10b/gr/gpccs_inst.bin new file mode 100644 index 0000000..dd13acb Binary files /dev/null and b/nvidia/gp10b/gr/gpccs_inst.bin differ diff --git a/nvidia/gp10b/gr/gpccs_sig.bin b/nvidia/gp10b/gr/gpccs_sig.bin new file mode 100644 index 0000000..3eaad83 Binary files /dev/null and b/nvidia/gp10b/gr/gpccs_sig.bin differ diff --git a/nvidia/gp10b/gr/sw_bundle_init.bin b/nvidia/gp10b/gr/sw_bundle_init.bin new file mode 100644 index 0000000..ef5d650 Binary files /dev/null and b/nvidia/gp10b/gr/sw_bundle_init.bin differ diff --git a/nvidia/gp10b/gr/sw_ctx.bin b/nvidia/gp10b/gr/sw_ctx.bin new file mode 100644 index 0000000..c8c1f9d Binary files /dev/null and b/nvidia/gp10b/gr/sw_ctx.bin differ diff --git a/nvidia/gp10b/gr/sw_method_init.bin b/nvidia/gp10b/gr/sw_method_init.bin new file mode 100644 index 0000000..e5b9583 Binary files /dev/null and b/nvidia/gp10b/gr/sw_method_init.bin differ diff --git a/nvidia/gp10b/gr/sw_nonctx.bin b/nvidia/gp10b/gr/sw_nonctx.bin new file mode 100644 index 0000000..f7bf349 Binary files /dev/null and b/nvidia/gp10b/gr/sw_nonctx.bin differ diff --git a/nvidia/gp10b/pmu/desc.bin b/nvidia/gp10b/pmu/desc.bin new file mode 100644 index 0000000..ced339b Binary files /dev/null and b/nvidia/gp10b/pmu/desc.bin differ diff --git a/nvidia/gp10b/pmu/image.bin b/nvidia/gp10b/pmu/image.bin new file mode 100644 index 0000000..2aa0901 Binary files /dev/null and b/nvidia/gp10b/pmu/image.bin differ diff --git a/nvidia/gp10b/pmu/sig.bin b/nvidia/gp10b/pmu/sig.bin new file mode 100644 index 0000000..74270aa Binary files /dev/null and b/nvidia/gp10b/pmu/sig.bin differ diff --git a/nvidia/gv100/acr/bl.bin b/nvidia/gv100/acr/bl.bin new file mode 100644 index 0000000..788100b Binary files /dev/null and b/nvidia/gv100/acr/bl.bin differ diff --git a/nvidia/gv100/acr/ucode_load.bin b/nvidia/gv100/acr/ucode_load.bin new file mode 100644 index 0000000..dd506f4 Binary files /dev/null and b/nvidia/gv100/acr/ucode_load.bin differ diff --git a/nvidia/gv100/acr/ucode_unload.bin b/nvidia/gv100/acr/ucode_unload.bin new file mode 100644 index 0000000..b5f188b Binary files /dev/null and b/nvidia/gv100/acr/ucode_unload.bin differ diff --git a/nvidia/gv100/acr/unload_bl.bin b/nvidia/gv100/acr/unload_bl.bin new file mode 100644 index 0000000..0cb7635 Binary files /dev/null and b/nvidia/gv100/acr/unload_bl.bin differ diff --git a/nvidia/gv100/gr/fecs_bl.bin b/nvidia/gv100/gr/fecs_bl.bin new file mode 100644 index 0000000..b2b9a25 Binary files /dev/null and b/nvidia/gv100/gr/fecs_bl.bin differ diff --git a/nvidia/gv100/gr/fecs_data.bin b/nvidia/gv100/gr/fecs_data.bin new file mode 100644 index 0000000..34fe2d5 Binary files /dev/null and b/nvidia/gv100/gr/fecs_data.bin differ diff --git a/nvidia/gv100/gr/fecs_inst.bin b/nvidia/gv100/gr/fecs_inst.bin new file mode 100644 index 0000000..1ce088a Binary files /dev/null and b/nvidia/gv100/gr/fecs_inst.bin differ diff --git a/nvidia/gv100/gr/fecs_sig.bin b/nvidia/gv100/gr/fecs_sig.bin new file mode 100644 index 0000000..a63a351 Binary files /dev/null and b/nvidia/gv100/gr/fecs_sig.bin differ diff --git a/nvidia/gv100/gr/gpccs_bl.bin b/nvidia/gv100/gr/gpccs_bl.bin new file mode 100644 index 0000000..e924af4 Binary files /dev/null and b/nvidia/gv100/gr/gpccs_bl.bin differ diff --git a/nvidia/gv100/gr/gpccs_data.bin b/nvidia/gv100/gr/gpccs_data.bin new file mode 100644 index 0000000..f55a663 Binary files /dev/null and b/nvidia/gv100/gr/gpccs_data.bin differ diff --git a/nvidia/gv100/gr/gpccs_inst.bin b/nvidia/gv100/gr/gpccs_inst.bin new file mode 100644 index 0000000..bbf851a Binary files /dev/null and b/nvidia/gv100/gr/gpccs_inst.bin differ diff --git a/nvidia/gv100/gr/gpccs_sig.bin b/nvidia/gv100/gr/gpccs_sig.bin new file mode 100644 index 0000000..9d4038a Binary files /dev/null and b/nvidia/gv100/gr/gpccs_sig.bin differ diff --git a/nvidia/gv100/gr/sw_bundle_init.bin b/nvidia/gv100/gr/sw_bundle_init.bin new file mode 100644 index 0000000..b4f4e53 Binary files /dev/null and b/nvidia/gv100/gr/sw_bundle_init.bin differ diff --git a/nvidia/gv100/gr/sw_ctx.bin b/nvidia/gv100/gr/sw_ctx.bin new file mode 100644 index 0000000..768124c Binary files /dev/null and b/nvidia/gv100/gr/sw_ctx.bin differ diff --git a/nvidia/gv100/gr/sw_method_init.bin b/nvidia/gv100/gr/sw_method_init.bin new file mode 100644 index 0000000..17b0dfc Binary files /dev/null and b/nvidia/gv100/gr/sw_method_init.bin differ diff --git a/nvidia/gv100/gr/sw_nonctx.bin b/nvidia/gv100/gr/sw_nonctx.bin new file mode 100644 index 0000000..25f9282 Binary files /dev/null and b/nvidia/gv100/gr/sw_nonctx.bin differ diff --git a/nvidia/gv100/nvdec/scrubber.bin b/nvidia/gv100/nvdec/scrubber.bin new file mode 100644 index 0000000..4308b66 Binary files /dev/null and b/nvidia/gv100/nvdec/scrubber.bin differ diff --git a/nvidia/gv100/sec2/desc.bin b/nvidia/gv100/sec2/desc.bin new file mode 100644 index 0000000..598ba65 Binary files /dev/null and b/nvidia/gv100/sec2/desc.bin differ diff --git a/nvidia/gv100/sec2/image.bin b/nvidia/gv100/sec2/image.bin new file mode 100644 index 0000000..0830bf4 Binary files /dev/null and b/nvidia/gv100/sec2/image.bin differ diff --git a/nvidia/gv100/sec2/sig.bin b/nvidia/gv100/sec2/sig.bin new file mode 100644 index 0000000..d048599 Binary files /dev/null and b/nvidia/gv100/sec2/sig.bin differ diff --git a/nvidia/tegra124/vic03_ucode.bin b/nvidia/tegra124/vic03_ucode.bin new file mode 100644 index 0000000..bccefbd Binary files /dev/null and b/nvidia/tegra124/vic03_ucode.bin differ diff --git a/nvidia/tegra124/xusb.bin b/nvidia/tegra124/xusb.bin new file mode 100644 index 0000000..7bdb627 Binary files /dev/null and b/nvidia/tegra124/xusb.bin differ diff --git a/nvidia/tegra186/vic04_ucode.bin b/nvidia/tegra186/vic04_ucode.bin new file mode 100644 index 0000000..b56957e Binary files /dev/null and b/nvidia/tegra186/vic04_ucode.bin differ diff --git a/nvidia/tegra186/xusb.bin b/nvidia/tegra186/xusb.bin new file mode 100644 index 0000000..40cec7a Binary files /dev/null and b/nvidia/tegra186/xusb.bin differ diff --git a/nvidia/tegra194/vic.bin b/nvidia/tegra194/vic.bin new file mode 100644 index 0000000..97fe518 Binary files /dev/null and b/nvidia/tegra194/vic.bin differ diff --git a/nvidia/tegra194/xusb.bin b/nvidia/tegra194/xusb.bin new file mode 100644 index 0000000..645081a Binary files /dev/null and b/nvidia/tegra194/xusb.bin differ diff --git a/nvidia/tegra210/vic04_ucode.bin b/nvidia/tegra210/vic04_ucode.bin new file mode 100644 index 0000000..3bb8042 Binary files /dev/null and b/nvidia/tegra210/vic04_ucode.bin differ diff --git a/nvidia/tegra210/xusb.bin b/nvidia/tegra210/xusb.bin new file mode 100644 index 0000000..10365f1 Binary files /dev/null and b/nvidia/tegra210/xusb.bin differ diff --git a/nvidia/tu102/acr/bl.bin b/nvidia/tu102/acr/bl.bin new file mode 100644 index 0000000..788100b Binary files /dev/null and b/nvidia/tu102/acr/bl.bin differ diff --git a/nvidia/tu102/acr/ucode_ahesasc.bin b/nvidia/tu102/acr/ucode_ahesasc.bin new file mode 100644 index 0000000..8ade852 Binary files /dev/null and b/nvidia/tu102/acr/ucode_ahesasc.bin differ diff --git a/nvidia/tu102/acr/ucode_asb.bin b/nvidia/tu102/acr/ucode_asb.bin new file mode 100644 index 0000000..d7e4ab8 Binary files /dev/null and b/nvidia/tu102/acr/ucode_asb.bin differ diff --git a/nvidia/tu102/acr/ucode_unload.bin b/nvidia/tu102/acr/ucode_unload.bin new file mode 100644 index 0000000..6a5dc1b Binary files /dev/null and b/nvidia/tu102/acr/ucode_unload.bin differ diff --git a/nvidia/tu102/acr/unload_bl.bin b/nvidia/tu102/acr/unload_bl.bin new file mode 100644 index 0000000..0cb7635 Binary files /dev/null and b/nvidia/tu102/acr/unload_bl.bin differ diff --git a/nvidia/tu102/gr/fecs_bl.bin b/nvidia/tu102/gr/fecs_bl.bin new file mode 100644 index 0000000..b2b9a25 Binary files /dev/null and b/nvidia/tu102/gr/fecs_bl.bin differ diff --git a/nvidia/tu102/gr/fecs_data.bin b/nvidia/tu102/gr/fecs_data.bin new file mode 100644 index 0000000..4857aff Binary files /dev/null and b/nvidia/tu102/gr/fecs_data.bin differ diff --git a/nvidia/tu102/gr/fecs_inst.bin b/nvidia/tu102/gr/fecs_inst.bin new file mode 100644 index 0000000..43b6e54 Binary files /dev/null and b/nvidia/tu102/gr/fecs_inst.bin differ diff --git a/nvidia/tu102/gr/fecs_sig.bin b/nvidia/tu102/gr/fecs_sig.bin new file mode 100644 index 0000000..d2dd3f1 Binary files /dev/null and b/nvidia/tu102/gr/fecs_sig.bin differ diff --git a/nvidia/tu102/gr/gpccs_bl.bin b/nvidia/tu102/gr/gpccs_bl.bin new file mode 100644 index 0000000..e924af4 Binary files /dev/null and b/nvidia/tu102/gr/gpccs_bl.bin differ diff --git a/nvidia/tu102/gr/gpccs_data.bin b/nvidia/tu102/gr/gpccs_data.bin new file mode 100644 index 0000000..e82820a Binary files /dev/null and b/nvidia/tu102/gr/gpccs_data.bin differ diff --git a/nvidia/tu102/gr/gpccs_inst.bin b/nvidia/tu102/gr/gpccs_inst.bin new file mode 100644 index 0000000..b8ee741 Binary files /dev/null and b/nvidia/tu102/gr/gpccs_inst.bin differ diff --git a/nvidia/tu102/gr/gpccs_sig.bin b/nvidia/tu102/gr/gpccs_sig.bin new file mode 100644 index 0000000..26594b3 Binary files /dev/null and b/nvidia/tu102/gr/gpccs_sig.bin differ diff --git a/nvidia/tu102/gr/sw_bundle_init.bin b/nvidia/tu102/gr/sw_bundle_init.bin new file mode 100644 index 0000000..8f8ccd9 Binary files /dev/null and b/nvidia/tu102/gr/sw_bundle_init.bin differ diff --git a/nvidia/tu102/gr/sw_ctx.bin b/nvidia/tu102/gr/sw_ctx.bin new file mode 100644 index 0000000..1a94830 Binary files /dev/null and b/nvidia/tu102/gr/sw_ctx.bin differ diff --git a/nvidia/tu102/gr/sw_method_init.bin b/nvidia/tu102/gr/sw_method_init.bin new file mode 100644 index 0000000..641c132 Binary files /dev/null and b/nvidia/tu102/gr/sw_method_init.bin differ diff --git a/nvidia/tu102/gr/sw_nonctx.bin b/nvidia/tu102/gr/sw_nonctx.bin new file mode 100644 index 0000000..05bc4a6 Binary files /dev/null and b/nvidia/tu102/gr/sw_nonctx.bin differ diff --git a/nvidia/tu102/gr/sw_veid_bundle_init.bin b/nvidia/tu102/gr/sw_veid_bundle_init.bin new file mode 100644 index 0000000..a8d59ef Binary files /dev/null and b/nvidia/tu102/gr/sw_veid_bundle_init.bin differ diff --git a/nvidia/tu102/nvdec/scrubber.bin b/nvidia/tu102/nvdec/scrubber.bin new file mode 100644 index 0000000..0016ed0 Binary files /dev/null and b/nvidia/tu102/nvdec/scrubber.bin differ diff --git a/nvidia/tu102/sec2/desc.bin b/nvidia/tu102/sec2/desc.bin new file mode 100644 index 0000000..df0d4aa Binary files /dev/null and b/nvidia/tu102/sec2/desc.bin differ diff --git a/nvidia/tu102/sec2/image.bin b/nvidia/tu102/sec2/image.bin new file mode 100644 index 0000000..740b3e6 Binary files /dev/null and b/nvidia/tu102/sec2/image.bin differ diff --git a/nvidia/tu102/sec2/sig.bin b/nvidia/tu102/sec2/sig.bin new file mode 100644 index 0000000..17e2146 Binary files /dev/null and b/nvidia/tu102/sec2/sig.bin differ diff --git a/nvidia/tu104/gr/fecs_data.bin b/nvidia/tu104/gr/fecs_data.bin new file mode 100644 index 0000000..d75b861 Binary files /dev/null and b/nvidia/tu104/gr/fecs_data.bin differ diff --git a/nvidia/tu104/gr/fecs_inst.bin b/nvidia/tu104/gr/fecs_inst.bin new file mode 100644 index 0000000..18b04e6 Binary files /dev/null and b/nvidia/tu104/gr/fecs_inst.bin differ diff --git a/nvidia/tu104/gr/fecs_sig.bin b/nvidia/tu104/gr/fecs_sig.bin new file mode 100644 index 0000000..01f9684 Binary files /dev/null and b/nvidia/tu104/gr/fecs_sig.bin differ diff --git a/nvidia/tu104/gr/gpccs_data.bin b/nvidia/tu104/gr/gpccs_data.bin new file mode 100644 index 0000000..ed3ecf4 Binary files /dev/null and b/nvidia/tu104/gr/gpccs_data.bin differ diff --git a/nvidia/tu104/gr/gpccs_inst.bin b/nvidia/tu104/gr/gpccs_inst.bin new file mode 100644 index 0000000..bbf04c4 Binary files /dev/null and b/nvidia/tu104/gr/gpccs_inst.bin differ diff --git a/nvidia/tu104/gr/gpccs_sig.bin b/nvidia/tu104/gr/gpccs_sig.bin new file mode 100644 index 0000000..c836412 Binary files /dev/null and b/nvidia/tu104/gr/gpccs_sig.bin differ diff --git a/nvidia/tu104/gr/sw_bundle_init.bin b/nvidia/tu104/gr/sw_bundle_init.bin new file mode 100644 index 0000000..8f8ccd9 Binary files /dev/null and b/nvidia/tu104/gr/sw_bundle_init.bin differ diff --git a/nvidia/tu104/gr/sw_ctx.bin b/nvidia/tu104/gr/sw_ctx.bin new file mode 100644 index 0000000..1a94830 Binary files /dev/null and b/nvidia/tu104/gr/sw_ctx.bin differ diff --git a/nvidia/tu104/gr/sw_method_init.bin b/nvidia/tu104/gr/sw_method_init.bin new file mode 100644 index 0000000..641c132 Binary files /dev/null and b/nvidia/tu104/gr/sw_method_init.bin differ diff --git a/nvidia/tu104/gr/sw_nonctx.bin b/nvidia/tu104/gr/sw_nonctx.bin new file mode 100644 index 0000000..9bc0bd8 Binary files /dev/null and b/nvidia/tu104/gr/sw_nonctx.bin differ diff --git a/nvidia/tu104/gr/sw_veid_bundle_init.bin b/nvidia/tu104/gr/sw_veid_bundle_init.bin new file mode 100644 index 0000000..a8d59ef Binary files /dev/null and b/nvidia/tu104/gr/sw_veid_bundle_init.bin differ diff --git a/nvidia/tu106/gr/fecs_data.bin b/nvidia/tu106/gr/fecs_data.bin new file mode 100644 index 0000000..699ecdc Binary files /dev/null and b/nvidia/tu106/gr/fecs_data.bin differ diff --git a/nvidia/tu106/gr/fecs_inst.bin b/nvidia/tu106/gr/fecs_inst.bin new file mode 100644 index 0000000..7bf22a3 Binary files /dev/null and b/nvidia/tu106/gr/fecs_inst.bin differ diff --git a/nvidia/tu106/gr/fecs_sig.bin b/nvidia/tu106/gr/fecs_sig.bin new file mode 100644 index 0000000..9d84a97 Binary files /dev/null and b/nvidia/tu106/gr/fecs_sig.bin differ diff --git a/nvidia/tu106/gr/gpccs_data.bin b/nvidia/tu106/gr/gpccs_data.bin new file mode 100644 index 0000000..7f2694f Binary files /dev/null and b/nvidia/tu106/gr/gpccs_data.bin differ diff --git a/nvidia/tu106/gr/gpccs_inst.bin b/nvidia/tu106/gr/gpccs_inst.bin new file mode 100644 index 0000000..823b6ab Binary files /dev/null and b/nvidia/tu106/gr/gpccs_inst.bin differ diff --git a/nvidia/tu106/gr/gpccs_sig.bin b/nvidia/tu106/gr/gpccs_sig.bin new file mode 100644 index 0000000..7cb1a06 Binary files /dev/null and b/nvidia/tu106/gr/gpccs_sig.bin differ diff --git a/nvidia/tu106/gr/sw_bundle_init.bin b/nvidia/tu106/gr/sw_bundle_init.bin new file mode 100644 index 0000000..8f8ccd9 Binary files /dev/null and b/nvidia/tu106/gr/sw_bundle_init.bin differ diff --git a/nvidia/tu106/gr/sw_ctx.bin b/nvidia/tu106/gr/sw_ctx.bin new file mode 100644 index 0000000..1a94830 Binary files /dev/null and b/nvidia/tu106/gr/sw_ctx.bin differ diff --git a/nvidia/tu106/gr/sw_method_init.bin b/nvidia/tu106/gr/sw_method_init.bin new file mode 100644 index 0000000..641c132 Binary files /dev/null and b/nvidia/tu106/gr/sw_method_init.bin differ diff --git a/nvidia/tu106/gr/sw_nonctx.bin b/nvidia/tu106/gr/sw_nonctx.bin new file mode 100644 index 0000000..05bc4a6 Binary files /dev/null and b/nvidia/tu106/gr/sw_nonctx.bin differ diff --git a/nvidia/tu106/gr/sw_veid_bundle_init.bin b/nvidia/tu106/gr/sw_veid_bundle_init.bin new file mode 100644 index 0000000..a8d59ef Binary files /dev/null and b/nvidia/tu106/gr/sw_veid_bundle_init.bin differ diff --git a/nvidia/tu10x/typec/ccg_boot.cyacd b/nvidia/tu10x/typec/ccg_boot.cyacd new file mode 100644 index 0000000..569c58e --- /dev/null +++ b/nvidia/tu10x/typec/ccg_boot.cyacd @@ -0,0 +1,173 @@ +1F0511AF0000 +:000014010043D9D2D9B9D53546EEA5CFC6AAC56A51CB000000000000000000000000000000000000000000000000000000000000000000000000000000000100000004000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ACB7F3340 +:0000150100CF0B15921D7414A5C70C3ADEFE16E1BB4562C33D64127EA7D4E5FDF95EBDCBC307E6A6C753AB43EE4F1E542DCB78EC322A21351EE511E53057FF7A5DC72F96888FB1972A705B601EB7D68DB62A38F01F33585C1060A6C76760BEFA94BF4531D01A91D4B3E2C08F978E3F99195180A10FC6DC2A4B4F88131F5987A53E283CCA3B0B6A51EF7D104A1406E7C1144270238EAA5EF9A6277C38EF7794C2BBB0963D4D859D355ACBCD03FFAFA1E814381116C14557A0E3E9F76E5AD33621941DC37DFA5BA10AB33F26E24B8BE50B0F724B6E2CEE4DD6DC875E3C847F518B06A60E0ABBC54442CE26FD4C08B279A0515C7B0D98D1E06B3B380FE657F8A96D02EF5EDE88FC +:000016010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E9 +:000017010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E8 +:000018010000200020011D00009D3700009D3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029000231766E0100AF11041F0000000000000000000000000000000000000000BD +:00001901005943040000200004A53CB4040100010000020B000000000000000000000000000C0214000000000000000000200218000000000000000000E80300000000000001010200000001150001810203070100000001000000000000000000000000002C9101080000000000000000000000000000000000000000000000005A9001265A30429A00000000000000000000000000000000000000005A005A00000000000000000000000000030038023C020000000000000000000000000000000000003C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E1 +:00001A010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E5 +:00001B0100B404D4F6437970726573730014000000418000FFB4040002000000000000D4F6B404D4F6000000000101000000020000000000000001003C0414000208140A02320100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E9 +:00001C010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3 +:00001D010010B5044B83F30888034A044B1A6002F01FF9C046002000206588EDAC3800034010B5064C2378002B07D1054B002B02D0044800E000BF0123237010BD1801002000000000C0B80000084B10B5002B03D00749084800E000BF07480368002B00D110BD064B002BFBD09847F9E7000000001C010020C0B80000900000200000000010B504290DD10022064B1A548123064A5B04194383009950044A9B58002B00D0984710BDC403002034010020C803002070470000002804D1FD23024A11680B401360704700030440002806D1034902300A688243D3B203430B6070470003044048234343084AD31800223F331A70904209D1FD23054A11680B401360BF23044A16 +:00001E010011680B4013607047600700200001044000020440D023064A5B00002902D1D158022001E00420D1588143D1507047C04600000A407422F0B542438F4987B08A18D36E040002931B79002B00D009E10298303240881278894DA84204D00133DBB29342F9D9FDE0FF2B00D1FAE07422130001206343C854F0236343814920335B180593002300920193029B019A5B79934200D8E6E0009B002663430393039A764B9D18019B029A02339B009B58AB60FF23EF7AAB70B74200D081E06F4B039A3E00D35C0493012B7AD15B3363436D4A39009E183000302209F01DFCAF70200002F07FFE3300AA684B331F70049FD2B21740012F01D0052341E0039B5F4908335B180B +:00001F010059789878059BA0331D783300EDB23D331D700133520601D5187000E019705C226243584B04279A1811003E31097818000D403D4202D04932177009E010231D4201D0493203E008231942D3D04A3213700822114204D05C236343C3184A330BE05C23202163430D4203D0C3184A33197003E0FF22C3184A331A7004235C226243404881180D0034352B703B4D052B06D10B22009B00266343EB181A740FE0009B6343EB18DB6800250B650B004C331D7001230B71DB181354200002F04BFE009B2D4A6343D3189878FF2845D01A7C002A01D000221A74002E3ED0019B721D013373710023F071D377029A23495288264D0392009AAC4662438A183032127804923C +:00002001001A000499DDB28D4226D267463F5D002F03D01E4FDA00D21901E0002A06D0178803998F4202D19778874201D00133E8E7FF2D11D0FF221340E23A6243D2180E49083292008E50009A62438A18012199400B0051690B435361019B0133DBB2019312E7742307205C43034B1C19703423780133237007B0F0BDB801002001FF00000019000068030020741000202CB90000F7B57424072344432649274F0C19E370E36801910093230070331A780099131D5B00CB189D88002D2AD03B5C1F495E1EB3418C460026DBB29E422CD201266545FAD174235843019B19180020CB6E1860CC68703109780A1D1F215200A218928818715A801A7858718A431C390A431A709A +:00002101005A7804318A4387390A435A7006230FE062690523002A0BD002F08CFE012368342370063304E02300013270331A70BAE71800FEBDB80100207410002001FF00004823F0B5434387B00592834A0500D318180000222D3002700C89804A224080242402A24200D0EBE0012201388C68027080203E324042224002431C611A740A7A9F301040062800D0C6E038331B78012B00D0C1E0D2064889D70E4A7A8B68520784466F48520F140203402343019018040CD5032F00DCAFE074206843694C2018694C3030665D741EA6410670742068430290029C634800193030007814020490002003940090684604780498844200D392E00098029C860036195A4C3419246AF1 +:0000220100002C68D06689664565D16679964204D1601CC07F002812D17EE0A61CF67F002EF6D1E61CF67F002E55D07F20019E3340039E33431E04360E86434CD1E8E71F200726834301983B4303406046324017023B4307041F209BB23B43A3604F781840013F2776062809D1A01CC07F002805D01B0403D5637AB3431A4362724A78012A0AD9237901339A4206D8384B0C31D2189200E06809F035FA012328002370E36998472378052B37D0482068432A4BC018637ADB0901D1A36803610200237E2C3201331370227E002A26D09200E168143009F017FA20E01F20834301983B4303400398234E034323481E40864210D1668966450DD1661CF67F002E09D01F22237A7A +:000023010028009343183A13432372E369984703E000980130009066E748236B430E4A0121D3181A002D32117019003A331A780323602013405A014B7C834313434B7401E00223037048236B430349103359182800059B984707B0F0BD60070020C080FFFFFFF8FFFFB801002074100020FFFFFF3F1F8700000587000010B504F0F5FAD02370300178044A5B00D058002901D1800700E04007C00F10BD00000A40F8B548244443174F05003C1921860E0004F0DCFA228E638E3C009A4205D2C8239B009E4201D07230037804F060FA002D14D1238E0C4A934210D004D80B4A93420CD00B4A06E00B4A934207D00A4A934204D00A4A934201D0094B238604F04BFAF8BDC0462C +:000024010060070020C832000028230000E02E0000384A0000204E0000983A00008813000070B50400150004F0A9FA48236343074A0321D318002800D00421197348216143083151182000A84770BDC0466007002010B50400012101F09BFE00220121200001F030FE03009A2040006043044A10180B22FE30008B50435843000A80B210BD34020020D02310B50A4A04005B00002902D1D158022001E00420D1580143D1502000012104F070FC0221200004F06CFC10BDC04600000A40F8B507000C00052901D900206FE004F081FA0500002FF8D1002C21D0344AC301127923439342F0D0032C33D0042C21D0022C57D121000601F6B23143802002F0EEFA0121842002F072 +:0000250100EAFA032002F08CFF012731008020394302F0E1FA390004E02100802002F0DBFA0121842002F0D7FA060035E002210601F6B23143802002F0CEFA0121842002F0CAFA032002F06CFF06210EE002210601F6B23143802002F0BEFA0121842002F0BAFA200002F05CFF07213143802002F0B2FA0121842002F0AEFA5B210600380003F084FF002803D00221A02002F0A3FA5B21002003F0C8FF002E92D00120ED01014B2C431C71F8BD34010020F7B50E000400150004F0D8F90300701E222800D9ADE008F08FFD4481448181ACACACAC4437ACACACACACAC39ACAC3989ACACAC4412ACACACACACACAC310000224C4B4D484D491A6008604D494D4808604D490A600D +:000026010080211A6809060A431A60002C5CD12100802002F060FA0121842002F05CFA002852D0454B1C714FE0002202212000FFF743FF74E0012700E0002776331B780125002B06D03500153D6B425D4101E000252F0048236343394A0020D31819003E31087038331B780192834202D0200002F06FFA002F02D00022022103E0002D04D12A0029002000FFF717FF032E01D01A2E0BD148236343019AD3183C331B785BB2002B02DB200004F073FB122E37D148236343019AD3183C331B785BB2002B2EDB200004F065FB2AE048235C431B4B1C1900233E34237022E04823634317490020CB181A003A3210702A7902308243012A15D1134A125D002A03D03E331B78002B7E +:00002701000DD1482254430B19190038310A78002A05D101200B4D3E33605508701A70F7BD00000840770800806000084000020840070100800402084034010020600700207410002070010020F7B50E0024221E21040001F0D7FB482363431F4D1F49EB185B8E20008B4205D8FFF73AFB142002F051FE01E0FFF712FE04F087F84823C822634392001F00EB1801905A86002E19D0200004F0E9F887300378002B12D02000FFF712FB9622EE510D4D92002B002121200003F0DDFE2B0003222221200003F0D7FE05E02000FFF70BFB2000FFF7F2FA019804F05EF8F7BD60070020881300007D290000F8B50E00040004F0BDF8050004F04BF8242207001E21200001F082FB5A +:00002801002B0087331B78002B45D0A1352B78002B41D12000FFF7CEFA48236343204DEB183F331A78002A14D101321A70002C10D10A2002F0EFFD40201A490A688243D3B203430B6018493E380A688243D3B203430B60002E1FD048236343EB181A00012142321170598E1B8E994204D9002320001370FFF7A9FA48236343EE500B4DFA222B001E21200003F073FE2B0001221F21200003F06DFE380003F0FBFFF8BDC0466007002000020440000104407D290000F0B50E0085B001211400050001F068FC6421300008F0ACFC9A235B006B436043274A3018D318FE331C8BC343DB1718400B2108F09DFCA4B22100000208F00EFC0400032803D9FE2802D9FE2400E00424E3 +:000029010003F0C3FFC42580271A4E03906D007359BF003C4301930A20745102F07BFD01227359154CDB0B9A43019B02920A207351276202F06FFD236B3B4212D0019B002B0FDBA3697259DB009B0F120407D5022B07D18022A36A92001343A36201E0012BF7D0039803F095FF029805B0F0BDC0463402002000000A40FC000A401E3970B504000800062900D981E008F0ABFB0411404B5680730020221F21200001F0B2FA482363433A4AD318C82292005A863DE048226243364B374D9A181100423109781E00002908D148236343F3181A0042321278002A10D016E0118E142220005242FFF766FF0028EED01E21200003F09CFD2B005A22202139E0198E14222000FFF737 +:00002A010057FF0028F0D02B0001221F212EE0482565431F4E200073191A8E5A86FFF7CAF9AB5932E02221200003F07EFD2000FFF7D7F92000FFF7BEF929E00A2216492000FFF736FF002802D12000FFF7C9F91422C821524289002000FFF72AFF0D4B002802D10A22242101E003222221200003F07FFD0CE02121200003F056FD2000FFF799F948236343024A9B582000984770BD600700207D29000088130000C82110B5002289000400FFF703FF002808D1C6220B49520088580B4B03408B50683209E0482308216343084AD3183C331A780A431A706422054B2E21200003F049FD10BD00000A40FFFF0FFF60070020F12A0000C82170B5002289000400FFF7D9FE0028AA +:00002B010027D1482308216343154AD3183C331D780D400BD01A788A431A70C622114952008858114B03408B50683213E07F22197820000A401A7004F02BF92900200000F0C5FE2000012100F0C1FE200003F0CEFE05E06422054B2E21200003F009FD70BD6007002000000A40FFFF0FFFF12A000001225C4BF0B51A7091235B4C91B05B48237003F009FE002804D0594803F0F4FD02F05EFC0122574B0C255A6204329A62013ADA62544A554B116855480B40C021C9010B431360534BFF211B68524B1B6800232A005A430133821891721F2BF8D100234E4A4E4913704E4A4F4813704F4A53504F4950504F494F4A116062B61722FF214E4E490032804D4A142511804D4AB2 +:00002C0100EC39FF39118001224B494C4F0A704C4A4C49137005A804223D8008F072FD0422494906A808F06DFD0422484907A808F068FD0422464908A808F063FDA0235B011B783D4A009701960292432B09D1280002F0AEFB3F4B1B68984202D116236570A370B0235B011B78432B0BD1162002F09FFB394B1B68984204D16378163363701423A3706378162B6CD9A0235B01996B324A0B0A117809061943B0235B019B6B1A0A2F4B1B781B061343994203D914236370023304E099420BD216236370023BA370A578280003F057FD681C03F054FD48E0069B089A9342E9D8059B079A9342E5D8EAE7AA0000204401002000190000FF010000FC00014000010240FF0FFFFFE5 +:00002D0100A0090020E80F00F0EC0F00F03102002010D00000320200207FBB0000001000E014D00000193700003C000020B0000020B2000020AC000020200B0020AE000020FC05002011140000151400001116000015160000FC140000FC1600003C1400003C1600006578002D05D02902201D4131042208F0C6FCC34FC34B3A683E00C34F9A422BD0380003F035FD0400601E84417B68E4001B02180C431CE4B298B2002C1CD1002D1AD0BB68397B1B0A0906194308AA03F015F8029B29021C70B44B1931202208A81C7008F08DFC002806D13B6838791B0A0006184301F07CFE00233360009AC7331380FE23019AFF331380FF22A84B52001A80A84BEC3AFF3AA74C1A8017 +:00002E01002368A74AA74D13408022134323602B687C3A9343DBB213432B60052002F0FAFA4022A14E336800925B0716D523689C4A05201340C022134323602B68BC3A9343DBB22B6002F0E6FA4222336800929B08413A134201D1082300932368904A934813406A4623601278914B00241A728022904B52001A80904BED3A1A808F4B904A1C70904B21001A609022520008F042FC8D4D21000C22280008F03CFC844B202609332B609123894AAE809B00D55821008022874808F02EFC1322854B80215D809A803A331E70824A824BE536D363130001222C331A7094466A46774B1278FF369A707D4B7D4A1C601A66C12249029200DC66995199507A49F4205C500121FE2572 +:00002F010049420001195077482D041C500838195075481C50083819500098196840002843C425AD0001915851C0210820113DFF3DFF3089005851585001996C480143604619606B4908700220C870087157488C82886090204000888166480861684600784870FE20887004219951995098586249084098509A5908A81140422299515849FF325A506146584A995080215B4A5C4B49041A605B4B5C4A1D60484B1B78D35C5A4A9B009A5893680B4393602100082208F0B0FB354803F01DFC534B3C4D0293431E9841424C2B78C00023703A4E607008AB082805D07B681B021B0C1B02E133FF334B48009384467968E02067460902090C4B1C474A019352681202130C06C828 +:000030010006C75A1C1002E0300AC80AC73800009B82CB82C06B469B88697863853E4B22851970AA783D4B09021A703D4B6A6811311A603C48082208F064FB3B4B3B491A003B4873608B4201D801C3FBE79B1A9BB26B856B8D3749E386374B384D18680B600022A84206D1364F58689A68C01947424741D2191869A84264D00020D8602F48186162E0801B0020544C414AC0FE0100FC050020B2000020AC000020080104403FFEFFFF0001044004010440D803002044010020A800002094000020F804002092080020D0030020140B002000F0FF0F14080020220300000000054088280040480F0000880F0000C80F000000010080A8070020F5510000FFFFFEFFF96300005E +:00003101006400002000E100E0CCB8000080B9000024080020C0FF0100480700205C0700204C0700206A080020941B00207F1F002000555500A0000020801B0020EFBEADDEF4CFFC3FD8680130D8601D600B6800219A605960BC4B33813389A386FF2A00D9FF22230002993233043100201A7003F093FB802002F0D8FE6425B44B1B78002B01D002F055FA013D0120EDB202F048F9002DF2D1AE4BAF4AC22128002C3403F0E7F92378DB0702D5280003F09FFB0023009332330293002003F0B4FBA64D02262C003C34237833420DD0A44A0321002003F0A4FD0F2806D02378B343237080232278134323702B0038331B78002B00D105E22821002003F049F9002800D0FEE160 +:0000320100974E33002C331B783400581E0193062800D9F4E107F070FF070015007700A001E4012E01D001002001F07AFC330000222C335A708B4B1A780223002A60D103335EE035002C356F78002003F08DFB002F02D0012F16D052E03A00834B20356B802033FF339A431300012213432B7033003233DF7733003133DF7780235B426B7086333DE0774B1B78002B38D03300002271331A703300002272331A70336E7363736D336333005733197838230B40282B04D1330060331B78DB0618D4030079331B78002B05D00300B9331A7818231A420DD1D02370300078644A5B00002802D1D058022501E00425D058A843D0504B0705D5230000222C335A70032300E0052372 +:00003301002C3423707BE137002C377D78002003F02BFB012D1AD0002D03D0022D00D189E08CE02A00504B20377B802033FF339A431300022213433B7033003133DD77802332345B42E5777B70863378E0454B1B78002B73D0736D013370D03300002071331A783300052106003233DB7F03953C4D994240415B000193FF27AB1C31009C46C0B27F42019B994225DA4B080A339B00039EE318DB6A314201D11B0C00E09BB2022A17DC002B11D0AE8F9E420FD0EE8F9E420CD06646F68F9E4208D02E1DF68F9E4204D02A4EB34201D180E101200131C9B2D7E701200024214B510059188C871C001D007134227019001C0072352A7831310132D2B232342A70092A01D800282E +:000034010005D00022164B2C335A70042317E00500154A4C335A802032FF3295432A0002252A431A700022CA7780225242E0775A70062304E03134E37F012BE2D00523084A2C321370DBE0C046DC050000F904002065660000EE020000600700209D2A0000440100207410002000FFFFFF00000A4001FF000033003133DA7F3300A8331A703300310037003233DB7FAC3101330B70F36CB8373B6033004D331B788F4EDB092BD03F234C3421780B402370002A03D12B003A331A7804E0002003F055FA7C3002780323602113405A017B788B4313437B70330032004C331B78B432DB06DB0E052B03D0062B03D0042B03D12D2302E0002300E01923137002E01923B434237092 +:000035010033003233DA7F002A0CD0370034000023920074372C34E018806AF918043388649A42F8D1330070331B784135093B5A1E934132002B70A832694B0C21002003F0B3FB431E9841019B4042034001936B461B792C36337052E0624B31001B7874311800421E90413200A432107032003000E0324C301060B28F002B12D00523002A17D03200331D3032DA6701234B7033000022DC331A70544B3B35C2331B782B7006E00523002A04D133000132DC331A7007232C34237010E03300DC331B782C3462789B009B18494A9B00D3181B6C0020984720700638012811D8002363700EE02B0000223E331A702B0038331B78002B02D0002001F0ACFA01233E352B703C4BE1 +:000036010068331B783B4B1B78002B01D002F010F8394D3A4F2B893E689BB2019302F02EFC374C384B6643F618019B3618B34207D93E6802F023FC7443324BE418001900E0288980B228812B892F4CC221A386002318003B6002F068FF2C4B2A4AC221002002F086FF69682A4A0B002A48834204D81868904201D10433F7E7184A5B1A508D984200D8538D9BB25385538DE386029B002B02D0013BDBB28CE5009B002B00D089E5180003F060F971300378002B07D0FA22009B52005B21180002F059FF03E00221A02001F007FA0123009373E55300EB1801329F87D2B279E6C04644010020015000007410002000190000CCB80000C4010020F9040020940000202C0B00207B +:000037010012FDFFFFEE0200001408002065660000005555007F1F0020F7B51C4B1C4AD15800920193CB0330D501230025FF27194C23700C206843184B1A18917AC9B2FF2917D0C658B44601267642B4446646C650C05800280DD197726378013BDBB26370A378013BDBB2A3705368002B01D05368984701351F2DDCD100232370A378DBB2002B02D1009A01995350F7BD10D00000001000E030020020A009002010B507F06BFF03680C2B00D1FEE7034B034A1B685A6001F04DFEFEE7A00000200C3003C0030010B588240849084A48682401C3189A1AA24201DC4B6005E007F04DFF0C2303600120404210BDA00000203811002070B52049204A0B5C002B05D11318DB7873 +:0000380100002B0CD10C2033E0002803D11B4C0825236802E010251A4C2368AB432360C024184B64001C659E6D174C184D34409C658024E4001C621E6B154C121834401C632C68144B23402B600023134D840063510B54D370984205D1104A114B11680B40136005E00F49104A0868024018000A6070BDC04608080020300200200002044000030440FC000A407FFEFFFF00000A40FFFBFFFFFFFFFF9F0C08002000020240FF0FFFFF00030240FFFFF0FFC623064A5B000420002902D1D158814301E0D1580143D1507047C04600000A40C6230A4A5B00D058002906D1084901408020D150D158400305E0064901408020D150D15880030143D150704700000A40FFFFBFFF94 +:0000390100FFFF7FFFC822034952008858024B03408B50704700000A40FFFBFFFFC623054A5B00D058002901D1034900E003490140D150704700000A40FFFFFFFEFFFFFFFDF7B5224B01911B78E52B05D1204B1B78AD2B01D11F4800E01F483F27CE251426BC461E4B6D005C596146B4435C51FF2424021D59083EB543194E1D519D598018BD439D51174D5F598F435F519F5901780F439F515E59007830435851022A04D108201A5902431A510322C62040001D580D4C01992C4092062243002901D1822100E08421C9050A431A50F7BD00F5FF0F01F5FF0F02F5FF0F79F0FF0F00000A4004FF000008FF0000FFFFFFF310B502F0F7FF030067331B78002B0ED1FF230C2465 +:00003A0100064A1B02D1586830A143D1500178032903D10820D1580143D15010BD00000A40C622802010B50C4B5200995800060143CE20142499504000195821431950083819580C3C2143195099588B38FF3881439950002010BDC04600000A40C6220E4B520098580D490140E020995099580003014399501A00FC3290690949014091619069084901409161CE21142049005A5882435A500020704700000A40FFFFF1CFFFFFF3FFFFFF7FFB054B01201A68054B1A4203D1044BDB695B0A18407047C046A4000A4007001000FC000A409A235B005843024B181808307047C046300200200A4B10B51A000A4CFC32D461D06A89002043D0620748F4330958116080211A68C6 +:00003B0100C9020A4300201A6010BDC04600000A400001040030B900009A235B005843074B074A1B1800203133FF331870054BD96A0A40DA62044ADA617047C04630020020771FAEFFFC000A4088E05100054B064A196800200A401A601968044A0A401A607047C046F4000A40FFFFFEFFFFFFEFFF104B002908D11049104A086802400A60D96A0F4A0A400FE001290ED10A490B4A086802408020C00102430A60D96A084A0A40802189000A43DA62064A0020DA617047C046FC000A40E4000A40FF00F8FFFFF5FDEF000A02109A235B005843074B074A1B1800203233FF331870054B0649DA61DA6A0A43DA627047C046300200207F0A2210FC000A40000A021010B500217E +:00003C0100FFF7B6FF044B054AD96A00200A40DA62034ADA6110BDC046FC000A40771EAAFF88E15500F7B54C4C4C4BE26A25001340E3624B4B4B4AE3619A235B004343D3181F003037FF37397849B2002905DA8022636AD201134363627CE0434909688C466646424931400CD080213A788901013A52B23A70E26A0A43E2625B680021984768E01C002E34FF34394F21703F681F002D37FF373F78002F24D0019310291CD0FC26B446019B27789C446646B669BF00BE59304B0F1DBF00DE5196267600B446019B27789C4466460137FFB22770277836780131BE42E1D804E08021EB6A49030B43EB62EB6A2449224C0B43EB629A235B001900414351182F31FF310978022537 +:00003D0100012902D16168294301E06168A9434343D31861603033194CFF3321681B78002B03D080231B03194301E0154B194080239B0219439A235B0058431018030000223133FF3330301A70FF300378013B5BB2037021600120FEBDFC000A40FFDFFFFF98E0510030020020A4000A4001001000A0000A4000000A4088C00100F4000A40FFFFF7FFF0B59A2464006043134C079F24182000FC30876130300370230005AD40CD2F332D78FF331D700D4D0D4B8800C0582B00F8331860E02301201B01334001310343090419432B003034D03352B2FF341960EE602270F0BDC0463002002000000A4030B900000221024A53688B435360704700000A4070B502F0F1FD144ABC +:00003E0100144B156801001D408223040075310978DB012B4367346630002904D12178012907D1862303E00178012902D18E23DB012B431360412208490B681B0C1B041A4323781C0203785B01234313430B6070BDE4000A40FF00F8FFF4000A400223002929D001223333FF335843144B1818144B41601A60134B043A1A60134B02321A60124A134B1A600F22124B1A60124B1E32FF325A60114A9A60D96A114A0A40DA629A6C104992B29A649A6C0A439A640E4B0E4A1A60002318007047C04630020020A8000A40AC000A40B0000A400F021000D8000A40E4000A40FC000A400A404101000408C002000F7EF0000A4041004100002310B59200934203D0CC58C4500433DA +:00003F0100F9E710BDF7B505000F00009202F0BDFCBA23060000245B006B4301930C236343019AE1B29B18094AD3189B7ADBB2BB4205D3009A934202D8280002F0C9FA01341F2CEBD1300002F0A4FCF7BDA0090020F8B500250E490F4B01394A1C14D000221F685C689E68A018B24203D0B858A0500432F8E70200DE68141AA64201D020C2FAE710330139E8E707F07CFBFEF7F0FD01000000D4BD000070B588240D00640002F01EFD0023012D00D12300C621254A490055582C4000259C4207D05558224C2C400125545054581C435450040067342178012909D18B3001781C4B890059180B7F58014B7F5B020343C62149005658EE221201134832409A4207D04558144A75 +:00004001002A40425042581343435001E0002D02D00A2001F0FFF90F4B02201A68C023DB0213408022D202934204D120780138421E904101302278012A03D15A1E93415B42184070BD00000A40EFFEFFFF30B900001FF1FFFFA4000A40F7B5060002F0C0FC030067331F78040001AD012F25D10B331B78012B16D1124B1A6806231A4204D0030090331B882B8007E003006F331F7830003900FFF780FFE855022270342378EA540AE000213000FFF776FF390004003000FFF771FF2C7068702888FEBDC046A4000A400023F0B587B002920593994208D1C02380269B04284C294D18270093760007E0C02380261B275B05254C264D0093B60002F0C9FB236803900193029B84 +:00004101005A04C023DB021340802292001343236001232A681A432A602A681A4206D0059AC72A03D8059A01320592F5E7022001F071F9019B2D680A20236001F06BF9134A2D0C1662136BEDB2334211D0019B002B0EDB936900990B402168FB40090405D4012B05D1936A1E43966201E0022BF9D0039802F08EFB280007B0F0BD80010A407C010A4088010A4084010A40FC000A4070B502220C000600FFF794FF0B4D011E0BD09620C00206F0B1FF9A2373431B1988335B0080B2EB1818819A235E433419883464002C19208980B270BD30020020CA22082170B5C6250B4C5200A3586D008B43A350635952185B005B086351A3580C318B43A350322001F00CF90A22635978 +:000042010000201343635170BD00000A40802210B5074C5203236832201343236001F0FAF880222368520213430020236010BDC046F4000A40F8B5051E0AD180222C4B2D492D48D2011A6008602C490A6040221A6080222B4C1206236808271343C62223605200A35801265B005B08A350CA235B00E2586420BA43E250E2583243E25001F0C9F8072203201F4963589343034363501D49280063589343053A1343FF2263500C211202A3588B43A350E8225200A35800213B43A350043AA3581F439A235B006B43A750114A124FD318124AFE335A839A83C0235B00E750FFF75AFFC4235B00E75031002800FFF753FF0020F8BDC04680E100E0780000201943000000E100E050 +:000043010000000A4018FF00000CFF0000300200200002008088130000F7B5A24C636B002B00D127E1636B9B050AD5982200209E4B5200985408215B68984788239B00E3618023626B1A4205D00121964AD361964AB033D154626B934B944DD20057D5DE6932071CD530223240102A18D198218E4A4900505C012812D100208D4F5054396808008021090308433860DF6A894900203940D9628849D961536803219847F30733D52023334030D198217F4A49005354E06A82490140E16280218901E161804909688906490F01391172E86D7D4901400E1CD1604904490FC8B25172F1B2CE068906F60EC90F9672D172161D834208D21900183189006F5899007118CF60013330 +:0000440100F4E753680621002098476F4BE3618025636B2D012B4206D0634B07215B6800209847604BDD618025636BAD022B4206D05D4B07215B68002098475A4BDD618021626B8901574B0A4209D0D86A5B4A0240DA62D961544B01215B6800209847636B504D5B043BD59822002030214E4B5200FF3198545A5C019152B2824207DAE96A4C4A0A40EA625B680221984724E0464B019A9B5C002B17D080238027DB034B4EEB61052000F0B6FF33683F033B4205D08022EB6AD2031343EB6205E0052000F0A9FF33681F433760019A374B01999B5C354A013B5BB253548023DB01E3618026636BF6032F4D33420DD0052000F092FF8021364A090313680B431360EA6A344BBF +:00004501001340EB62EE61C023626B5B02254D1A420CD00021244B08005B689847D02380225B02EB61EB6A92011343EB62636B1D4DDB050DD5982200201B4B5200985405215B689847EA6A234B1340EB62224BEB61626B144B52030DD598220020124952008854DD6A1B4A2A40DA621B4ADA614B6804219847E26D0B4B002A12D08022D96D114200D01A658023E26D5B001A4208D0044A1365114B1B68002B02D0042100209847F7BDFC000A403002002000000A40D0000A40773FFEFF88C00100FFDFFFFFA4000A40EF7FFFFF7F002010F4000A40FFFFBFFFFFFEFBFF000104000C0800200122014B1A707047210B00204823434330B5104C8A68E3181A624A789D1D013ABC +:0000460100EA770A780533DA774B78012B0FD91222002350434A789A4209D9DA1C92005558C2180A3292000133A550DBB2F2E7012030BDC046700100205C234343184AF0B5D318190034310C78002C28D01F21002521409D601972FF2149425981211F012902D90121197600E01D765C234343D318190001254C310E78AC46002103275D186F70002903D0102C01D167466F700131C9B28E42F2D25C235843593B1354F0BD680300207423F7B5060000244343194D0193EA18D76E019BEB181A0030321278A24225D9DB690122E34013421DD01D2373431B1908339B00EB581A78042A14D1072105208C463A799A1850707A7818701140009161465A7A8A4300990A435A72B2 +:0000470100DB69002B01D0300098470134E4B2D2E70720FEBDB801002074235843034B1818703003780133037007207047B80100205C2270B542433F4C0500A3183032A15C0322186B8907904302000020890F0A435A649863D2B26030024205D0520661D5012248331A705DE018003C30007800280BD101294FDDD20603D54A331B78FF2B1DD15C236B43E31817E001294ADD10210A4008D019003F310978002903D14A331B78FF2B0BD15C236B43E31819003F31097800292FD0002A2DD149331B785C226A43A218110039310B70112334321370002228001100FDF76FFE5C236B43E3181A009B6B3832002B09D03C2113788B4338390B4301398B4301390B4313705C2334 +:00004801005D436419A36B5A1C01D1002301E02363012323760DE05C235D43002364193434237006E05C2311226B43E31834331A70CEE770BD680300207423F7B5060000251D2743430193019B164AD018030030331B78AB4220D33B0073435B1908339B009C58002C15D0104B9B5D002B01D1013300E004231F222370237A300093431A3A13432372E369984730220021200006F041FF0135EDB2D6E77422002106F03AFF0520FEBDB8010020741000205C23434310B51C4AD318991C42331B78002B30D0194C245C002C2CD0C98F023B19410323194013005C33002903D1195401F01EFA1FE001245D321C54115480200F4B80059A6F024215D10E4A022904D0032907D0BD +:0000490100996F0A4009E0996F0A408021090503E0996F0A40802149050A439A679A6F1043986710BD6803002074100020FC000A40FFFFFFE789B210B504290FD15C234343074AD3185A1CD27F002A07D042331A78002A03D0023A1A70FFF7A8FF10BDC046680300205C23434370B5204DEB189A1C42331C78062C37D8D38F0322C9091140022909D091420DD0013A01291FD19900130089B20B4302E09B009BB21343A21CD2B216E0002C06D01E00A21E164122003140012905D102229B009BB21343A218D2B29B0099B2032302320B43E8E7012300245C2141436D18A91C4235CB872A70002C01D1FFF762FF70BDC046680300207423F7B5070000254343344A0193D21811 +:00004A0100D66E019B3149CA18130030331B78AB4259D9D3690120EB40034251D01D237B435B1908339B005C58E369002B4BD02378042B45D13379E3185870D16E337906309C464B7803401A00637A8343134363724A79002A11D0634602339B00E318586800280AD06346E3181A764A792379934203D39200083106F044FE3379002B1FD1E369380098477378DB0919D01F2332781340042B09D144337B430D4AD31801223D331A700122631CDA771F2332781340052B02D10022631CDA7700230534E3770135EDB29DE70720FEBDC046B8010020600700200047402337B501AC607020000D00237001F0D4FA002801D100200EE0442320002370657001F0CAFA0028F5D0E9 +:00004B01004823237000232000637001F0C1FA3EBDF0235843014B2030C01870470019000070B548244443094B00211C192300050044331970597099701C22201D06F0EAFD280001F011FFB830E06070BD7001002070B50400FFF7E4FF4823002563431C4A2000D3181A003D331D7074236343383215705570174AD31868331B78164A1B01D318DB689847200001F0EEFE72300378AB420DD0200001F0E7FEA13002780221D2B2AA4201D02A0029002000FDF784FC2000FEF71DFE094A002311005C310B5511005D310B55A4001419236670BDC04660070020B80100200CB90000680300205C2358430F4B1818020000233C321370D370821CD387403213700E3A1370937226 +:00004C01000122027602004A321370013A13708363013A43640363036554301370137103707047C0466803002070B50400FFF7D8FF074D00222B0020005C331A55FEF7D8FD002C00D12C665C235C43553B2B5570BD680300205C22110070B54143714B0400C85C1D0001381300062800D9D8E006F039FA9D04D718B1D7C7006343EA183033EB18D360130004250021012034331D70654B161DD1621071F077D36111615161BBE06343E9180E000A7A3436D206D20ED0B232700122EA54052800D191E002D8042806D0ACE0102800D17FE0112821D0A6E0564B1B5D002B06D02B0000225C3320001A5501F01AF85C2300226343EB18991C4233CA871A70944201D14C4B2B6623 +:00004D01005C236343EB181A0010213432117001221A6381E00B0039331A78082A16D004D8002A1ED0042A05D020E0102A02D0202A0CD01BE05C236343EB18190001203C31087000213F331970043110E05C236343EB18180001213C303F3301701970023105E00B003F313C331A700A7002215C266643AE193300353319702000FDF79CFBB16B002900D0716C2000FFF7EBFD5C2301226343EA54EB181A004832117800293ED0052134331970002322E01F226343EB18197A0A40062A32D11A003C321278002A03D0196B2000FFF7CCFD2000FFF7AFFC22E06343EA1834321178081F012803D82000FFF720FF1AE01039012902D80523137011E0002111700122EA540FE063 +:00004E01006343EB181A001121343211701900012248310A70002119631A762000FFF70CFC70BDC04668030020554C000074100020354900007422424370B5154DAA18130030331978546993699C430023D36101228B421BD22600DE40164215D00D4A9B009B1874225043002428180125A2009A5A002A04D02A00A240C6693243C2610134A142F3D8012002E00133E1E7002070BDB80100202CB900007423F7B506000025012743430193534A019BD318190030310978A94200D89AE0D9690B00EB403B4200D191E01D2373435B1908339B00D45820780138062800D986E006F003F97E85040485825D001F23227A1340043B012B0BD8231DDB7F002B07D00123AB40994322 +:00004F010003D10A003000FDF7D7FA631CDB7F002B05D1227A1F3313400620042B68D174235E43344B9E190023F56E2B716B71A3682B60E368002B0AD0237E002B07D028006B71227EE1689200083006F0DAFBE31CDB7F002B1CD1802207216B78524213436B7063790B401A006B788B4313436B701F23227A1340062B0AD1A31CDB7F002B06D0637A0B401A006B788B4313436B700423062023702BE0174B9B5D002B23D0144B019A9A183B00AB409943D1610021217091690B439361D269002A14D1482373430E493000CB183D331A700221FDF773FA3000FFF72EFF06E000230534E37702E0E369300098470135EDB25BE70720FEBDC046B8010020741000206007002089 +:000050010070B5040008001100042800D085E07F23567A684D9E4375D0127A9609F0B2012803D0373B03282AD04FE0742363436248D206C31840331B79DB06D80E9A420AD12000FFF7D3FA482300226343EB185E7044331A709AE048236343EB181A0000210225443211701F225D70203319789143084307215A7818708A432A4340E06343EA181000443001780131C9B20170092916D9002303701F20023353707233634345492032CB1840331B7903401900137883430B430721137053788B43537065E00622EA5400232C3253E06343EB181A0000214432117002221F205A7072326243354920338A1840321279024011001A7882430A4307211A705A788A4304390A439B +:00005101005A7043E02000FFF771FA482301226343EB185A7044331E7038E0431E012B2DD848216143234E7218150044352B780133DBB22B70092B18D900232B701F2502335370723363431C492032CB1840331B792B4019001378AB430B43137007235178184099430843507010E0062364228B5500232821200001F0FBF919E0002817D1482306225C430B4BE25411E048235C43084A131920331B78DB06DB0E012B03D0022B03D1032302E0022300E00723A35470BDC04670010020B801002010B5040001F063FB0123A340DB4308495BB20A781A400A70064A2C3211780B40137001F058FB022000F0A0FE10BDC046CC0300201408002070B50124042800D1A2E0032869 +:000052010007D10021902250485200416081600C3096E0012852D10F214B4D6E7B33090E402900022A25D800246C60AC60012A14D0A34200D086E0022E0DD1444A297B12881C0091427ED2424B0832C918D3186960AB60040076E0002E74D100240A7B53B2A3426FDB3B4B0134D3184B60384B8B6068E0002E13D0002B57D1022E55D1334B2D7B023A32481B8894B228185A1BA24200DD220092B20E3106F033FA45E0002B43D12D4B2D4C19002C310978023A6054190092B22D310870DA8536E00024A04234D1214D6968A14230D0AB68040099422CD25B1A082B01D9082301E0002B25D0D8B21D4B1E4A2C331B789B009C5882239B00E258EA3BFF3B13400822D31ADBB29D +:0000530100FD32FF32984203D20123A350030001E00420A0500A00CB1890218900934203D0107801326050F9E76B6001240A4B2D331978C9B2002905D19022034852000C3006F0E8F9200070BDCC030020A80000209C08002014080020CC040020220B00205CB9000070B5C3071BD501F08EFA0F4C05002389002B0FD02189E38822899A1A23685918180006F0BCF92289E3889B1A9BB2E38000232381280001F07AFA00F089FD01F072FA01F074FA70BD140B002070B5144B05001B78002B02D1124901F071F90023C2211C00104A490053508439180088301058043324188B42F8D10C4E01353100A8B2303101F05CF9802200235200310030315958043364189342F8D15B +:0000540100604270BD100800209C08002014080020CC040020302310B5584301F02DFA10BD70B5802504002D02AC4205D9054801F023FA054BE418F7E70448604301F01CFA70BDC0460000C05D0080FFFF80BB0000034A044913689BB20B4313607047C0460CED00E00400FA05F7B501224A4C4B4D23684B4E9343236000234A489A002900032B00D8B15801338150222BF6D172B6FF22454B00271A60FF22444B12021A600322434B07261F60424B434D1A60434B21321A609C22424B92001A60414A424B1A600C22414B1A609322414B12011A601222404B1A6001F0D8F901902B683E4AB3432B603D4B3E491B78DBB213603D4A1368B34313603C4B0A6818787F239A43C8 +:0000550100034013430B60322001F0B6F905222B683220B34313432B6001F0AEF906222B68B34313432B60019801F0B3F99E22BC212E4BD2011A602E4B2E4A89011A602E4A116090212D4A09011A602D4A1160C0212C4A89001A602C4A1160E8212B4A49011A602B4A116080212A4A49001A602A4A11602A4A1A600322294B1F60294B1A60294B1F60294B1A68BA4200D11A600122236813432360F7BD000010409D370000001800000000002000000240000302400001024000000440080F0340080004400801044000081800080204400003044008030440300010400C0F03407DF3FF0F180F0340100F034064F3FF0F140201400000014005FF00801002014004FF008037 +:00005601000802014002FF00800402014001FF00800C02014003FF00800002014000FF0080280003400C0101400001014088000020F0B5BF4991B04A7B0E00120900D0EBE2BC4D0B7BE88D2C00C0B20A2B4DD004D8062B0AD0082B0CD0F2E20C2B00D194E075D32C2B00D189E2EAE2887BFFF77AFED2E2012800D8E3E2887B0523522800D0C0E2CC7B002C20D0012C00D0BAE2AA4B2C351A70A94BAA4930331A702B78CA54A84AD15C002906D00021D154A64A9B009B580122DA660520FFF7ACFE72B60022A24B1A60FFF7C4FEA6E2A14E2100B288306806F01FF82C3534810720F480FFF741FE287800F092FC2FE08B7B502B22D192490B3B0C0031342078032800D081E21A +:00005701009448C068632800D97CE20B00323318784423002800D175E28F48433B0370864830310370FF2040000A7001F025F804232370023B66E2804905230878C00700D460E27E4B0A7030331A7002235AE27B4B313318780523002800D053E27F4B8A7B9978030091420DD0012A04D00723022A08D17B4800E07B4801F03CF80023984200D006330233DBB23CE2032800D857E28A7B0523462A00D034E2C87B042800D92FE205F0A9FCD601F300AB003D0005006D4B624D1A784323022A00D025E280266A4F76008837303432003900200005F098FF2800A4213430002308AA490004F00FFA634B32007C33197838000131090205F087FF5F4B5D491A68C4235B00CA50F7 +:000058010008A83300220001960097202103F0D6FF431E98410323544A32352870137013E2464C230031331B78012B01D00523ECE120002600504D35304822FF30290005F060FF4E4B626B34369A4201D04023DCE1B379012BFAD11022002108A805F05AFF8022434B52007C3319782800090205F048FF404D04224249281D05F042FF280004224049083005F03CFF3F4E1022310008A805F027FF230010223C33002807D1190008A805F01EFF03005842584103E03100180005F016FFC0B2002800D0C5E1E16C6E68B14200D2C2E1206DAA6890420DD9030053409BB2002B01D0002A06D1002900D1B4E1022331342370ACE14223904200D089E1B142F5D886E10F4C2500D7 +:000059010031352B78002B91D12000802234305200194905F0F6FE636F042B97D14533228FFF339A4292D1483BFF3B2B708CE1C046CC030020CC040020200B0020CC050020220B0020260B00205CB9000088000020140B0020801B002010080020A8000020C0FE0100C0FF0100FD05002014080020CC0600204C0700209C08002046574354AD080020B10800209D0800204D7C0B7C2D022B4303936B46AF4F9B89AF4EBB81330031331B780693042B00D03EE7FB89039A934200D939E7FF235B009A4200D0B9E0A74DAA212A00FC32106D4900536D695C0002000C1B0A303409060130194380B2220000F0FCF920229E49200005F079FE0790002800D0A4E0B8899A4900F091 +:00005A0100D7FA9A4B04907C331B7897491800059300F048FE2B002A00C0331C68C432230A1478126824061C43130A2A00C83212788F4912061A43D7B208A8D2B205F061FE14228C4B07991A808B4B03321A806A468A4B928984481A801322894B9A80ED3205F058FE432328007F4A7E491370A130202205F046FE2800310010223C31893005F03FFE310008224C317E4805F039FE7D4BDB79002B10D0736FDBB21F1C042B01D96B461F7E6D49FFB279313A00FF3108A805F026FE013405E03100059B7831581C00F0EFFD664D220A2B00C1331C705A70220C240E9A70DC702B000022C5335A709A703A0EDA701F703A0008A9604805F007FE594C584B21001E7C7831701C3A +:00005B010000F056FA3000FFF753FCC2235B00E8505549300000F04CFA059800F02DFE05983134013000F028FE584B594A1A6100232370023309E04C49039800F039FA0223049002E0002304930733434A9189D18110E0487C0B7C0002184302003821C73AFF3192B207238A424CD83F4900F09AFD03230490049A002A43D143E0374B31331B78002B5CD10B78002B5BD1344B8A7B2C331B785A4000D1D7E513400B700B78002B00D1D1E52E21002000F06FFC041E14D07522284B0020503319780A401A702E2100F0B1FC00210800FDF77FFE01210020FDF77BFE012100200FE000F0C4FE873000780121002808D02A4A0321200001F094F800280FD0347023E0FFF7DEFA71 +:00005C01000AE007239A1E012A03D90021134A31321170180000F088F91F4B002219002C332D310A701B781D49CA541D49C85C904210D0CA541B4A9B009B580122DA6609E00523DFE71223DDE70223E2E74123DCE74223DAE711B0F0BD4C070020CC05002014080020200600209C080020CC060020DD080020AE000020B0000020B2000020A8000020AD08002000060020801B002000555500BD510000CC040020220B0020260B00205CB900001822F0B54243194C0500A218938A90689BB2002801D1087027E0154AA8008658C2229200B0581F221040021C082800D9082292B20A701821694361189A188F8992B20020974210D3D020800084469A4206D960463758886817 +:00005D0100C75401339BB2F6E7182045436419A3821738F0BDA80700205CB9000010B5214C0300210060310A5C0F20002A39D19A001D48A21850660122CA54002B0CD11B4A1B4B91680B40C02109010B439360F023184A1B0211680BE0174A184B91680B40C021C9010B439360F023154A1B03116880200B431360134B134A40009A67134A1349DA6718659A6D02439A650868114A02401148024300200A60996F0F4A0A409A6710BDA8070020811D000000020440FFF1FFFF0002024000030440FF8FFFFF00030240FC000A40C2F14A40AFF44A0100000A40F7FFFF9F08000040FFFFFFBFF0B50C000500DFB003A8019203F032FD002103A803F044FD27002E00FF2F0ED925 +:00005E01001EA9300000F04EFC80221EA9520003A8013F013603F068FEFF3FB6B2EEE7230AED181B02A8B2E41A07D01EA900F03AFC22001EA903A803F057FE0F490B0068331B78002B08D1FF201EA9400000F02AFC80221EA9520002E08022F431520003A803F042FE019903A803F044FE03A803F0F7FC5FB0F0BDC046A807002070B500F004FD0B4900220C000C2578342B005343E618B67AC22E04D001321F2AF6D1002401E0CB189C6F00F0F4FCA0B270BDC0462809002070B500F0E8FC194B05001A006C32D688174CB6B2002E15D0D86E23000678EA331E7043782100EB342370C37880781B02034304339BB2138101226C318B7913438B710FE09288D86E310005F0B4 +:00005F010009FC230022000121EA33EB346C321E70267093798B439371280000F0BAFC70BDA80A0020A807002070B5040000F0ADFC1E4A11006C31CB888D88CE889BB2AE1B072E18DCCC882D1B0024032D27DD8125D66EF554D66E5D1CADB27455D66E9D1CADB274550333D26E9BB2D454CB8804339BB2CB8013E0D56EEC540024D66E5D1CADB27455D66E9D1CADB274550333D26E9BB2D454CB88013404339BB2CB8000F078FCFFF787FF200070BDC046A80A002010B5134A0300783212780E20002A1ED0073800291BD00F4A14889C4217D854889C4202D292889A4211D10B4A072093420DD80538934204D0FF225200934203D100200A00DC321060180000F073FB10BD81 +:0000600100A80A0020AE000020FF01000030B5134B8200D35812491A681025520052081A60182250430F4A104C101802220271002282825A50F82001210001494219501859A8431851F42000011950803019508021DA661A6809060A431A6030BD5CB90000880F0000A8070020480F0000783110B5CCB22000FFF7CAFF18206043034900220818017903690320984710BDA8070020F7B53F4E80223400050000203D4F12063B68793413433B600A223B4BC121207000F05EFA33000126384800970168374F314202D021780029F8D001210024386808403349A0423FD11E0079363478A44604006046002837D1962402222D4804602D4C0C602D4C226001940824FF340A6801 +:0000610100224202D13278002AF9D0AA1C1C00944679342678002E0DD165450BD02E78066008220E68FF32164202D12678002EF7D00135EEE73C681020A20600D5083012251C00019AFF35106079340868284202D120780028F9D0012408680421FF31084206D179331B7859424B415B421C4000E00024009B009A1B6800205B005B081360C12100F0D1F9601E8441E0B2FEBDC046A80A002000000840E145000064000840000F0840400208401703000068000840854B8200F0B5D458002385B002AAD371824B0700E25801231A4206D0804962589A436250E8221201A3507E4B0125E35800930223009AFF331A4208D039007839C9B2002000F098F900231D000093009B07 +:0000620100DB0644D518267E43734B9E193179019304290FD002ABD91D3800FFF745FD051E0CD00521B28A317192B2336901209847050003E0336900220220984718237B43019A0020D318022298821A71812380219B00E25849020A43E250E1585F4A0A40E25001225E49635893436350F82310211B01E2505B4AA3588B43A3503900F42330221B017839E250C9B200F04DF9009B5B0648D53B00FA22783BDBB201935200514B0199002000F063F9E82201261201A3583343A35018237B43474AD3181A79022A29D1626ED2060DD504210022197110001B69984700281ED0F8231B01E6503F4BE65003E005221A71002D14D0F423302210211B01E2503A4A0125A3580B43A3 +:0000630100A3503A4B1A007A32D25D002A01D1E56609E07E33DD5506E002230199E366002000F002F90025F423009A1B01E250002D09D13800FFF76AFE39007839C9B2002000F0F2F83EE00122294BE3580093134225D018237B43204A0421D31800221B6910009847061E1AD101211D4A3500A3588B43A350F8231B01E150812380219B00E25849020A43E250E158144A0A403900E25002237839E366C9B200F0C5F8F823009A1B01E250134BE658F30705D502ABD91D3800FFF778FC0500FC231B01E650002DB6D005B0F0BD5CB900008C0E0000880E00004C0F0000A8070020FFFFFEFF880F0000480F00006D600000A80A00208C0F0000CC0F000010B50020FFF7D8FE65 +:000064010010BD0000302230B51A4CC3B0A36A05009343203A1343A362F03202A805F071F9154B6A460093FF230193144B9A60144A5A60C046C046C0469968090F0A070A2910D110492D040D436946009599600E495960C046C046C0469B6800201B0F1B07934200D00C203022A36A9343A36243B030BDC04600000340B6D700000000104004000080B6D800000500008030B50023FF2911D0BA220C2552005043074C2A005A431218A218927A914204D001331F2BF5D1002300E00123180030BDA009002010B5914203D2FF2A01D0FDF71BFD10BD0C2359436933FF334343C9180C4B0D4A5918FF238B72135C013BDBB213540A4A1378013BDBB213701378002B07D1074B77 +:00006501001B78DBB2002B02D1054A06498B507047A009002031020020320200203002002010D00000001000E0F8B504000D0000F0ACF90600FF2D11D00C22BA200023944640006043094F62465A431218BA18927AD9B2954206D001331F2BF4D1300000F098F9F8BD2000FFF7B3FFF7E7A0090020F0B585B004000E00150001930020FF295AD0824258D000F080F90C221E23FF2194466932FF32624302900392BA2760467F0067435843254AC719D719BF7AFF2F00D1D9B20C275F4303983F18D719BF7ABE420BD11E4FD9B23B5D013BDBB23B551C4F3B78013BDBB23B7004E0013BDDD20027FF2924D00C2359436933FF3363430198C91853181D8158609E72114B5550E9 +:00006601001A78002A0AD1104A1278D2B2002A05D10E490F4D4A5107250E4A8D50012708490A5D0132D2B20A551A780132D2B21A70029800F02EF9380005B0F0BDA0090020310200203202002030020020001000E018D0000010D0000010B50023FFF788FF10BD000010B50A4B1A6801321A601B68012B05D9074B084A1B685A60FEF7E8FE064B074AC2210020FFF772FF10BDC0462C0B0020A00000200C3003C065660000EE02000010B50C4A0300080011780E2200290FD0073A00280CD0084A11880722994207D206498B4204D8F932190205F018F80022100010BD200B0020AC000020FF01000070B51D4B1B78002B2FD030241B4B9A6AA243203C22430C009A62194A83 +:0000670100083C2260FF2204390A60174A174994605160C046C046C04695682D0F29070A2D0FD1134D000428432060124894605060C046C046C04692680020120F12078A4200D00C2030219A6A8A439A6201E0FFF759FE002800D0052070BDC046FC05002000000340B6D700000000104004000080B6D8000005000080802210B50400C0B052000021684604F0C5FF69462000FFF7A9FF40B010BD0000144B020030B506209A4222D853781178114C1B020B43A3421BD11000D1799379090219430A30147A0A39031E0DD000231000994209D0851A8D4204D2857A01305B19DBB2F7E75B42DBB206209C4200D1002030BDFFFF01005943000070B582784478C37812022243D0 +:00006801001B0413431A00037905001B0613430620002B2DD0AA7A6C7AEB7A120222431B0413431A002B7B1B06134321D0A9796A790902114309024A1CFF320E4CD618A64216D8100000220133FF332C785B18984204D0057801305219D2B2F8E75242D2B20620944204D180239B00C818FFF794FF70BDC046FFFF01000230800803D00138FDD1C046C046C0467047EFF3108072B6704780F31088704710B5022300281FD100291DD00F4C104A2300CC331A602300C0331960FEF72CF9010066222031200004F01FFF2378022B00D06370002002F0B3FB002000F0D0FE0123883423700023180010BDEC0E0020BC0F002010B50222002813D10A4B19008831097800290DD0C4 +:0000690100DC7C0A32002C09D11A0089321470012287331A70200002F097FB2200100010BDEC0E002070B505000224002817D10D4B1A0087321478002C06D002F021FD280001F0DEFC2C000AE089331A78012A06D120001C7002F008FD200000F0B0FE200070BDC046EC0E0020C4235B005843014BC0187047EC0E00200020704730B5022200281FD14B005B0F0A32002B1AD00E4D2C007E342478A34214D841339B00EB189B880C0E9B0514409B0D002C05D09140890D8B4206DB020004E08905890D8B4200DB2200100030BDEC0E0020C4235B005843024B18186F3000787047EC0E0020C4235B005843014BC0187047EC0E0020C4235B004343644AF0B5D31819007931F0 +:00006A010009788DB00490012915D1B8331978602396270B40402B00D1FA27C42304985B004343D3187B331B787F00042B05D1C906C9170F4001E096277F00C42304995B0059430B002033D3180193049A4F4B08915A430023069305934B4B0A925B18039309330B930B9B059A1B789A4272D2039B059A9B7A13410122134264D0019A0A9B9B18089A9D58019B1C881B68A4051B039B0D0793019BA40D9E78DB78B6069B090293079BB60F9B050993029B012B1DD0002B02D0022B24D027E0BC4202DDBC05A40D11E0324A099B15401B0B314A1D43154033051D43002B17D06E206421604304F09EFBB84210D9029E0EE00799200004F096FB4008B84207D9079C7C43E4058D +:00006B010002E0BC4201DDBC05A40DAD0A204AAD02099B25431B0B15401D431E4B36051D403543029BAD009B07AD081D436223049A5343069A9B184233134A9B00D3185D60069B01330693059B01330593019B0433019387E70820039B03999B7A0931FF31DB09DA00CB7983431343CB71039A0A4BFC32116907380B4013616A46039B127E7E331A700DB0F0BDEC0E002078FEFFFFFF03F0FFFFFFCFFFFFFF3FFEC4235B00434310B5034AD318FC33196DFFF7E6FE10BDC046EC0E002070B50D000400FFF764FE2A68002A10D000230121A3420CD00A4206D0012199402A681C008A432A6003E001335208DBB2F0E7FFF752FE200070BD000070B505000C00FFF746FEC42335 +:00006C01005B006B43044AD318A4331A6814431C60FFF73FFE70BDC046EC0E002070B5050014000720002D3CD11E4A1000873005780B20002D35D0150072352D78012D30D1100085300078002804D11000A4300068002802D00F20052923D11000A2300078112806D0082801D1002902D00B20052917D110000125853005701000843001701100C4310B60002C05D0CC32106821002C2204F036FD802100208900FFF7AAFF002070BDEC0E002010B504000720002C08D105489C3004780F20002C02D12000FFF7ACFF10BDC046EC0E002070B505000C00FFF7DAFDC4235B006B43044AD318A4331A68A2431A60FFF7D3FD70BDC046EC0E002070B505000C00FFF7C6FDC4235F +:00006D01005B006B43044AD318A8331A6814431C60FFF7BFFD70BDC046EC0E0020030070B50720002B18D10D4B1800873004780B20002C11D01D0086352C780430002C0BD11800C8338A3001701A6020008021FFF7D1FF012320002B7070BDC046EC0E002070B505000C00FFF790FDC4235B006B43044AD318A8331A68A2431A60FFF789FD70BDC046EC0E002010B501F073FC10BD03000220002B03D11800024AA13213707047C046EC0E0020C4235B00434310B5034AD318C0331B6800221B68984710BDEC0E0020C4235B00434310B5034CE318C0331B681B68984710BDC046EC0E0020704710B5FFF706FF10BD00000139CBB210B50021082B02D8024A5B00995AFFF7F2 +:00006E0100F9FE10BD98B9000010B58021FFF7F2FE10BD10B5FFF7E4FD020000238532C4301370036010BD000070B50500FFF7D8FD04002800FCF7E2FE28000E220021FFF73FFB9220800045432148224B4019C2180023137080229200821813701E4A821813701E4A821813701D4A821813701D4A8218137082229200821813701A4A821813701A4A8218137081229200821813808D2292008018220081320360013A537013700A3A1370D370013A1370433213601371413A13702B32137002321360FC342A3A1370E3652365A364236670BDC046300B0020020200000302000006020000070200000B020000090200000A020000F7B5060001920D00FFF772FD0300853324 +:00006F01001A78012A23D1C430026807000092032D01D000221A70009B002B18D0019B019A002B0CD09224A4007443094B24221C193534FF340199200004F0E3FB220029003000009B9847032D01D000233B60F7BD300B002010B50022FFF7CAFF10BD000010B50400922080006043064B8930FF301818202204F0C5FB802120000901FFF739FE10BD300B002010B50400922080006043064B8130FF301818082204F0B1FB80212000C900FFF725FE10BD300B002070B50D000400FFF713FD112D08D192239B0063430A4AD3180A4A9B1800221A70A230057009212000FFF7A6FA802120004900FFF773FE04212000FFF703FE70BD300B00200B02000010B50400FFF7F0FC11 +:0000700100922300219B006343084A8430D318084A9B1819700378062B02D02000FFF79AFF0E212000FFF7C4FF10BDC046300B00200B02000010B5092901D1FFF7B9FF10BD70B50500FFF7CCFC03000026040077331E700A212800FFF7A7FE31002800FFF779FF230067331B78012B03D102212800FFF79EFF0423A434236070BD70B50500FFF7AEFC03000026040075331E700E2231002800FFF714FA230084331B78052B03D031002800FFF755FF28000121FFF77FFF0423A434236070BD00000300881E10B508283ED804F00DF805141919193D3D3D2B00922292005A431B4918008A1804218532FF3211708021C900FFF782FD28E011211800FFF75BFF23E092229200E0 +:00007101005A4311498A18114952181278132A03D11800FFF7B3FF15E01800FFF76DFF11E0922189005943084A094851180A008532FF32127809180A70012AE9D00021180001F0D4FC10BDC046300B0020460200002202000010B5024BFFF70AFA10BDC046ED6D0000F0B585B00D000400FFF738FC02000700FC32A81E916C062800D98CE003F0B0FF046A77777F8B870092239B0063434348C31843481B181878012806D1002102221970200001F0A0FC75E038003B004530FF3006884833B605B00D84463220FF331B78926C5B065B0F41339B00FB185D681203920D03922A03920D02924243DB8801929B049B0D2F4A1E052A403500019E15430096120E01D058430090C7 +:00007201002A4B664619400B0100D5039E1C2220000921FFF79FFF92239B005C43204B6A461C198A2392889B00E3181A806A46204B1288E3181A8089239B00E3181E801D4A029B15409B021D438D239B00E4183B00FC332560DD6520E003212000FFF77AFE2000FFF7D6FD1C2209212000FFF772FF13E020000021FFF76DFE2000FFF7BCFE0BE020000021FFF765FE2000FFF7F6FE03E00D212000FFF78BFE05B0F0BDC046300B002007020000FFFF0FC0FFFFFF8F26020000FF03F0FF70B50D000400FFF78FFB0300A81E082867D803F00BFF051552525266666656009222920062432F49200051581A008968FC329164C0331B682B4ADB6A984750E09225AD006543274A42 +:000073010028495519691809781600032904D109312000FFF74DFE40E019008F22FC319200896CAA181160902275331B789200AD18002B02D10821297006E02000FFF72EFC002805D1112128702000FFF731FE04E0042320002B70FFF791FE92228F23920062439B00B218D21816212000FFF72AFD13E02000FFF740FE0FE092239B006343064A0849D3181A008532FF3212785B181A700021200001F0A9FB70BD300B0020896F00002202000070B50500FFF718FB0300673319780400012902D12800FCF7D7FB23000022A4331A6001237734280023701521FFF7E8FC70BD70B504000E00FFF7FEFA0500022E0FD101237A352B7000212000FCF7BCFB200001F0EDFB3722FA +:000074010009212000FFF7A6FE0AE0082E08D1200001F0E6FB00237A352B702000FFF710FE70BD10B5022901D101F0DEFB10BD000070B50600FFF7D4FA002105003000FCF797FB922300249B007343174A3000D318164A9A181470164A9A181470154A9A181470822292009A181470134A9A181470124A9A181470812292009A181480104A9A1814708D2292009B181C602B002A0075331C70793287339C64A4351470DC6501F0B0FB2C6070BD300B0020030200000602000007020000090200000A0200000B02000010B5022905D1C82207319200FFF740FE04E0082902D10439FFF768FD10BD000010B50400881E0B2827D803F0F9FD062626260C26102626262623962240 +:000075010009212000FFF726FE19E02000FFF774FD15E092239B006343094AD318094A9B181B78312B04D809212000FFF741FD06E02000FFF739FF02E02000FFF79FFD10BD300B00200102000070B50400022927D1FFF746FA030000226E331A7092239B00634313490125CB18124959180A70124959180A70010081310D7001390A70812189005B18FC301A808264200001F050F8200001F031F82000FCF716FB092102E0082903D101312000FFF702FD70BDC046300B0020010200000202000092239B004343174A10B5D318832292009918002204240A70134959180A70134959180C70124959180A80124959180A708521890059180A608421890059180A80862189008E +:000076010059180A708721890059180A60882292009B18012252421A801221FFF7C9FC10BD300B00200D0200000E020000120200000F02000010B50400881E04281AD803F051FD030D161616000021200000F0DEFF03220021200001F049FA0BE020000421FFF778FC09212000FFF7A2FC02E02000FFF704FD10BD000092239B004343044910B5CA1804325A50024900F095FF10BD300B0020E36D000070B50500FFF7A0F904002800FFF7C0FB23000722A2331A700423A4342800236000F092FF70BD10B50400FFF7B1FB00212000FFF743FC10BD70B50400FFF784F9050000212000FFF739FC2B0000226E331A70AD7C2000012D06D1FFF7E4FF29002000FFF7FBFA01E0F9 +:0000770100FFF752FE70BD0000F8B50E000400FFF767F90500B01E062800D9A8E003F0E2FC04237878787C8B00C0352E689225AD0065434F4B20005D194E4BEB1819887368984789239B00ED1829882000B36898472000F36848499847C822092152002000FFF7F8FC83E09226B600664340492B008E198D21FC339A6C89001A65711809682000D965DA64FFF72BF93A4B0700F3181A880300AE331A808A239B00F3181A880300B0331A8089239B00F3181A880300AC331A800122373B1A70200000F01CFF90239B00F11801230B708F239222FC379B00386DF6183060254B9200400101D50320087062439A188F239B00D21816212000FFF7E7FA8B3511212000FFF7D8FBF9 +:00007801002B78002B33D10121200001F038FC2EE02000FFF733FC2AE020000921FEF784FE802120004900FFF751FA06220021200001F05CF91BE09223902018269B0063430B491A008000CB18181806708F20FC3580001B18A86C8A1818608F239B002000D2181621FFF7AEFA2000FFF731FFF8BD300B002026020000096E000070B50E000400FFF7ADF8072E1BD0082E35D0022E36D10300C0331D68483B1B78012B04D1703001786B6920009847164920006B6898471549EB682000984714220921FF3217E02000FFF78CF80200002305009A321370243A13700B2120006735FFF764FA2B78012B0CD131002000FFF761FB0221044A2000FFF72EFC02E02000FFF7E8FEA5 +:000079010070BDC04688130000096E000070B50D000400FFF765F8072D29D0082D2CD0022D45D12000FFF75CF805002000FFF780FD2B007033197850331B6820009B6998472B0067331B78012B06D12A007D321370174A66352B70135592239B006343154AD318154A9B1801221A701A3217E003212000FFF71DFB1AE092239B0063430D4AD3180D4A9B181A78002A0DD00022C0301A70036809491B6920009847084A09212000FFF7D7FB02E02000FFF791FE70BD74100020300B002045020000096E000071020000F7B504000E00FFF709F8030067331F783A331B780500DBB20193022E03D060D3052E42D95DE02F4E2F49330048331B5D002B09D19222802392006243EA +:00007A01009B008A18D218137801331370922380229B0063439200CB189B181A78032A12D9032276351A702B782000012B04D1012F02D1FFF74DFE01E0FFF7B6FC01212000FFF788FA2FE0330048331A5D002A02D000221A5502E02000FFF7EAFC200001F05DF800281FD001214836315518E0122120007635FFF798F92B78002B06D1019B002B03D02000FFF723FE0CE020000321FFF760FA2000FFF7BCF9012F03D102212000FFF785FAF7BD300D0020300B002070B504AC2588072903D0067800248E422CD1012A0ED0002A02D0022A0FD013E041781400002921D100244279D209A2421CD109E000244278A242F5D116E000244279D209A24211D0002B06D00279002475 +:00007B0100D206D20ED340DB0708D5054B01249D4204D043785C1B60424441E4B2200070BDFFFF000037B50400881E062855D803F0D9FA04122F313354490020004021FFF7C5F80021200000F061FD0D220021200000F0CCFF41E0922391209B0063431F491A008000CB181B180020187091238A189B00D21820001321FFF724F920000321FFF7E8F91B2209212000FFF7E3FA24E000211CE001211AE092200021800060430E4D009108230A004059FFF781FF002810D020000421FFF7CDF909212000FFF7F7F90AE010212000FFF7EEF802212000FFF7C0F92000FFF751FA37BD300B002073B50E000400FEF7FBFE0500B01E0B2800D988E003F076FA0615364A64877687C4 +:00007C01008787877E2000FEF7F3FE2B000D35FF357E331B78012200950021200000F070FF71E002212000FEF77FFC802120008901FFF74CF8012376352B7092239B006343314A2000D31880229200991800220A702E495B18F9391A70FF391B32FFF77AFA282129E02B0075331B78012B0ED192239B006343244A1121D318254A9B181B78012B2BD12000FFF7B7F93CE076352B78002BF7D19225AD0065431B4B0A215D191A4B2000ED182B7801332B70FFF780F92B78062B27D127212000FFF775F822E092200122800060430F4D0092042300214059FFF7EDFE0028D4D00B212000FFF767F910E020001021FFF75EF82000FFF7C5F908E076352B78002B04D180212000DF +:00007D01008901FEF777FF73BD300B0020010200000B020000F0B585B00400FEF761FE002105002000FFF716F909212000FEF7FCFB802120004900FEF7C9FF1123A2352B70039592250021AD006543704F704A7B199B181970EB590A00029300910B000298FFF7A6FE011E34D02000FEF739FEEA5903009278901E0E2800D9C0E003F0B2F917ADB0B0AD0817202020ADBFBFBFB00067331A7892239B006343FE185C4B0921F618012333709A4200D0A8E056E092239B006343FE18564BF618012333709EE092239B006343FE18524B1021F618327044E0514B0122009303000298FFF768FE00287DD02000FEF7FBFD0300EF590600B878673301381B780E2800D97FE003F062 +:00007E010071F96C080F6C7E7E7E7E7E7E7E7E7E7E3100012B73D17B780B21012B6FD11DE0320075321278012A5AD13200733212789A4255D132005132FF32002B00D0043A7023D2781340102B4AD10F22FB7A05219343802B02D0502B42D106212000FFF7A7F83DE03A78002A3AD192250420AD006543264B29495B19591808702849023059180A808321890059180870204920005B1880211A700901FEF718FF11351B4BFF355D1924223900280003F02AFC3300C0331B681B4A1B6B290020009847142209212000FFF746F9802120004900FEF7FDFE1223A236337002E02000FFF78CF8039B1B78112B0ED109212000FEF7CEFA002808D104212000FEF77CFE03E02000AC +:00007F0100FFF75CFBECE705B0F0BDC046300B00200B02000046020000FFFF00000D02000012020000616F0000F0B587B00E000400FEF756FD92239B001A0062439B4903909B488A18101805789A4810180778832080001218684612780292007A02AAD073B01E0E000C2800D91DE103F0C5F80D002B00580064006C001C01A3001C011C01E4001C011C010A01012D0ED0002D06D0032D00D007E1200000F0FAFD03E13A000299200000F0A2FDFDE085226343CD18814B9200EB18AD182A681B78029900923A00DAE0032D03D114212000FEF7ECFE02ABDB7B013B012B0BD8002D09D10D2F07D10F2302AA9B181A0013212000FEF7E9FE03212000FEF7ADFF92239B00634314 +:00008001006E4AF3189B181A88002A04D009212000FFF7A0F8C7E02000FEF7FBFE9EE06343674ACB189B181B780021012B07D12000FEF7E2FFB7E0029B002BF8D001212000FEF788FF8AE06343CD18CF5888218622872389006918098892009B00AA181278EB1800911B6802993800FFF721FD021E07D100900299534B3800FFF719FD011E0CD020001121FEF793FF92239B0063430421F2582000FEF72BFF84E02000FEF759FF474BED182B78022BC0D02000FFF731FE78E002212000FEF74CFF012D02D111210F2F00D010212000FEF76DFE02ABDB7B013B012B41D8002D3FD10D2F3DD19223832203219B0063439200F3189A1815702F4A9A1811702E4A0F319A18157025 +:00008101002E4A9A1815802C4A9A181570852292009A181560842292009A181580862292009A181570872292009A181560882292009B181D8013E009212000FEF7F5F9802120004900FEF7C2FD922292006243B3181900A631FF310978002904D011212000FEF726FF1FE0A533FF331B78002BF5D08932FF32B21800920F22200000F0C0FC11E009212000FEF7CFF9802120004900FEF79CFD11228021039BC901A2331A702000FEF727FD07B0F0BDC046300B00200D0200000E0200000F020000120200000B02000010000100F8B50400062902D0092903D088E0FFF79DFD85E0FEF700FC030084300078CC3305381D6807287BD802F078FF04087A0C7A7A7A422000FEF7A3 +:00008201003DFF71E02000FEF7F7FE6DE02978200000F0FCF992239B006343344A2978D318832292009A181170314A0D20991800220A703049591808702F490E30591808802E4959180A708521890059180A608421890059180A808621890059180A708722082192009A181160882292009B18012252421A800A3134E092239B0063431B4A2978D318832292009A1828792E7B1170174A0F27991801220A701649103559180F70154959180E801449591808708521890059180D60842100208900591808808621890059180A708722802192009A1809021160882292009B180122122152421A802000FEF764FEF8BDC046300B00200D0200000E020000120200000F02000049 +:0000830100F0B585B00400FEF76BFB0300A2331B780500002B00D197E00600A4363368002B00D191E033689B0507D5030084331B78052B02D12000FEF7A1FE31001120FEF73BFC0700012801D0062840D1FEF79DFA0290200000F062FC0021202300910A000600FFF7A5FB00280CD02B0066331A78012320215A401340F2705A0133798B43134333713378002B0CD12B0066331A78F3789A4206D10298FEF77BFA2000FFF797F951E092239B00634303930398274B4322C0583100FBF79BFD0298FEF769FA224B039A0C21D2582000FEF7FBFC2000FEF706FB002F03D12000FEF731FE2AE0012F1ED1A23003780C3B032B03D82000FEF744FE1FE0922300269B006343134A67 +:00008401002000D318124A30219B181E70FEF75EFC31002000FEF79EFD0F212000FEF7C8FD09E0092F07D1A2300378112B03D000212000FEF78FFDA2352B78064A9B00D3185B6939002000984705B0F0BD300B00200B02000098B90000F0B50B7889B00293AE235B0043430E004F490792CA18039010000025FC3085650298022800D991E05132FF321278012A00D18BE003244443E318CC18A379454FDBB2059363792A000693802300979B0129003000FFF700FB0497A84200D0A571AE24039964006143394D72796B1812074533520FFF331A7003230298D7B25843411869188879002802D04979B9425DD0029930004B4303994C4301211B19EB185A7100229971049BB6 +:0000850100110000932023FFF7D3FA002805D02C194834FF342378012B44D0029B013B012B1AD9AE24039D640065431F4F6A467D192B00127A4633FF331A70049B00220093802311009B013000FFF7B2FAFC350223002816D1402314E0049B002200930721134B3000FFF7A4FA00281BD10F4B0122009307210F4B3000FFF79AFA0028D0D010E0AB65079B002B0CD1029A03335343039A54431C196B461B7D3F19BB716B461B7E7B7109B0F0BD7C0D0020FFFF0000F7FFFEFFFF7FFFFF10B504000220002C08D1002906D0044B200019600349FBF745FC200010BDC0467C0D00203987000003000220002B04D1482218000149FF328B5470477C0D002010B504000220002CD2 +:000086010003D12000FBF7F8FB200010BD02000220002A09D10323594346230448FF334118C25410008A710A717047C0467C0D002070B504000225002817D10100FFF7E6FF01212000FFF7E2FF29002000FFF7DEFF074B25001A00FC329465AC2252009C54083A9C544822FF329C54280070BDC0467C0D002002000220002A05D1032310005943024B59188A717047C0467C0D0020AE235B004343F7B5174C1F00E3181A004832FF32019111780500012922D14933FF331E780023033113700522FDF700FF032E08D8032307217343DB19E3181A7901320A401A71AE235B006B431F00E3184E33FF331E702800FBF716FAE359019928009847F7BDC0467C0D002010B504005C +:0000870100FEF76EF9A4300268094B1A4205D020001021FFF7BDFF012009E0AE2040006043044B1818FC30806D431E9841C0B210BD43C000007C0D0020F8B50400082900D9D9E0080002F0CEFC050C1A1F27404565C3002000FBF748FB674B0F22052154E020000521FDF7E0FE2000FFF7C7FF002800D0C0E02000FBF755FABCE02000FBF733FB202103E02000FBF72EFB08212000FFF77EFFAFE0AE235B0063435749CA184932FF321578052D0BD107212000FDF76DFE002800D19EE029002000FBF790F999E05B58102194E007212000FDF7ACFEDCE72000FBF708FBAE235B006343474A0421D31801225933FF331A7020000432FDF766FE2000FBF769F900220100200034 +:0000880100FFF72AFE032206213B4B2000FDF7B0FE71E006212000FDF787FEAE235B006343364DEB185933FF331B78002B07D02000FBF74CF9012201002000FFF70DFEAE235B006343EB181A004832FF321278012A16D11A004932FF321278022A10D8FC339B6D002B04D010212000FFF711FF07E02000FFF743FF002802D12000FBF7D2F9AE277F006743EE1933005933FF331B78002B13D0FC36B36D002B0FD02000FBF715F93B00383301004322E818FBF720FBEB59B16D200098470023B365AE235B005C4300232D195935FF352B7013E010212000FFF7DDFEAE235B00634307490020CA1815005B5801215932FC35FF32A865107020009847F8BD018900007C0D002052 +:000089010010B50400081F03282FD802F0EBFB022A1E15AE235B006343144AD3184833FF331B78012B21D12000FFF7E8FE00281CD12000FBF777F918E0AE235B0063430B4A08219B58200098470FE0AE235B006343064AD318190000225931FF31FC330A709A6520212000FFF793FE10BD7C0D0020F0B589B00400FEF733F8AE2252006243414903278A1813004933FF3347321D78FF3207331B78167804930597012E02D10026167005960026B54208D102006732167866303702067872013E001643AE220320520062436843049B801808180779180340237F02074388184F30FF300078184307430020049B37439B000793264BBC469F18079B984209D03B6986181B58B2 +:00008A010004300693204B9E19069B7361F2E7AE22520062438E18310063460022143173632000029101920093059A049B2900FBF7A9F9FDF72AFF330001224833FF3307001A702000FFF75AFE002818D133004633FF331B78013B012B04D94E36FF363378062B09D1013D012D06D8084B022204212000FDF77DFD02E02000FBF7D3F83800FDF707FF09B0F0BD7C0D002001890000F7B5050008A8068809A8077801930220002D20D14820104CFF30205C844663460F20012B17D03A30FF302154A72149006254072250210A9B3A40FF3162542361A5226B4652001B79A65202322800A354FFF746FF2800FEBD7C0D00201FB500236C46029301932380FFF7CAFF04B010BD59 +:00008B010030B51C0085B0019400236C46089D02952380FFF7BDFF05B030BD0000F8B504000220002C2ED1FDF7B0FE052106002000FDF7FAFC04212000FDF7F6FC07212000FDF7F2FC2000FAF7E7FF0F4D48272B00FF37FC33EC559C65AC235B003000EC54FDF797FEA42305265B00EE540721074B14222000FDF7FCFC01233100EB552000FAF7AEFFF8BDC0467C0D002001890000F7B505000220002D1BD148260D4CFF36A35D0D30012B14D0A42306275B00E754FDF76BFE01230190A3552800FFF79EFD002802D13900FAF78BFF0198FDF761FE0020FEBD7C0D002010B5FBF717FB10BD10B5FAF7B3FF10BD0223002805D101214F33034AFF33D154030018007047C04684 +:00008C01007C0D002003000220002B04D1A8221800014952008B5470477C0D0020AE235B005843024B383018187047C0467C0D00200A235843024B1818002343727047C046D80E00207047F8B506000F00FDF7C8FE020086321378012B0AD10025C830036804001570AB4203D03900300098472560F8BD10B51021FEF73DF810BD10B50400142909D10C31FEF735F80A206043054B18180023037104E0152902D12B31FEF729F810BDD80E002010B50400FDF798FE0200094B923213802B3A1278002A00D0064B020090308E3213800F21038012222000FDF7F5FB10BD0404000002020000F0B587B005AF060039800092FDF778FE0A237343009C294A0F3CE4B2D3181B198A +:00008D0100029300230500029A3000D3713F5DFAF7CBFE2B008E33049300283CD12C19230022008E3303931B7890320192BB4208D1137000993000FDF7F7FB0123029AD37128E0019B1B78BB421AD02B00713319788C2201290DD1290074310978032908D81B78813A012B04D167352B78012B00D1083A009930009034FDF76EFC277009E000993000FDF782FB002803D1019B039A1B781370049B188807B0F0BDD80E002070B504000D00FDF71BFE030001226E3383301A70142105702000FDF7B5FB20002021FDF7CDFF02212000FDF793FF70BD70B505000E00032920D1FDF701FE030080228E331B8804005200934233D004D8002B19D0012B0FD00DE00222FF32934270 +:00008E010006D00132934206D1023A0023FF3A24E0300005210AE0002300221EE001291FD12121FDF7C1FF1BE00420010000231A0026006F3632700126724026007036327022007432107013712800FFF7A9FF00236E34237004E001231A0001200621E7E770BD0000F7B504000191FDF7B9FD030005000198C0331E680138593B1F78052800D9CBE002F02EF90396CA5041202B0073331F7023212000FDF786FF2B0001227D331A700D3B19782000FAF737FDFDF763FD002808D0FDF75FFD594B020015212000FDF755FBA9E0012F00D0A6E02B0078331B78012B04D17035297820007369984720004F49736898472000F3684E4998474B4BFA2220001421FDF739FB0A23C5 +:00008F010001225C43494BE25488E00A236343474A9B5C012B16D1AB7C0321012B00D101212000FFF73DFF79E014212000FDF7FCFA20212000FDF714FF0A2363433B4A9F5C012F08D020000321FFF72AFF03212000FDF72AFF62E01422324952422000336A98470028DBD0336A14222E49200098470028D4D12000FDF733FD0300050072331F7002212000FDF70FFFAB7B012B0ED16F35297820004B1E9941C9B2FAF786FC2000FAF723FD2000FEF776FB36E077352F7033E000212000B369984701212000B36998472B0000270122B4331F6072354A3B1F701A712F700A2520006543FEF76EFB134A13212000FDF736FB0F4B1421EF542000FDF798FA30212000FDF7B0FE81 +:0000900100074B142101222000FDF7B2FA074B09495D19012320006B7233699847F7BDC0467D8C000088130000738C0000D80E0020D5020000318C000010B50400FBF7FAF82000FAF70BFD10BD70B50500FDF7C8FC04002800FBF7BCF8230001226E3328001A70FEF72CFB2300032283331A700223A834280023601B21FDF796FE70BD70B504000D00FDF7ACFC030067331E78012E16D124331D701A3B1978C9B2002906D12A002000FAF74CFC2A00310002E02A006F3001782000FAF743FC3220FCF7AAF970BD70B505000E00FDF78AFC0400012E1FD1030072331E705E7102331B78042B0DD103008B331B78002B03D000212800FFF7C5FF703421782800FAF70FFC2800E3 +:00009101000221FDF751FE142213212800FDF7A4FA0FE0022E0DD102000023723277341370032128002370FDF73FFE03212800FFF737FE70BDF8B5050017000C00FDF750FC030006008B331F703A0028002100FAF7F7FB210028003419FAF7B8FB220002238E32903413702370F8BD0000F8B50400012938D1FDF734FC0A2262431D4B05009A18527A1E00002A05D10300C0331B6820009B6A98470A2363432A00F318002601275E709A325E71134B16703100320020001F55FFF7BEFF320039002000FFF7B9FFC820FCF726F92B0067331F70013B1F702000FFF768FD2B0072356E331E70DE702E7004E0052902D10239FFF7D8FDF8BDC046D80E00207410002070B50D00B3 +:00009201000400FDF7EDFB290082782000FFF792FF70BD70B504000D000220002C07D12000FAF77CFB20002900FAF750FB200070BD70B50500FDF7D4FB03000400C03328001E68FEF73CFA28000021FFF7E2FF01212800FFF7DEFF2800FAF754FB28003369002198472800B36900219847B369280001219847280018220F21FDF721F92200002383321370253213600E3A1370283A1370013A13706E340133237070BD0000F8B504000E00FDF79BFB0500012E1BD10300C0331F680A236343274AD3189B78002B06D102007232137031002000FDF76BFD01236E352B703B692049200098471F4B204A142128E0331F012B29D82000FFF79EFF0A236343174AD3189A78012A36 +:000093010015D100229A702B00A1331B78934202D12000FAF785FB01212000FFF794FC1A212000FDF741FD002387352B7012E001233222152183352B70094B2000FDF718F908E0062E06D120000121FFF77CFC2000FFF77AFEF8BDC046D80E0020738C00007D8C00007102000010B50400FAF758FB2000FFF75DFF00212000FFF764FC10BDF0B587B00400FDF72BFB01902000FDF727FB03006E331B780500DBB2009303007A331B78012B74D00300C0331F683D3B1B78029303006F331B7820000393FAF74BFE2B008C331880029B061C032B09D0011C0F222000FFF783FC1022311C2000FFF77EFCF2B21300012A08D03204120E1300012A03D0B6B273427341DBB229000D +:00009401002E008E31098805AA11807136317800292DD1009900293CD1029903291DD1002B37D0C8213B6A009A89002000984700282FD100992000FFF7E1FE20000121FFF7DDFE20000221FFF7ABFC6B461B786E352B702000FFF728FC1BE01188C8B201285DD0080A01285AD0002958D0A2E0009B002B0ED1039BD35C022B0AD16B461B78042120003370FDF735FC15212000FDF74BF801990820A831FDF78EFB0100072800D9A1E02AD12000FDF79AFA0600FDF7ECF933008A331B780500042B1AD8180001F010FE0303030E1400484A2000D15CB170FFF7D4FD01212000FFF7B4FB09E00A236343424AD31801229A7001212000FDF700FC2800FDF7CCF975E0002804D1F5 +:000095010001312000FFF74CFC6EE0019B374A83331B7820009B00D3185B68984764E02B00903312881B889A42B3D1C8210022890020003B6A9847002816D1BB6A2000984712212000FCF7F0FF012333702B00A1331B78002B03D0062383352B7099E708212000FDF7C7FB94E70A256543204B5D196B79002B0AD101336B7120007B6A9847322212212000FDF767F882E712212000FCF77CFF002800D07BE7BB6A200098476978002900D074E72000FDF7FDFB01236B706EE7002B00D06BE72000FDF710FA83300378022B04D103212000FFF7E8FB05E014212000FCF759FF0028F4D022212000FDF7E1FB54E707B0F0BDF8B90000D80E002070B504000E0015000021AC22E8 +:000096010002F088F82300A834A4331E60256070BDF0B50C00050089B005A8039200F095FD21006A6805A800F055FE041E1BD12E000836310005A800F0F3FF002811DA2A0005A900941432330008006F6801F0D4FB041E08D13A00039905A800F072FE040001E00424644205A800F07EFD0020844201D0024BE01809B0F0BDC04680BDFFFFF0B5C9B046684EAB1D783300103BF02B01D9474889E008AC22005199FFF7B8FF2378002B01D043487FE01A2302AA9B1804936378012BF6D1731EE31804980278002A06D09842EED2FF2AECD101300490F4E701304F9B041B0490341B9C4209D1002D07D11A00509901F0FCFF00285BD031485AE0280001F08BFC0028C9D001F0A7 +:000097010095FC049B07001E1903AA3023310004A800F0E5FA0028EBD1039B02339C42E7D1302303AA310004A800F0D9FA0028DFD1039B0633DB199C42DAD1062306AA310004A800F0CCFA0028D2D1049B069A07939B18049302ABDC1C210005A8019201F0A1FC0028C4D12378AB42C1D1052303AA310004A800F0B3FA0028B9D1042303AA310004A800F0ABFA0028B1D1039B9F42AED1049C3A005099200001F0A3FF0028A6D1E719BE42A3D1002049B0F0BDC04680BFFFFF00BFFFFF80BCFFFFF0B589B0079200220EAB80CB1D4C1D880590069120001100FFF70EFF1A4EAA08D2B23900300000F0BAFC79190122174800F0B5FC300000F045FD154D07302B78C008606065 +:0000980100002B09D1124F380000F09FFC3900300001F0E8FA01232B70079B20000393059B0293069B01930623009300231A001900FFF726FF43425841C0B209B0F0BDC046841000208C10002098100020E20E00207810002010B56C22002101F05BFF10BD002807D0030000226C33984202D002700130FAE7704710B56C2201F042FF10BD00230360436099420FD1114B8360114BC360114B0361114B4361114B8361114BC361114B0362114B0EE0114B8360114BC360114B0361114B4361114B8361114BC361114B0362114B436281667047C04667E6096A85AE67BB72F36E3C3AF54FA57F520E518C68059BABD9831F19CDE05BD89E05C107D57C3617DD703039590EF7C8 +:0000990100310BC0FF11155868A78FF964A44FFABE0023F0B5D1B00790079AD21892680092009808AA98500433202BF5D120220F9B524206930E9B0C9C01930D9B089802930B9B05930A9B0393099B9C4608ABD21800230093009B0F2B0BD80D784B782D061B041D43CB781D438B781B022B4313641BE0956B11262F005368F74104932E001323DE41AD0A7E406E40536A1568049F5D1907237519049EDF410B33DE41049B7E40DB085E40AE191664062325002600DD410533DE41192375402600DE41009B75409E002A4B0700F358166C04319B19ED18019E029B04325E40019B26405E40069BAD19EB18059D06005D1904950225EE410B35EF4116257E400700EF417E40AC +:00009A01006746039D07432F40654605403D437519ED18009B01330093019B0693039B0593009B402B08D063460393029B8446029428000193049C8DE7019B0D940F93049B08950C93029B09900E9363460A93039B0B930023079AD118886808AA8446D2580433009262448A60202BF3D151B0F0BD18BA0000F7B5050003683F2018409B180E0014002B609A4202D96B6801336B60002811D040273F1AA7421CD82B002833310018183A00019301F02BFE01992800FFF72EFFF619E41B2700E11B71183F2F04D92800FFF724FF403FF6E70020A3099B01F618E41A002C05D0283528182200310001F00EFEF7BD10B5002A01D0FFF7C1FF10BD73B504006E46006863680D0036 +:00009B0100DA00430F13431A0E32701A0C72701A0AB2703F22C100F3700B0E33710B0C73710B0AB371F17102403823372A00D978239A1A32492000FFF7D7FF082269462000FFF798FFA3681B0E2B70A3681B0C6B70A3681B0AAB70237AEB70E3681B0E2B71E3681B0C6B71E3681B0AAB71237BEB7123691B0E2B7223691B0C6B7223691B0AAB72237CEB7263691B0E2B7363691B0C6B7363691B0AAB73237DEB73A3691B0E2B74A3691B0C6B74A3691B0AAB74237EEB74E3691B0E2B75E3691B0C6B75E3691B0AAB75237FEB75236A1B0E2B76236A1B0C6B76236A1B0AAB76236AEB76A36E002B0AD1636A1B0E2B77636A1B0C6B77636A1B0AAB77636AEB7773BD18BB000016 +:00009C0100F0B51F000E00050014009DB001A8FFF721FE390001A8FFF733FE3200290001A8FFF762FF210001A8FFF764FF01A8FFF717FE1DB0F0BD70B503680400CD1A002D01DC602049E01E7870B2002804DB581C20601B78136038E07F203040013803283AD801F03FFA02091421012DE9D05B7813602368023327E0022DE2DD5D7898782D022B0003431360236803331CE0032DD7DD587805049878DB780002284318431060236804330FE0042DCADD587805069878000428431D790543D8782B0000020343136023680533236023680020C91A13688B4202D9B4E76420404270BD70B504680D1B002D07DD25789D4206D101340460FFF7A0FF03E0602000E0622040428D +:00009D010070BD0023F0B516001C00844211D035689D42BF41ED1A3560A300CB587F429C469D429B415B42DB196746ED1B20C60134EBE7A4001219002B06D01168C81A99429B4101C25B42F6E7F0BDF0B50E001500002487B003900491059201930290029B0F2B00D825E100233068019A190001F063FB2B682018A042A441C01898429B41644267185B42DF19002328607068019A190001F051FB3818B8429B415F426B687F18C01898429B415B42DC1900236860B068019A190001F03FFB2018A0429B415C42AB686418C01898429B415B421F190023A860F068019A190001F02DFB3818B8429B415F42EB687F18C01898429B415B42DC190023E8603069019A190001F00D +:00009E01001BFB2018A0429B415C422B696418C01898429B415B421F19002328617069019A190001F009FB3818B8429B415F426B697F18C01898429B415B42DC1900236861B069019A190001F0F7FA2018A0429B415C42AB696418C01898429B415B421F190023A861019AF069190001F0E5FA3818B8429B415F42EB697F18C01898429B415B42DC190023E8611900306A019A01F0D3FA2018A0429B415C422B6A6418C01898429B415B421F1900232862706A019A190001F0C1FA3818B8429B415F426B6A7F18C01898429B415B42DC1900236862B06A019A190001F0AFFA2018A0429B415C42AB6A6418C01898429B415B421F190023A862F06A019A190001F09DFA38181D +:00009F0100B8429B415F42EB6A7F18C01898429B415B42DC190023E862306B019A190001F08BFA2018A0429B415C422B6B6418C01898429B415B421F1900232863706B019A190001F079FA3818B8429B415F426B6B7F18C01898429B415B42DC1900236863B06B019A190001F067FA2018A0429B415C42AB6B6418C01898429B415B421F190023A863F06B019A190001F055FA3818B8429B415F42EB6B7F18C01898429B415B42E863DC19029B4036103B02934035D5E6039B1F093D015D1B049BBF01DE19059BDF19072D00D88FE000233068019A190001F031FA2018A0429B415C423B686418C01898429B415B421C19002338607068019A190001F01FFA2018A0429B418C +:0000A001005C427B686418C01898429B415B421C1900237860B068019A190001F00DFA2018A0429B415C42BB686418C01898429B415B421C190023B860F068019A190001F0FBF92018A0429B415C42FB686418C01898429B415B421C190023F8603069019A190001F0E9F92018A0429B415C423B696418C01898429B415B421C19002338617069019A190001F0D7F92018A0429B415C427B696418C01898429B415B421C1900237861019AB069190001F0C5F92018A0429B415C42BB696418C01898429B415B421C190023B861019AF069190001F0B3F92018A0429B415C42FB696418C01898429B415B421C19F861EB08DA00AA1A5D017B191F007519160003920293002EE7 +:0000A1010013D0002301CD1900019A01F095F92018A0429B415C423B686418C01898429B415B421C1901C7013EE9E7039B029A9B00D3181A68A218A242894104C34942944201D90C00F5E707B0F0BD002804D0012303600023436083607047002803D00123426003608160704710B5041E11D08368002B09D000214268013A02D319600433FAE7A06801F0A4FA0123236000236360A36010BD164BF7B505000F00994202D91024644221E043680024009399421CD90421380001F056FA0190A042F0D0AE68A6420ED0009B31009A0001F09AFA009B5A1E009202D334600436F8E7A86801F077FA0024019B6F60AB602000FEBDC04610270000F8B505000E000027884223D054 +:0000A201008F68002F02D1FFF7AFFF1DE04B685A1E002A05D09300FB58002B01D1013AF7E73368541C2B6021002800FFF7B3FF071E0AD16B6801009A00A86801F06BFAA868A200B16801F05DFA3800F8BD70B50C0001210500FFF79EFF061E0ED16B6801009A00A86801F056FAE117AB6862184A401A600123E4171C432C60300070BD000010B50400406800281AD00E4B421EC3189B00A168002A05D0C858043B002801D1013AF6E79300C858802100230906014203D101334908202BF9D152012032D01A10BDC046FFFFFF3F10B5FFF7D9FF0730C00810BDF7B50600150000240191AC4203D0019B1B5D002B0CD003212B1B19404A1E91419B08C9183000FFF74BFF0028D4 +:0000A301001ED101E00134EAE701003000FFF79EFF2900002814D16B1AA14211D9B7689A089200BA18019F01397F5CDB00BC4618273B4067469F403B0017683B431360EAE7FEBDF8B505000E001700FFF7BDFF0400B84218D83A000021300001F0DBF9182322009C463F1BA31A013A0AD361469808DB000B40A96880004058F119D8408854F1E7002001E008204042F8BDF7B51F2604000F004D090E40FFF772FF63683F185B019F4202D8002D0FD10BE01F2139404B1E99417F09C9192000FFF7EBFE0028F1D036E0002E1BD118E06368194AA9009A1892004942AB4206D9A068013B87187F588750043AF6E7124A9B1800229B00191DE7D0A168CA50043BF9E7002018E01E +:0000A40100202100208A1BAB00019262689542F5D2A2680135D21817683900B1401160A268D21811680433084310603800019AD040EBE7FEBDFFFFFF3F1F23F7B54A09194043689A4202D805D1002915D00021FFF7FDFE3BE00023002A02D100291BD118E04468A41AA3420AD285689C18A40066599C0066510133F3E7002A0AD00B0000249A004568AB42E8D285680133AC500432F7E700201AE02025002642680C4B6C1AD3189B000194002AF3D08468013AE41827683D00CD4025608468E4182568043B2E4326603E00019CA640ECE7FEBDC046FFFFFF3F30B5050043681C4A9A189200002B06D0A8688058043A002801D1013BF6E74A6815481418A400002A06D088682C +:0000A501000059043C002801D1013AF6E71C0000201443844219D00130934216D813D30B4A9A189200002B0AD0A868845888688058844206D8043A844205D3013BF2E7180003E0012001E00120404230BDFFFFFF3FF0B5150089B007930E9B07005A686B68059101339A4256D30E9B9868002852D09200002101F0CEF80E9B9B6804936B680093059B009A5B680193934200D901920026009B049C01339B000393009BB8689E4220D0B300C35801980293059B029A996801360B68534322689B18079A5A43029B06922200FFF7C0FB2200069BA9680098FFF7BAFB0434029A231F1A600023039AA350DAE7039B039A191F049B591801F087F829003800FFF76CFF002802DB48 +:0000A60100BA68A96802E00E9BB9689A683000FFF778FB002001E00420404209B0F0BD000070B5244A43689A189200002B06D08468A458043A002C01D1013BF6E74C681D4AA2189200002C06D08D68AD58043A002D01D1013CF6E71D0000222543954226D0A34201D9026822E00D686A42A3421ED30268002A01DD002D15DB002D01DD002A13DB0C4C1C19A400002B0AD085682E598D682D59AE420AD8043CAE4206D3013BF2E71A0003E0012201E001225242100070BDC046FFFFFF3F1FB5CA178B18534000930123C917194302936B46019101A90393FFF7A5FF05B000BD0000F7B505001400904206D0884205D0FFF783FD071E01D04FE00C0001232B606668264BF31816 +:0000A701009B00002E06D0A268D258043B002A01D1013EF6E731002800FFF73CFD071E39D1A36839000093AB683C0018000193B14210D0009A8B00D35801319C460368E318A342A441634408C063459B4162425C42A418ECE7019AB3000093D218002C19D0731C01936B689E4208D301992800FFF711FD00280DD1AB68009A9A181368019EE318A342A44108C2009B644204330093E4E707003800FEBDFFFFFF3FF0B50F0085B00600110038001500FFF793FE00282FDB01230193002302930393B54206D1290001A8FFF716FD041E1DD101ADB74206D1012333606868104BC3189B000CE039003000FFF706FD041E0DD1F1E7AA68D258043B002A02D101380028F7D1B2688D +:0000A80100A968FFF77EFA002401A8FFF7ADFC200001E00A20404205B0F0BDC046FFFFFF3FF8B50D68136804006B430E001700002B14DA11003000FFF74DFE002805DB3A0031002000FFF7AAFF0AE0320039002000FFF7A4FF6D42002804D004E0FFF73EFF002800D12560F8BDF8B50D68136804006B430E001700002B14DD11003000FFF729FE002805DB3A0031002000FFF786FF0AE0320039002000FFF780FF6D42002804D004E0FFF71AFF002800D12560F8BDF0B50023160001228BB005000F00049205930693079208930993884206D1010004A8FFF78FFC041E55D104AFB54206D1290007A8FFF786FC041E4CD107AE7B68294A02939B189B00029A002A08D0BA6864 +:0000A90100D258043B002A03D1029A013A0292F3E77368214A01939B189B00019A002A08D0B268D258043B002A03D1019A013A0192F3E7029B019A28009918FFF72BFC041E21D101002800FFF781FC041E1BD1019B114A9B189B000393019B002B0FD0AB68039A03999A18B36802985B58B968FFF7ECF9019B013B0193039B043BEBE73A68336853432B6007A8FFF7EEFB04A8FFF7EBFB20000BB0F0BDFFFFFF3F1FB50123019302936B46009201AA0393FFF780FF05B000BDF0B507009BB00E001800002103920193FFF778FE002800D1D0E101250023290008A8089509930A930B950C930D931195129313931495159316931795189319930E950F931093FFF727FC041E0E +:0000AA010000D0B0E1802108A84901FFF7BFFC041E00D0A8E184210EA8FFF7BCFB041E00D0A1E101990BA8FFF7E5FB041E00D09AE10EA80B950895FFF797FB0BA8FFF720FC1F2318400790079A1E2A11D8079A08A89B1A07930799FFF799FC041E00D082E107990BA8FFF792FC041E00D07BE100E00794099B0BA8013B05930C9B0293013B0693059B0699591A4901FFF77FFC0400051E00D067E10BA908A8FFF7C1FD002808DB08A90BAA0800FFF7DEFE0135041EF1D058E1059B06990BA8591A4901FFF7BBFC041E00D04EE10BA90EA8FFF792FB041E00D047E10BA8FFF746FB412111A8FFF758FB041E00D03DE1010011A8FFF7ADFB041E00D036E1812114A8FFF74AFBA5 +:0000AB0100041E00D02FE1032117A8FFF743FB041E00D028E1059B069A9B1A139A9B009D50059B0493049A069B9A4200D8E8E0049806990A9B109A80008900C058895888420AD3049B8C49069A5B1801219B1A139A9B004942995020E0049D874806992D186D1A1399AD0049190291834D04990498890040198000C958C058069B9B009A58002A06D0914204D2002300F035FC002901D001204042029B1860049B7649069A5B189B1A139A9B00D3181A6801321A60049B7149069A5B189B1A139A9B00D3181A680021013A1A6014A8FFF73FFB002800D0C5E0069B169A002B05D06649069B5B1810999B0058581060069B10999B005B58169A60495360049B069A5B189B1AFD +:0000AC0100139A14A99B0008009A58FFF7C7FE011E00D0A7E017A8FFF719FB002800D09FE0049B199A012B05D95449049B5B180A999B005858002304991060199A994205D04D49049B5B180A999B005B585360049B0A999B005B58199A0291936017A914A8FFF7DEFC0028A3DC049B4349069A5B189B1A139A9B0002920EA99A5814A8FFF78DFE00286CD104993D4A069B8918C91A490114A8FFF77AFB002861D108A9080014AAFFF7E1FD011E5CD108A8FFF704FD002822DA0EA914A8FFF79CFA00284FD104992F4A069B8918C91A490114A8FFF75DFB002844D108A914AA0800FFF7A0FD00283DD1049B2449069A5B189B1A139A9B00D3181A68013A1A60049B013B10E75C +:0000AD0100002F0BD011A93800FFF774FA002827D1039B1A68019B1B6853433B600EA8FFF723FA11A8FFF720FA14A8FFF71DFA17A8FFF71AFA002E16D0079908A8FFF77CFB00280DD1012508A930000895FFF752FA011E07D13000FFF7AFFC002803D13560040000E00C0008A8FFF7FEF9200001E00C2040421BB0F0BDFFFFFF3FFEFFFF3FFFFFFF0770B504000E00100000211500FFF792FC002822DB2B00320021000020FFF708FE00281CD100212000FFF784FC00280CDA2A0021002000FFF731FDF1E72A0021002000FFF74FFD002809D129002000FFF725FC0028F2DA002001E00A20404270BD10B502000800FFF7CBFF002800D1013010BD0000F0B5A1B002900E00FF +:0000AE01001800002107921F00FFF756FC002800DAF7E0BB681C68E30700D4F2E000210798FFF74AFC002800DAEBE008220321A31C5B0013401D19063A2B0063430139D31A5D430029F8D10123302214A80B930C910D910E930F91109100F05CFC7B680298013319000393FFF795F9041E00D0BAE0039917A8FFF78EF9041E00D0B3E0039B0BA85900FFF786F9041E00D0ABE033680693013309D131000EA8FFF7ABF9041E00D0A0E001230EAE0E93269B002B0AD09B68564803930C222699002B01D10100269800F01EFC39003000FFF7A9FB002814DB3A00310017A8FFF754FF041E00D081E06B42494D0BAE00963A00290017A80393FFF72DFB041E75D104E0310017A8FC +:0000AF0100FFF778F9EAE729000298FFF773F9041E69D101250AAB13930096039B3A0011A902980A9511951295FFF712FB041E5AD1079B04905B6809950593049B002B06D1059B002B33D0013B059320230493049B013B0493079B9B680893059B089A9B009E58049BDE40099B1E402300334301D11C00E2E702990BAD0095039B3A000800002E07D1012C05D1FFF7E2FA041E2AD10124D2E7FFF7DCFA041E24D10C21714314AB59180095039B3A000298ECE701230A93119312930AAB13930BAB00933A00039B11A90298FFF7C3FA041E0BD1069B013308D1029B069A39001A6018001A00FFF71EFC040017A8FFF7BEF817A8FFF7BBF80BA8FFF7B8F80EA8FFF7B5F82000B8 +:0000B0010001E00420404221B0F0BDC04678100020044B052803D0044B062800D0002318007047C04688BB000058BB0000002801D08068C0B2704710B5FEF76AFC10BD10B5FEF719FC10BD10B50400FEF709FC200000F03EFB10BD10B56C21012000F002FB041E01D0FEF7F6FB200010BD10B50123FEF7C6FD10BD10B50023FEF7C1FD10BD10B5FEF737FD10BD10B5FEF72DFD10BD10B50121FEF7F4FB10BD10B50021FEF7EFFB10BD70B505000E00002811D00C4C2034206800280AD062686B689A4204D1A96800F00FFB002806D01434F1E72E3804E02E20404201E0237C337070BDC04648BC000002B4714649084900095C49008E4402BC7047C04603B471464908400051 +:0000B101004900095A49008E4403BC7047002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B8B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A524143088B4201D34B00C01A5241411AF5 +:0000B2010000D20146524110467047FFE701B5002000F0F0F802BDC0460029F7D076E7704703460B437FD4002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B8B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524154 +:0000B3010083088B4201D38B00C01A524143088B4201D34B00C01A5241411A00D201465241104670475DE0CA0F00D04942031000D34042534000229C4603098B422DD3030A8B4212D3FC22890112BA030A8B420CD3890192118B4208D3890192118B4204D389013AD0921100E08909C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A5241D9D243088B4201D34B00C01A5241411A00D20146634652415B10104601D34042002B00D54942704763465B1000D3404201B5002000F005F802BD0029F8D016E770477047C046002B11D1002A0FD1D0 +:0000B40100002900D1002802D00021C943081C07B4024802A14018029003BDC046D9FFFFFF03B4684601B5029800F032F8019B9E4602B00CBC7047C046F0B54F464646C0B41604360C9946330005042C0C070C150C63437E436F4365431C0CAD1964199C46A64203D980235B02984647446346250CEF191D044B464A4343432D0C240464199918C91920000CBC90469946F0BDC046F0B54D46564644465F46F0B4924683B004000D0099468B422FD82CD04946504600F0AEF829000600200000F0A9F8331A9846203B9B4600D574E053465A4693401F005346424693401E00AF4229D826D05B46A41BBD41002B00DA79E0002200230092019301235A469340019301234246D2 +:0000B501009340009319E08242D0D900220023009201930C9B002B01D01C605D600098019903B03CBC90469946A246AB46F0BDA342D6D900220023009201934346002BE8D0FB0772081A4346467B080EE0AB4201D1A2420CD8A41A9D41012024196D410021013E24184D41002E06D0AB42EED9013E24196D41002EF8D15B460098019900196941002B22DB2B005A46D3402A004446E2401C005B461500002B2CDB26009E40330026004746BE403200801A994100900191AEE7424620239B1A5246DA40414613004A468A4017001F4382E7424620239B1A2A0046469A402300F3401343D5E74246202300219B1A0022009101920122DA40019282E74246202326009B1ADE408D +:0000B601002F00B446974066463B003343C9E7C04610B5002903D100F007F8203002E0081C00F002F810BDC0461C2101231B04984201D3000C10391B0A984201D3000A08391B09984201D30009043902A2105C40187047C0460403020201010101000000000000000010B5034B0A000100186800F059F810BD14010020014B18687047C046140100200E4B70B500251E000D4CE41AA410A54204D0AB00F35898470135F8E700F086FB084B00251E00084CE41AA410A54204D0AB00F35898470135F8E770BDBCBD0000BCBD0000BCBD0000C4BD000010B5034B0100186800F032F810BDC0461401002030B50024A24208D0035D651C0C5DA34201D0181B02E02C00F4E70020F3 +:0000B7010030BD002310B59A4203D0CC5CC4540133F9E710BD03008218934202D019700133FAE770474A4370B51100140000F054F8051E03D022000021FFF7ECFF280070BD70B50500002944D00C1F2368002B00DAE418280000F0B2F81E4A13681100002B02D16360146031E0A3420DD92268A018834203D118685B688218226063600C6024E0A24203D813005A68002AF9D11E689819A0420BD12168711858181960824214D110685268411819605A600EE0A04202D90C232B6009E021686018824203D1106852684118216062605C60280000F076F870BDE80E0020032370B5CD1C9D43083506000C2D01D20C2501E0002D01DBA94202D90C23336048E0300000F05EF879 +:0000B80100234B1C681A002100002913D00B685B1B0DD40B2B02D90B60CC181EE08C4202D1636813601AE04B6863600C0016E00C004968E9E7174C2368002B03D1300000F02BF820602900300000F026F8431C18D00323C41C9C43A0420DD12560300000F02EF8200007220B30231D9043C31A0ED05A42E2500BE0211A300000F00DF8431CEBD10C233000336000F019F8002070BDE80E0020E40E0020002370B5064C050008002360F7F78CFF431C03D12368002B00D02B6070BDC046301100207047704700000000CCFBFF7F0100000000010203AD2500009D230000B11D0000E52700004927000085240000151E000079230000B1280000C91D0000B51D000021240000ED +:0000B9010041210000000000005124000091200000351E00001947000039480000994E0000F1490000A54600003948000001FF000018E30800181B0300D8600300984F0300789A080093730E008C0F0E0000060000010600000407000000030507000005400000064000000740000008400000024000010240000202400003024000040240000004400001044000020440000304400004044000000A400010002000000000000000000000000000010000E16D0000C57900000D790000C57400007D78000023740000DB7300004975000035700000E17B0000E5740000B97200006571000009770000257B000035760000BD700000C9810000297F000000010200458C00005E +:0000BA0100A1920000D18D00006D910000C3900000C3900000658E0000982F8A4291443771CFFBC0B5A5DBB5E95BC25639F111F159A4823F92D55E1CAB98AA07D8015B8312BE853124C37D0C55745DBE72FEB1DE80A706DC9B74F19BC1C1699BE48647BEEFC69DC10FCCA10C246F2CE92DAA84744ADCA9B05CDA88F97652513E986DC631A8C82703B0C77F59BFF30BE0C64791A7D55163CA0667292914850AB72738211B2EFC6D2C4D130D385354730A65BB0A6A762EC9C281852C7292A1E8BFA24B661AA8708B4BC2A3516CC719E892D1240699D685350EF470A06A1016C1A419086C371E4C774827B5BCB034B30C1C394AAAD84E4FCA9C5BF36F2E68EE828F746F63A57818 +:0000BB01001478C8840802C78CFAFFBE90EB6C50A4F7A3F9BEF27871C68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000B8BB000020000000400000009BB0000089B0000081B0000077B0000057B0000047B000003FB0000037B0000005000000BFBB00001C0000004000000091B0000089B0000081B000006DB0000057B0000047B000003FB0000037B000005348413235360053484132323400000032BD0000090000003CBD000054BD00000501000065BD0000090000006FBD000087BD00000601000098BD000009000000A2BD0000A2BD000058 +:0000BC0100000600000000000000000000000000000000000000000000D2BC000009000000DCBC0000EABC000001000000EEBC000007000000F6BC000005BD00000200000014BD0000050000001ABD000022BD0000030000000000000000000000000000000000000000000000AABC000009000000B4BC00005DBD000005000000BEBC000009000000C8BC000090BD000006000000000000000000000000000000000000000000000025642E2564006086480165030402040069642D736861323234006086480165030402010069642D736861323536002A864886F70D01010100727361456E6372797074696F6E00525341002A8648CE3D02010069642D65635075626C6999 +:0000BD0100634B65790047656E65726963204543206B6579002B8104010C0069642D65634448004543206B657920666F722045434448002A864886F70D01010E0073686132323457697468525341456E6372797074696F6E005253412077697468205348412D323234002A864886F70D01010B0073686132353657697468525341456E6372797074696F6E005253412077697468205348412D323536002A864886F70D01010A005253415353412D50535300430000F8B5C046F8BC08BC9E467047491D000069540000F8B5C046F8BC08BC9E467047211D0000E8BD000090000020880000002010000000000000000000001300080000000020EE0200000000002038110020AF +:0000BE01000001030000020002000200020000000000000000000000000000000000000000000000000000000000000000ADBD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B4000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F7 +:0001FF0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4011D00001700000000A7000000000000000000594359430200000002000000000000000000000000000000000000000000000000000000000000000000000043 diff --git a/nvidia/tu10x/typec/ccg_primary.cyacd b/nvidia/tu10x/typec/ccg_primary.cyacd new file mode 100644 index 0000000..03b58fc --- /dev/null +++ b/nvidia/tu10x/typec/ccg_primary.cyacd @@ -0,0 +1,281 @@ +1F0511AF0000 +:0000D001000020002001D5000089180100891801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008060332766E0A31AF11051F00000000000000000000000000000000000000008F +:0000D1010059430000002000045A4000000000010000020B000000000000000000000000000C0214002002000020020000200218000000000000000000000000000000000001010200000101050003870000070100010001000000000000000000000000002C9101152CD10200E1C00300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030038023C020000000000000000000000000000000000003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005A +:0000D20100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002D +:0000D30100B404D5F6437970726573730014000000418000FFB4040092000000000000D5F6B404D5F6000000000101000000020000000000000001001B041400000814000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +:0000D40100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B +:0000D5010010B5044B83F30888034A044B1A6004F0E7FEC046002000206588EDAC3800034010B5064C2378002B07D1054B002B02D0044800E000BF0123237010BD280100200000000038DC0100084B10B5002B03D00749084800E000BF07480368002B00D110BD064B002BFBD09847F9E7000000002C01002038DC01009000002000000000F0B5D44AD44B91B0D44C9A4201D8012300E00223D248237005F010F800280AD02378012B01D1CF4801E0FF20400004F079FF08F0C9FD00240122CB4B06211C70CA4B13201A70CA4B5A6204329A62013ADA62023ADA6104F053FFFF21C54BC6481B68C64B1B6823000C3422005A430133821891721F2BF8D1002080220121802438 +:0000D60100BF4B520018705870BE4B24061A60BE4BBE4A9A63DA6C0A43DA64DA6A2243DA625964BB4ABB49BC4C1160BC4ABC4950501051BC4CBC4814501000DC6BA4B2DA6B92B29442FBD0B04AD46B052242508022A5B2520246581642FCD0DA6B93B29D4202D98022520213431B1B0024AF4A1380445062B6AE4BAF49AF4A1C601160AF49AF4A13271160AF4A083914601A68FF390A431A608022AC4B92021A608022AB4B52001A80AA4BAB4A1F80AB4B21001C70AA4BAB481A609022520010F020FAA94D18222100280010F01AFAA74B2026EB6088235B002B828A4BA44A02332B609123AE809B00A24DD358280080222100009310F005FA6B461B88AF806B802B003A337E +:0000D701001E709C4B2C352B6101232B709A4B1C707B4B0333DC77724B53331B78A34200D02C7050220021954810F0E9F96C4B904E47331A78D8235B00F254694B002154331A78BA23FF33F2540122053BF254804B8B4A9B7880249C468A4BC12019601A668122800092006402D9669C501C50864CF425195101242D0164425C51834DFE275951083D5C51824D3F045951083D5C51644664003C43C427BF001D68DC5108278024FF37A4001F510134FF341F51794F01243D4302271D60774DEF702F71684F2C70A982AF6090277F00AF81734F64462F61FE276C70AF7004259D501D501C586F4F3C401C50985807409F5042226648FF321A500120664A6A4F98506A4A6B4BC2 +:0000D8010080201A6080226A4B92001A60524B694A1B784004FB5C9B009A5893680343936005A8082210F06BF92D4A2C4B01921B78474A009602920397012B0BD15E4804F0EBFE0500681E85419123009AED001370557010E0594804F0DFFE9223002806D08024009A05A913705570A4000BE00500009A13705070514B5C682402240C01342102E031A4B22B0708D44B4B5A681202120C01321302E03392B202E0802205AB9200474EE0203500C0C8C0C5280060C960C022CB22C0009B42495A851C85029A414B424853601A008B4200D980E001C3FAE7C046E0D00000FF7F0000A000002000D10000FF01000004090020B5000020FC000140E80F00F0B40C0020EC0F00F09F +:0000D901004401002080E100E0000003406588EDAC60000020A129010018D00000001000E010D000007FBB000014D00000280E0020000008407708008060000840070100800002084004020840A4000020A8000020940000202E030020AE020020AC0900208C010020540C0020B409002000F0FF0FB002002022030000C40A0020380400208828004000000540480F0000880F0000C80F000000010080F40B0020595A0100FFFFFEFF3CDC0100557901006400002000E100E0C0DE0100C0FE0100C0FF0100C00200207F1F00200C1C0020005555009B1AC54C9BB2A384A38C009AC348D386C34AC44B11681A600023814206D1C24D5168936849194E424E419B19002193604D +:0000DA0100516002991060BD4A0A810A8900998A86FF2B00D9FF230125009A3232137006F091FCB74B009A373339321D701378FF212B430320137006F053FBB24AB24B03211A6028002A0006F00BFC019B0333DA7F019B0433DB7F1B021343042B04D9043BE21D9B10D37702E00022E31DDA77019B0133DA7F019B0233DB7F1B021343019A0433D318A36213000733DA7F019B0833DB7F1B02134322002C32042B02D9043B9B1000E000231370019B03990533DA7F019B04310633DB7F00201B021343019A0433D318236313002A331A78019B2B331B781B021343A386019B28331A78019B29331B781B021343019AD318A36309F047FF002380211A00180008F0FBF90024B3 +:0000DB0100824B1B78002B01D000F082FD804B1B78002B05D10134E4B209F07AFD642CEFD17C4D2C72002405A9802009F091FC002805D10134E4B209F06BFD642CF3D1764B764AC22100206C7204F0C4FF0822744B14201A7009F0CAFF009B2C331B78DB0702D5002009F052FF002009F095FF6D4D02222C003C34237813420ED06A4A032100200AF0E7FA0F2807D0022223789343237080232278134323702B0038331B78002B00D107E2002009F098FF5F4B1B78002B06D12821002004F01CFC002812D0F9E1037C002B03D079300378002B03D02B00012239331A702B0039331B78002B00D1E8E1E6E7524C26782700701E062800D9E0E10FF058FE0700140067009C011A +:0000DC0100D9010501C601002002F0BCFE00236370464B1A780223002A00D0F0E00333EEE06578002009F05AFF002D02D0012D13D0E4E01F22290091430A0001213D4B0A436384631CDA77A21DD577621DD57780225B185242DA77C0E0344B1B78002B00D1CCE02300002245331A702300002246331A70636BA360A36A636023002B331A7838231340282B04D1230034331B78DB060FD4030079331B78002B05D00300B9331A7818231A4204D170300178002005F051FB3B002B331B785B0700D49EE00023637003239BE00020667809F007FF0500012E31D0002E03D0022E00D18AE08DE03100300077E0C04644010020EFBEADDE001C0020B0000020F4CFFC3FDC050000F6 +:0000DD0100D90500200541010014060020F4060020780600207B090020CD720100EE020000B400002090050020CD6A01007C1300206C0C002000FFFFFFBF4B1A780523002A5DD0E218D27F0392002A31D1A26A013255D0BA49039809F0A3FB002832D02B0079331B78002B29D02B00BC331B78002B24D02B007D331B78002B1FD0039801F035FD061E09D17035297801F075FD330037222821300004F09DFE3B00002245331A703B00002246331A700121002012E0A36A013308D1238B002B10D00023637004231CE0010006E09D49002009F068FB0028F0D1310002F0C9FA06230FE02B00B933187818231840E8D17035297805F0B1FAE3E7631DDB7F012BDFD0052323702B +:0000DE0100D9E0904D631DDA7F2B00290038331A70A31DDB7F3C3101330B70236AAB64A31CDB7F894CDB092BD03F23791CC87F48350340CB77002A03D1844B3A331A7804E0002009F04BFE7C3002780323602113405A016B788B4313436B70631CDA7F794BD206D20E4433052A03D0062A04D0042A04D12D221A7006E00022FBE71922F9E7192344352B70A31DDB7F002B09D09A0000236C4DE018806A59190433C8649342F8D1654B1B78012B2DD1664B38331B78022B28D1664B3C331B78012B35D0002B01D0022B1FD1022305AA137000231371002393600F33137308215E4B00200AF0FFF85B4B002807D009DB0E38C0B2012805D83C33022204E03C33012201E00322DC +:0000DF01003C331A7011E0443423780C21093B5A1E93414E4A0020413213704F4B4F4A0AF0DFF8431E984140420640474B1E7042E0414B19780A00531E9A41424B9200180034300270464A1A67002911D0218A0522002915D0434A3B35DA6001225A7000226C331A70019B0722C2331B782B7007E0218A0522002903D1043A6C331A70063222700FE02F4B62786C331B7800209B009B18354A9B00D3181B6E984720700638012808D80023637005E0002002F010FD01233E352B70264B3D331B782B4B1B78002B01D000F024FB029B294F1E893D6809F0E2FA274C284B6543ED18B6B22D18AE4207D93D6809F0D7FA6C43224BE418001901E0029B1889029B80B218811B89CB +:0000E00100009AC22193860022194B10001A6004F013FA1A4B184AC221002004F05BFD029B174A59680B00174883422DD8186890422AD10433F7E7C0467C1300207C0C0020840C00207C0600206C0C00209005002044010020C5FF00006D0A0100B40600208C0C0020700C00203CDC0100F4060020F00B002012FDFFFFEE020000CD720100005555007F1F0020C94A5B1A908C984200D8938CC64A9BB29384938CC54F009A3C00D3863B0037331B78002B00D1B5E0C14D0820290009F04FFF0600072800D9ACE00FF0E7FB046B695F2D494181BB4CBB4D21000822083128000FF007FD10220021B8480FF00BFD002363712B78B648142B05D8B54A9B009B580021984702E070 +:0000E10100002103F0F1FAE379002B02D0032005F02FFE0221009A393213780B4313707DE0363439782078AA4BAA4A09F0D9FF002803D13F2104F080F970E0A74B05223F21002004F0C7FC69E000229C4B00215A719C4810220FF0D3FC3F21002004F06CF923000A2235331A708023944AD371062E06D11021333423780B432370C023D371032049E08022009B52429B7901201343009A937106F09AF802203DE0884B1B78042B08D10022854B0720DA7105F0E0FD012007F069FF09F0DCFB04222B6893432B6009F0DAFB29E0844A130038331B78032B23D03B00313319780123C9071DD576490E793000984318D1C879002815D13D002E342D3524782D78240225430DD045 +:0000E201000224334023434871C8710B7104213932137803300B43137005F0AAFD09F0A9FB00226F4B1C681A6009F0A7FB029B9B7A002B06D0AF226B4B5200A221002004F049FC694D2B78002B12D0002009F046FC71300378002B06D0624B644AA321002004F038FC02E0102006F030F800232B7001210C422CD04E4B3E331B78002B03D1882004F029FF23E00F22142504ABDA70013A05AB1A7004ABDF1C390005AE942009F0D6F83100942009F0D2F83B783278934203D0013DEDB2002DECD19B0703D10121882004F008FF0022394B3E331A7002231C4203D00F218C2004F0FDFEA30609D580210020C9040AF064F800221821100001F0F1FB63060CD504218C2004F01D +:0000E30100EBFE00222A4B03213F331A702120022205F0A6FFE30603D50221A02004F0DCFE0022334B00209A7209F0D8FB72300478E4B2002C20D1C82122008900200001F053FB002818D014222A495242200001F04BFB002810D1A62104F04CF800280BD1254B0122A62104F0B5FB0221234A13688B43DBB20B43136009F0FBFA0C4C039023003D331B78002B00D0E0E01C4B1A003C3210780222104000D0D8E038331B78002B2FD1024D2B6C2C00002B62D176E044010020D9050020080900201806002098070020280600209A070020BCDC0100293E0100DA0500206D400100B002002088090020B9300100C5070020140500009400002088130000313C010000030440FA +:0000E4010090050020282103F0F5FF002800D09EE0674B1B78072B00D099E0664A13006C331B78002B00D192E044342378DBB2002B00D08CE0110034310C7801210E00D569D8B2A04213D22800D84030420DD098008018006A0778012F06D10530C77F784278414042014000E000210133E8E7002998D16CE02B0045331A7808214E4B012A02D91A680A4301E01A688A431A604B4B1B78002B03D00021232003F0F1FF484B2D331B78002B02D0012400251FE0454B1B78FF2BF8D1444B1B78052BF4D1434B1B78002BF0D1424E3378002BECD1414B1B68002BE8D109F0B5FA0028E4D06B78002B36D133780124002B3DD02500039809F043FA002D01D009F0C8FA002C01D14D +:0000E50100FFF732FB344B1A6C002A01D1FFF72CFB2A4A45331B781278DBB2002A01D1FFF723FB2E4C2E4A012B01D92E4B00E02E4BA3670520E26707F001FEA26F2B4B0F211340A367232003F09BFFFFF70DFB0024ABE7274B08341B6CE28F9BB29342C1D0322007F0EBFDBDE70124224B1978224B8A00D258536E2342B8D118234B431F49CB181B79022BB1D11D4953582343535009F0EFF904211B4B1B4A1B889BB213601A4A13680B43136030BF09F0E6F99DE76C0C00207C06002000020440FC080020B0020020AA000020AB000020AF020020F40600200809002044010020FC000A40AFF44A01C2F14A41C2F14A40FFFFFFBF00000340AE02002030DF0100F40B002079 +:0000E60100880E000052F2FF0F0400034010ED00E0F0B5C34B8DB05C781D0022090392C14F00D0B9E13A8C1E78D2B204922F2E00D19DE10FD8082E2ED004D8062E26D0072E42D08DE12D2E00D1BCE000D9BDE02C2E57D085E1332E00D123E10DD8302E00D1BFE0312E00D07BE19A783B00390055331A7052310978AFE0382E00D1DBE03B2E00D16FE1342E00D06AE11BE1987807F005FD039C6CE1049B0524012B00D867E1AB78522B00D063E1EB78002B00D05FE1102007F0BDFB072007F0F0FCF91CC87F08F0AEFF033C53E19B780524412B00D04EE1954A1378012B05D153681089403B181A924B05E0924B924919605068924B4038029303F090FF0824002800D037E122 +:0000E70100A4E19B780924012B00D931E13A1DD27F2419002A00D02BE1884A103C1278534000D125E1391D1A40CA77CA7F012754425441029164003B4200D119E1C87F384007D109F063F97D4B1B781F437B4B1F700EE12E21002003F04DFE041E14D07522774B0020403319780A401A702E2103F063FE0021080006F0A9FB3900002006F0A5FB390000201AE009F0A8F9873000783900002813D06B4A0321200009F0DAFC002800D171E1029B029ADB7F1224BB43D377D27F534253415B421C40D8E007F03DFC62E139005131CEE099783B00523319703B0055331A78039809F00BFD0224C6E09B780924432B00D0C1E04E4B1A78534B4C331B78012A03D15B070BD4524BB4 +:0000E8010002E01B070AD4514B5B681B021B0C1B020133FF3304E0A0235B0101E0D0231B023900AC310A00C03313CB13C213CB13C203CB03C2D3E79B780293022B1AD0032B24D00924012B00D092E03B005C331B780924012B00D18BE005F074FD01233900374A5D31843213700A781A430A7039005C3113E005F066FD039807F005FC6B4639001B7A5C310B70029C71E039005C310B780924012B6BD16B461B7A0B70073C66E09B78522B04D1FA20800007F046FCFAE70924502B5BD1A91C802224480FF015F955E09878039C5038072846D80EF0E1FF0445120F4545451A3900AC310A681C4B02249A4243D101221B4B5A713FE0194B5C7173E73B003900AC331B68B031D0 +:0000E901001B680B606BE7144B02245B79002B2FD03B003900B033AC311A680B681A6027E08C0100208C020020A000002032420000801B0020544C414A31420000DC0200208C0500203D600100C0FF0100C0FE010000000120EFBEADDE0C060020CB4B5C71052405E039005F31AB780B7037E70A243300403B0F2B08D8C44B9B68002B04D0AA1CB0B2049998470400002C41D0002321001A0018003AE0039A0F2A1DD1BC4B84331B78002B34D02C78082C31D1B74E22003000002114300FF0A1F83B8C2200082B01D83A8C92B23000A91C14300FF08DF8002005F0CCF91BE01B78039A02933B8C541EDBB2E4B2029A0493631C1B0313439BB20593A54B3C331A78002A4CD111 +:0000EA0100A44B0599994248D013000521039807F071FA9022002152009F480FF070F800229E4B9F4968331A709E4B0333DB7FCA549D49C85C904201D100F04AFCCA549B4A9B009B580122DA6600F042FC09F046F8833002780524002A8AD1F91CCB7F9049CA549149C85C002805D0CA548F4A9B009B580122DA66052007F060FB72B68C4B029A1A6007F060FB05E0012007F0D0F9022007F003FB00246AE7200009F01EF8029B0600242B35D1049B032B04D818000EF0F0FE6623160A502363436A79FB18D133FF3312061A60502161437918D131FF310B681B0E1A062B791B0413430B60502363436F4AD318D133FF331A68120C1104EA7812020A431A6050235C43694BA5 +:0000EB01001C19FF23D134FF3422689A43AB781343236035E0242B00D9A1E3052B62D000D9A6E1002B2ED0042B00D0AAE12302E500ED187D19FD35FF355E4B2A6800209A420AD12A1D130001001868002800D09AE1200008F0EFFF012000232B604E4B99784B0629D00123727A5B4293400B405B0622D1B57A002800D08CE18D4200D089E102261AE0390050310B782341DB0700D477E10C20EB78A9781B020B4389091A0A09021143DFB28AB207426AD19B079B0FD9B2032900D083E00926029B383B162B09D8324B9B68002B05D0334A04990232059898470600002E00D11AE7002331001A0013E72302E500ED187D19FD35FF35314B2A6800209A420ED12A1D130001000C +:0000EC01001868002804D00131C9B204330729F7D1200008F0AFFF012000232B601E4B99784B06C9D00123F27A5B4293400B405B06C2D1357B002801D18D42A1D0200008F0AFFF330075331B78002B99D067363278002A95D10D4B2000403319002C2363435A54CB181A711A73144B01321B199A7207F060FB061EA0D02900200008F090FF9BE7032998DD043A92B28FE70C0600208C050020241000008C0100208C0600202C0E00208C020020300E002030DF01008800002050435253504B4E53A0000020822149008A4200D976E708253D4005D1910700D070E71C2A00D96DE70499012900D8CEE040208446C84914388C44614660434354002360440373C449FB0601D4A8 +:0000ED01001B230373002D52D0E2002302D3189C46BF4B2C205A1D130063441A000D006043F832FF32127840352D186A701A00FB32FF32FA331278FF331B7812021343032204310818C3873A403300002A01D1943300E096331B78012B00D82DE72C236343AA49CB184033DB78DB0907D0002A0DD199363378002B00D01EE707E0002A00D01AE799363378002B00D115E72C2363432202C918E3009B189D4AD318802292009B188B649B4BF43A1B19FF3A25E097492C230E0063434036780723D5F0189708C91810338D6407712502F018E3005D1980238F4E9B0071197519FD35C918FF350EF084FE2A788B4B052A04D0062A06D11B19112201E010221B199A7216E01B19BF +:0000EE0100FF22FAE7F018970807710C20C9188D648049103309198872F018E1002302C9187B4B5918FD31FF310EF060FE794B1B199B7AFF2B17D124E07749895C727B0A260A41D20709D51B19744A2000D97209F081F9002800D1D8E10D266E4B1B199B7AFF2B00D1A9E6200007F064FA0600A4E6029B1C2B40D0202B00D10AE1062B00D137E1052699E60131C9B20433072900D05AE65DE6200008F063FE0221200005F0FDF82021200005F0F9F84021200005F0F5F8330072331B78002B00D160E667363378012B00D05BE6504B002140331A002C2363439954D318197119734D4B20001B19997207F026FA061E00D165E62900200008F035FE60E63B0050331B78052665 +:0000EF01002341DB0700D458E6EB78A9781B020B431A0078202B7939001B0413436A79604312061A439446E30022029B18D9332431FF33CB58354D06932B18A4331B780022099363461B0C079363461B041B0E089313002F18099ED1B2B14216D239000831CE6F0121D6400E420DD02E00930070361B18F3181B6A07995E898E4203D1DE7908998E4203D00132E4E7002100E001212348075D002F47D060466D4601262877287F304240D0B043022806D148235C431C4B1C193F342B7E69E0062834D100295AD0D969002957D0591CC97F002953D1782530008C318C466543D2B290400B4A52199444614667460968883201433960116881431160022220001A70DB69984717 +:0000F00100024B5D19DC352E70BAE5C0460C0600208C020020A000002010DD0100116001007C1300208C050020002925D05A1CD57F002D21D0197801291ED16246D207D20FD2B2BA4218D162468A43D2B20A2A05D1DB6A06992000984705000AE0082A0BD1002F09D0013A1A70DB69002B04D020009847002D00D083E50D269EE5292B00D0FFE650214C433C19D634AB78FF34237076E5390050310B7805262341DB0700D48BE5EB78A87829791B02034309041A000B006979134309061943864B0A0E1B5D9A42D9D10B021B0E012B06D0022BD3D189B2200005F04EFE07E089B20629CBD8C9B20022200005F053FD002800D047E5C2E7FF21784B1A199172AA78252A4CD818 +:0000F1010010000EF005FD99FE99FE99FE4A004A003D003D002B0037003D003D003D003D003D003D003D0026004C003D003D008E00AA003D003D003D004A004A004A00AA00AA00AA00AA004F005C0068006E007A0084000122614B6C331A707EE0330072331B78002B00D177E670363178200000F083FB72E070363178200004F0EBF86CE02C20574B6043D91C8D5C544923334031455451499B5C09198B720A265DE61B19032151E600250B95737A203600969B000BAA1021039808F0E3F82E004DE601230B93F37A3C369B0000960BAA1021039808F0D6F819E03300F27A58335200132110E02302E200D2183E4BF17A9A18FD32FF32200008F0DEFC2FE03300182214210B +:0000F201006D33FF33039806F075FE002625E6E1002302C9187918FD31FF31200009F0AEF81BE03B0050331B7805262341DB0700D513E62302E000C0183818FD30FF30837842780178C07804360090200008F0C8FC002800D001E6073EFFE50226FDE5029B2A2B04D150214C433C19D7340DE72A2B0DD8282B00D001E750236343FB18A978D533FF331970200008F04AFC78E4029B302B04D150214C433C19DD34F5E6312B0ED150236343FB18A978DE33FF33197001234A081A401940200009F037F85FE42C2B00D0DDE550214C433C19D934DCE60DB0F0BD7C130020A00000200C06002010DD01008C020020002806D1034902300A688243D3B203430B6070470003044063 +:0000F3010048235843014B1818C186704790050020F7B50F0015001E00040008F0DFFB012341790200194009068C4629001940890680790191614618404006084307210F4001993F07014300203943854200D1300003401248DB0601401943114BA400E0581C1985050F48AD0DAF020140636839439B05890A9B0D89021943080104D49D4202DD890A8902294394321378012B02D980231B0419430800FEBDC046FFFFFFF7F8060020FF03F0FFF0B591B0009001910E9208F093FB019B06905B780C93019B1B899B059B0D099303002C33FF331B78DB06DB0F0D930023089307930593069B059A7F331B78934200D89FE1002302936B461B7A0A930A9A0C9B934200D891E116 +:0000F40100009808F06BFB059C05004A34A40003190393DE78019AB3090393059B7C335B00C3189888029B800502339B00D118CA78860D9209012A00D17BE0002A03D0022A00D1DAE06BE1019A142198580003830D1800133004930EF065FB049B1F1A1818039B012B2FD0002B02D0022B08D056E16359049A1B039B0D9A4200D04FE10CE063591B039B0D9F4200D248E12B195B889B049B0D984200D941E1635B31009B059B0D9E4200D21900029A019802329200125A9205920D914200D930E1009AC949920053500DE163591B039B0D9F4200D225E12B195B889B049B0D984200D91EE1FA23605B5B008005800D584301383900C0190EF017FB0400FA20400070437B1E70 +:0000F50100C01839000EF00EFB22000600844200D20200029B019902339B005B5A9B059B0D9A4200D9FBE0009BAE4A9B009C500497D7E0019A4F889B58039ABF041B03BF0D9B0D012A36D0022A00D0E8E062591203920D934200D2E2E02B195B889B049B0D9F4200D9DBE0FA21605B49008005800D7843F430FF300EF0D5FA04003000FA217843F430FF3049000EF0CCFA22000600844200D20200029B019902339B005B5A9B059B0D9A4200D9B9E0009B8D4A9B009C50F2E062591203920D934200D2AEE02B195B889B049B0D9F4200D9A7E0635B31009B059B0D9E4200D21900029A019802329200125A9205920D914200D996E0009A7C4992005350CFE04A889204920D76 +:0000F601000492019A9858039B0003870D012B32D0022B00D083E063591B039B0D9F4200D27DE02B195B88049A9B049B0D9A4276D8645B3200A405A40DA64200D22200029B019902339B005B5A9B059B0D9A4266D83800FA216043009B624D9B00F4300393FF30EB1849000F930EF05CFA0F9B9860039B5C519AE063591B039B0D9F424ED32B195B88049A9B049B0D9A4247D8FA20645B4000A405A30D58437D1E3900401903930EF03FFA0400FA2040007043390040190EF037FA22000600844200D20200029B019902339B005B5A9B059B0D9A4225D8009A434B9200039899188860D45064E0009A3F4B92000499D0589C18E1604843FA21F430FF3049000EF013FA6660CF +:0000F70100A060009B374A9B00D3189C68079AA24205D80D9A002A51D0DB68642B4ED1029B013364E6059B0133DBB257E6089B002B25D1FA21069E2B4DFC36F36A49001803009B800D9C00B38D2F199B059B0DF8605843F4306351FF3001930EF0E3F9019B099AB860934200D96251012233882C196360110000230098FFF7CAFD0B904823009A194953430B98CA1808339060591800980E9B984711B0F0BD009B114A990053188A58DF605E609A60AAE7009B0D4A9B00D318049A5E60DA60A2E7059B069A7C335B00D3180A999B880131DB0BC9B200220098FFF79CFD01230B90079408939DE7C046F80600209005002010B508F075F9D02370300178044A5B00D0580029B7 +:0000F8010001D1800700E04007C00F10BD00000A4070B5040008F0ADF80500200001F040FA200008F05BF987300378002B04D0200008F054F9A1300378280008F09EF870BD70B50400150008F0EBF948236343074A0321D318002800D00421197348216143083151182000A84770BDC0469005002010B503F06FFD10BDD02310B50A4A04005B00002902D1D158022001E00420D1580143D1502000012108F07EFD0221200008F07AFD10BDC04600000A40F0B585B00D000600039208F05CF8F0237343144A07009B188A331A88124B6421D31828005C780EF027F980B260430F4B4019984201DC00240D4D63B22A000021300003F0ADFC039A030001920122009200223000AE +:0000F90100110004F07FF8380008F037F805B0F0BD20D1000000D10000571B0000581B0000482343430A4A70B5D318998604000D0001F0B6F9F0236343064AD318A8331B78DB0704D5044A29002000FFF7AFFF70BD9005002000D1000061FF000073B504000D0008F006F8F02363431C4A0600D318A8331B78DB0707D500212000019100910B000A0004F03EF8200001F089F927222621200002F008FD002D1BD0200008F09DF887300378002B14D02000FFF79CFC482363430A4A2621D3185D60094DFA222B00200003F086F82B0001222721200003F080F8300007F0D0FF73BD00D100009005002075FA0000F7B5160004000D00002103F083FF2A0000213300200003F0DE +:0000FA010025FC060007F0B5FF8023C024174D9B00019064001E432F592E5101260A2006F08DFB2B590A20DB0B2F519E4306F086FB80220F4B52001A62196B114211D0002F0FDB9A6929599201920F090407D5022A07D180219A6A49000A439A6201E0012AF7D0019807F089FF3000FEBD00000A40FC000A4070B504000D00262902D0272907D021E0272102F0D7FC200001F008F91AE000220D49FFF7A7FF00280ED12621200002F0C9FC200001F0FAF848236343074A2000D3185B68984705E0054B01222900200003F006F870BDC046881300009005002075FA0000F0B58FB00D000400019207F0FBFF00230600681E0293252800D9C0E10DF0D8FE76004F006E00B60090 +:0000FB0100B600BF01BF01BF01BF016E005F00BF01BF01C200BF01BF01DB006100BF01BF016100E50017011501BF016E002600BF01BF011D01BF01BF01BF01BF013700850185015401002C09D1230022002100200003F09CFC002801D0CF4B1C7448236343CE4AD31886E000220221200005F010F8C94B6F3619193278497C914208D01900E00012310E18B44600266746BE7046541B195A746FE148236343C04AD3181900002239331A703E31BD4B0A7001321A7003F0BAFA5FE1012300E0002376361F0033780122002B03D02E00153E72427241160001E0002637000122B14B1A7003F0A3FA01E000263700200000F0F1FE002F02D00022022103E0002E04D13200310056 +:0000FC0100200004F0C5FF012D11D10023A54AA249E00012181231D65C002E04D00F18FF5CBE4200D827E10133082BF4D117E1032D01D01A2D12D148236343984AD3183C331B785BB2002B02DB200008F0D5FB0021914BE200123398188170D154122D00D009E1FCE0482363438C4A0121D3181A003932117000223E331A70FCE0019B1B78032B00D0F7E0200000F0A2FE48206043824B1B181A0038321678002E00D0EAE00121814F3E33C15511701E70E3E0482363437A4AD31841331B78002B00D010E1D9E0482363439436744A3178D3183A33012901D9012100E0002119700221019B1B798B43012B00D0C5E0704B1B5D002B07D048236343D3183E331B78002B00D0D1 +:0000FD0100B9E0482060431218130038331E78002E00D0B0E00121644F3E32C15519701670A9E0022100E00021200006F045FD029092E0502363435E4AD318B333FF3319780223194000D004E1019BDB79DA0920D01A205B061B0F019A01335843D288D205D20D824215D9019803AA007810700198807851800F310B40DB0075310B43D370454B50701C3393601B2377391373494B02E0002312211A00200008F035F9D8E0019B5878012866D102229B681B0E1A4002D113000F2120E00027019B364E9A7AA10013071B0E1209134372181762002B06D0034204D1176A5B0801371762F6E70120203603AA7118002391600D2150801A301073173813705070200008F070F951 +:0000FE010039E0330070331978200003F0A3FA330072331B78002B0ED0330067331B78012B09D16F363178200005F092F82249200001F042FB03E000212000FFF78FFD48236343164AD3187D223C331B78934317D10421200006F0B0FC02AB01930BE0482363430E4AD3183C331B785BB2002B02DB200008F0C1FA019A2900200002F0E4FE032D20D01AD8012D27D0022D2DD12A000321280058E0C046F8060020900500208201002058DD01006C0C00207C130020B002002081630100796301000B2D08D0112D0ED011E002222900280004F0C8F929E002220520110036E002220420110032E002220620110018E0032D04D8022D17D2012D2DD129E00B2D27D0182D28D104 +:0000FF0100A521002002F098FA0421882003F0E4F8012203212020104B1A70921804F0A0F917E0032D12D10C4C2378002B0ED0A521002002F081FA04218C2003F0CDF80023022203212120237004F08AF90022034B1A700FB0F0BDC0468301002048060020802110B50400C90508F024FA002217212000FFF7B1FD10BD4823434330B5104C8A68E3181A624A789D1D013AEA770A780533DA774B78012B0FD91222002350434A789A4209D9DA1C92005558C2180A3292000133A550DBB2F2E7012030BDC0466C0C002003290DD0074A042906D007490B5C0133DBB20B54022B01D9032300E0022313547047C046800100201C070020F8B5050042352C78861C062C2DD80322B8 +:0001000100C909F38F1140022904D0914207D0013A01291AD19B009BB21343A21C13E0002C06D01F00A21E174122003940012905D102229B009BB21343A218D2B29B0099B2032302320B43D2B201E001230024F3872A70002C01D106F0FDFCF8BD702310B55843024BC01806F006FD10BD28070020702310B55843024BC01806F065FC10BD28070020030010B55E330400187807F025FD75300378002B0FD02378002B0CD0072B0AD02300112234331A702000A16B06F0D4FB200006F01DFC10BD702310B55843024BC018FFF7DDFF10BD28070020F0B50B7885B004000D00012B36D13022002107000DF00BFD230000263C331E70DE70A31CA6636664DE8740331E700E3B47 +:00010101001E703100200006F0A9FB2300FF2248331E70DE7002331E70013B1E7005331E70019326659E715E74103B1E70DA7302930E331E70EB689B68B3425AD01A68B24257D01B785B0754D10A2350E0022B00D0D9E04A798B791343CA78072A00D1CEE0020001003D323E31127809780A401A4202D1002B00D0C2E00C22134200D1BEE02600210003270B3A4E3654313270A7700A7022004F321370236D9B681B68002B10D023005E33187807F098FC7B300378042B07D1236D9B681B781B0702D50223E770337007232700EB702B749EE00422134242D1102213423FD1082210423FD10523220034321370052B4BD106332B7489E02A7AD307F3D56B7A20000393AB7A17 +:00010201005C309C4623005E331978F0234B434149414ECB182100C0331B783D31DBB20B700088B04203D180204042034301E07F2003400B7023003E33520601D5624601E06A46127B1A7018780B780340DA09BED0220080214A32117005E021004A3101E021004B310A70220008214B32084202D120210B4202D011700423B2E7FF231370FB3BAEE723005E33187807F027FC7B300378E9680022042B11D1130008335B00CB189B88002B07D020005C300088984222D00132D2B2F0E70723EB702B740023019A2165137022000121029B601D3D321B781278C1772330C1701A40A36A21711B0E1B061343A3620223237023005E331878A36E984709E00123EB70DFE70A23D6 +:00010301002B7400232370FF230027AB70380005B0F0BDC04600D10000DE280000702343430D4A70B5D3181C00FF255C346D422580A0704C78012C05D1084C9C66084C5C66084C1C6670235843074B1018C36600238B70FFF7BDFE70BD28070020710901005D000100BD00010071000100482358430C4B30B51818002402001F250A4B0462203243841378AB431D3D2B43451DE97707211370537806308B4387390B43C477537030BD6C0C002000FFFFFFF0B50A7A87B0D2060190D70E48894A7A8B68520702906248520F1402034023430390180410D5032F01DC0026B5E05D48019C019D045D5C4E601E8441782068433018A400343004707820019C60438446554814025B +:0001040100604434300078049405900020059DC4B2A542E0D986004F4C66443419246A002C71D06689029DAE426DD16679964204D1601CC67F002E12D1CDE7A61CF67F002EF6D1E61CF67F002E5DD0039D2B40049D2B437F251E04360EAE4354D1E8E71F2083433B4307273A401502AC46039D2B4065462B43029D9BB22D042B43A3604D781840AC4601256D42AC4465462576062809D1A01CC07F002805D01B0403D5637ABB431A4362724A78012A0AD9237901339A4206D8284B0C31D2189200E0680DF015FB012301982370E36998472378052B00D180E74820019D204B4543ED18637ADB0901D1A3682B612A00237E2C3201331370227E002A26D028009200E168143022 +:00010501000DF0F4FA1FE01F25AB43039D3B432B40049D134E2B43134D1E40AE4211D16689029DAE420DD1661CF67F002E09D01F22237A01989343183A13432372E369984701E0013062E7300007B0F0BDFFF8FFFF7C1300207C060020FFFFFF3F900500201F870000058700007823F7B500254343104C114FE31834331B7801932B00019EECB2B44211D20D4E365C002E03D014236B43DB1901E0002B05D01E888E4202D19E78964203D00135E9E7FF2000E02000FEBDC0467C06002040DF01007C130020F8B503004C331978040001290ED1036B421D0220D1772332D0701B021A0AA36A21701B0E1B061343A362AEE003220300216B303391430A0080211B786026980773 +:0001060100800F0243DB09DB018A431A432100002325006264D2B2A36316404D3134359E4202D10B78002B0BD12300002048331870530600D486E02300012249331A7081E027003C373F78002F0ED101284EDDFF2B26D1D30604D523004B331B78FF2B1FD123004A331B781BE0012803DC230048331E703BE0FF2B13D12000EF3B1A403F30002A07D00378002B04D123004B331B78FF2B05D10378002B28D0002AE0D025E02200DBB23832537013741123FF220A70112B17D1230035331B78022B11D9002326002B705E363078A12101F093FE00280ED1FA223078236E5200A12102F0FAF906E011232B70112B2FD101E00023DDE7230000225E331878110004F049FAA36B29 +:0001070100002B1AD022003C21383213788B4338390B4301398B4301390B431370230054331B78002B09D023004F331A78163B1B78134202D105232B7007E0A16B200006F08DF802E0FF230B70B4E7F8BD70B5040000780138062800D905E10DF0A5F8C000070004011900D7000401F700E36E2200E3620421012330322371E26011716218D377A36EE3612300583323616361E7E02500237A3435DB06DB0E2B70DAB201232370052A00D1C8E002D8042A06D0DAE0102A00D1A1E0112A15D0D4E026005E363078002104F0D6FA0022A31CDA8740331A703378934202D1634B626E1A60102301212B70B9E023004C331B78012B0CD1621DD377230002222833DA70A36AFF3282 +:00010801001B0E1B06FF321343A36223005C331A88564B2000D21851425141230039331B78CAB25F30042B29D00ED8012B1CD0002B36D0022B38D1230001223C331A70DA7000230421037030E0102B17D00122102B02D8082B17D027E0202B14D0802B23D123003C331A7016E021003C310B70230000213F3319700270033116E0230001213C33197007E023003C331A70DA7000230621037009E00021D9700270053104E022003C321370D370022123003533197029330278187804F06BF9A16B002900D0616C2000FFF794FB01232370230049331A78002A47D005222A70002234E01F23227A1340062B3ED123003C331B78002B03D0216B2000FFF77BFB2000FFF760FE87 +:000109010023004C331B78012B2AD12CE0230034331A78112A0ED1A16B00290BD121003131087807210140032904D100221A700123237018E0111F012903D8200005F0A8FF11E0102AF1D10B3A1A7009E023001122002134331A70103A5A75200005F07EFF200005F0C7FF70BD84010020ABF6FFFF702310B55843024BC018FFF7E7FE10BD2807002070B5482444430E4B00251C192300060044331D705D709D7029001C22201D0DF0ACF8300007F098F8064BB8309D55064BE060282130009D5501F03CFD70BDC0466C0C0020800100201C070020F8B5482545431F4B00265D192B002F003E331E7038373B780400B34230D0FFF7C9FF78236343184A3D35D3186C331B78A0 +:00010A0100164A1B01D318DB683E702E7020009847200007F063F872300378B3420DD0200007F05CF8A13002780221D2B2B24201D032003100200004F0ABF8200002F034FC0023074A1355074A1355074AA400A350F8BDC046900500207C0600209CDC0100880100208901002084010020F8B50B00040011007F4D042B00D099E0577A7B333E009E4300D189E0167A0B78B609F2B2002B10D1784B7F069C4648231800604360443A300078BF0FB84200DD3800634363443A331870012A03D04823032A2AD04FE0782363436D4AD31848331B780A7ADB06D206D80E9A420AD12000FFF74CFA482300226343EB185E7044331A70AEE048236343EB181A0000211F2644321170BC +:00010B01000231597020331A78B2431043187007205A7882433FE06343EA181000443001780131C9B20170092916D9002303701F20023353707633634350492032CB1848331B7803401900137883430B430721137053788B4353707AE00622EA5400232C326BE06343EB181A0000214432117002221F205A7076326243404920338A1848321278024011001A7882430A4307211A705A788A4304390A435A7058E0FFF7ECF9482301226343EB185A7044331E704EE048224243AE1830001F21203007780F40062F10D1032B0BD1AF5C002F50D10931200001F031FC012373704436377036E0002B34D044E05F1E012F2BD84427BC46B444674661463F780137FFB20F70092FBA +:00010C010017D900220A701F2102327270763262431A4EB218483212780A40160002788A433243027007224178134091430B4343700DE00623AB54002364222821200001F049FF15E0002B13D10633AB5410E048235C432B1920331B78DB06DB0E012B03D0022B03D1032302E0022300E007232B55F8BDC0466C0C0020900500207C060020482370B5032543430A000349CC18083325735918904770BD9005002070477047002804D1FD23024A11680B401360704700030440F0B585B00E000400039206F00DFF94300378AE4D009348236343EB181A0000212D3211703089AA49014080200002814200D031E1B2681A61727A3A335206920F1B78D0B2191C834200D9111CDA +:00010D010048236343EB181A003A321170CFB201210E3A11703F22197C0A40802149420A431A74994A125D0192002A03D0009A012A00D8E2E07378012B00D0B0E0307AC006C00E0138052800D9A9E00CF0A3FD03385E9393A2FF2372891B029A4200D09EE08A4B1A5D002A00D199E04821884BA000C35861439C469300029300236D182C352A707F4D62465818D25840190261029A043328009A42F5D1002F06D148236343EB18D98A7B4A0A40DA8248236343C0183F23027C13404022134303746FE0FF2372891B029A426AD1734B1B5D002B66D0482161436D182C35704A2B70A0009B0087589C460022664D8818BB584019043203616245F8D148236343ED183F232A7CDE +:00010E01001340402213432B7449E0654A6300D25C042A44D9634BA0007189C058C58803788D420ED148256543554A043B51199B102C310B70DBB201339B0002930021944605E0D21AD2B2C018002AE7D127E0029B04318B4204D06F1843586744FB60F6E748236343D2183F23117C0B4040210B43137414E0502363434B4AD318B333FF331B78DB070BD548236343ED182D35022304E048236343ED1801232D352B70009B012B43D9019B364D002B16D01F23327A1A40111F2933012903D86343ED182D3532E0062A04D16343ED1801232D352B7031002000FFF76AFA28E031002000FFF765FA002822D048236343ED183F232A7C1340402213432B7418E01F22317A0A4000 +:00010F0100062A07D138331B78012B03D131002000FFF74CFA48236343327AED18D206D20E2D350023052A00DD01232B7048236343134A6020D31819003A331A78032313405A014B7C834313434B740FE0022313704E3363431449CB18B333FF331B78DB0704D4009B012B01D903231370482363430349103359182000039B984705B0F0BD90050020C080FFFF7C1300206A0100206C0100207FFCFFFF7001002074010020780100207C010020B002002010B50C0006F094FD0423032C01D8054B1B5D94300278012A02D8102B00D10C3B180010BD60DD010070B504000D0006F07FFDC17906008906890F2000FFF7E0FF042801D0102804D17D363378012B00D1032048230E +:000110010063430449CA180833107359182000A84770BDC04690050020F7B50500019106F05DFD070067373B780400012B01D1867A00E0067B280006F051FD943003780420012B03D92378022B00D00C3023006A331B78002B0ED12378022B0BD176B2002E02DA3B78002B05D1E17928000907890FFFF79CFF48236B430449CA180833107359182800019B9847F7BDC0469005002070B504000D0006F021FD482262430C498A183D3213780E000122002B06D1C179033319402000FFF779FF020048236343F11808330A732000F118A84770BDC04690050020F023434310B5074AD318A8331B78DB0707D548234343044AD318198E034AFEF7DBFB10BD00D100009005002025 +:00011101006D1501004823434337B5144A0400D31800223F330D001A70904206D105F002F8BF230F4A11680B401360002004F0FAFF002D02D02000FFF7B3FDF0236343094AD318A8331B78DB0707D500212000019100910B000A0002F055FC37BD900500200002044000D10000002310B5104C2370104B1A6801231A4204D122000A21622001F090FA23789B0604D56368002B01D00020984702220849622001F063FB0423064A11680B4013600222054B1A6010BD2007002064000840AC0000201001044080E200E010B5FFF76BFD202003F07EF810BD000010B504000121FFF793FF2000FEF782F8034B6422A421002001F072FC10BDC046C5110100F0B587B00191040098 +:000112010006F06CFC050006F0B4FB242203901E21200001F0C9F82B0087331B78002B00D192E02B00A1331B78002B00D08CE02B0076331B78002B05D0AC235B00ED5AAD05AD0D04E0AB78434A9B00D3185D68424B1B78002B06D0FA22404B9200A521002001F038FCF02363433D4920335B181A000227883212783A4226D03A48A200821839485060002C1FD18C331B8805AE5B185B783A0002930B23310033706220F033737001F0DFFA032302983370642168430CF038FC052140190CF034FC3A0070703100622001F0CEFA2000FFF7E9FC48236343264DEB183F331A78002A10D101261E70002C0CD10A2004F028FF402020490A688243D3B203430B60300004F012FF19 +:0001130100019B002B20D048236343EB181A00012142321170598E1B8E994204D9002320001370FDF7E1FF48236343019A1E21EA50104DFA222B00200001F0CCFB2B0001221F21200001F0C6FB039806F016FB07B0F0BDC04660DD010083010020AD30010000D1000020070020D51101009005002000020440B9150100F7B5002847D1244B24491A8E1C00244E244D8A4205D024498A4202D023498A4230D1012004F0C2FEC82004F0CBFE208E0A210CF0BBFB002301AC80B2237007330340C0080227A070032221006220637001F04CFA01233A00210062206370277001F044FA124B37606B6406F0C6FAC023104A1B0211680B43136006F0C2FA0E4B1F6008E0C8229200A4 +:00011401001A86022333600B4B6B6404F08BFEF7BD900500202823000080E100E000000020E02E0000881300006911010000E400E000E100E08918010048234343F7B51B4D0400EB1819860F0006F048FBF0236343174A0600D3180222A8331B7813420ED0002C07D10B2301A90B706220F4334B7001F0F8F90F4AA300D31800225A6048236343ED18C823298E6A8E9B00914205D39F4207D02000FFF71DFE03E09F4201D0723633782000FFF767FFF7BD9005002000D1000020070020F7B50222254B0E001A60254A254B1E215A642422040000F06BFF48236343224D2249EB185B8E8B4207D820000021FFF70DFE142004F026FE02E02000FFF7A0FF06F03BFA4823C82239 +:0001150100634392001F00EB1801905A86002E19D0200006F0E3FA87300378002B12D02000FDF7E2FE9622EE510F4D92002B002121200001F0CFFA2B0003222221200001F0C9FA03E001212000FFF7DCFD019806F014FAF7BD80E100E089180100000000209005002088130000B9150100482343430F4A70B5D318C822040092001A860D00FFF7FAFE01212000FFF7BCFD002D09D0200000221721FEF79FFA06492000FFF78BFF04E02A001F212000FEF795FA70BD900500209F0C01001E39F8B504000800062900D989E00CF065F9041140555E887B0020221F21200000F0E6FE482363433E4AD318C82292005A8647E0482262433A4B3B4D9A181100423109781E00002987 +:000116010008D148236343F3181A0042321278002A10D016E0118E142220005242FEF7E4F90028EED01E21200000F006FF2B002822202141E0198E14222000FEF7D5F90028F0D02B0001221F2136E0482635006543224F20007D192B8E6B864235FFF720FB2B783D00002B02D12000FFF733FD6643AB5930E02221200000F0DEFE01212000FFF740FD29E017490A222000FEF7ACF9011E02D12000FFF735FD1422C821524289002000FEF7A0F90D4B002802D10A22242101E003222221200001F00BFA0CE02121200000F0B8FE2000FFF7E9FA48236343024A9B5820009847F8BD90050020B915010088130000074B1A0031321278D20707D5012133331A780A431A70C22271 +:0001170100024BDA717047C046D905002018060020F0B51E4B85B01B5C7821039300231D0041431B4A5118DAB20292039A002A2AD0042B28D001229A404C69144221D0702600244643134F144ABE19083201961678029FBE4211D15678B446002E09D0019E019F3D363E373F7836783E4067463E4203D00126A6403543EDB201340C32052CE5D10133CFE7280005B0F0BD7C1300207C0600202807002070DD01003349F8B50B0031331B78DB075ED50378304C5A0603D05B065B0E012B05D90023333163710B7802223EE080232A4DE3712B0070331B780D2B0AD100780C3B4006400E0138C0B26371FFF794FF20743DE00E2B3BD10378214A5B065B0E013BDBB2D25C002A03 +:00011801001DD048225A431D4882183D321278002A15D0782270275A4319487B438218D66900221848ED18083037000378DF403B00DB070CD40132D2B20C30052AF4D1042233310B7813430B70C023E3710CE04378002B03D101232274637105E02F0048373F789F42E6D1F5E7F8BDC046D905002018060020280700207C130020900500207C06002070DD010010B50CF003F903680C2B00D1FEE7034B034A1B685A6004F053FCFEE7B00000200C3003C0784BF0B51A003132127887B006001C00D20700D4E4E00278734D5206520E012A05D9022133331A780A431A7097E08023EB7103785A0604D05B065B0E012B00D0CEE0002006F0F4F833780190DB0900D180E00025F5 +:0001190100012477787B0002937B1EDBB204937B0005936149614A0800AB00D218126E78301A50049AFD2A5CD8C9180A007832D3789B09012B57D0002B02D0022B2AD05BE01388029A9B059B0D5A430392886FFA210003800D5843F4304900FF300CF0E2F8010003980CF0DEF85A21592806D996235B00984200D918008005810D464AAB00D31878331A88920A92020A431A80092F32D926E0138802999B059B0D59430391FA21508849008004800D5843F430FF300CF0B8F8010003980CF0B4F85A21592806D996235B00984200D918008005810D314AAB00D31878331A88920A92020A431A80012305E011880598890A890201431180AB401C43E4B20135032D89D107E0FC +:00011A010004223334237813432370C023EB713DE07F233578019F9D431F4A7537002D11D0019B7832597A002006F084F82100002006F096F83B78002B17D000231A001900180010E0019B7832D97A280006F092F82100280006F0A4F83B78002B05D02B002A000121280006F03BFBB37800229B079B0F022B03D00221032B01D102E00121100001E01100100006F064FB07B0F0BDD9050020180600202807002000D10000F0B5564E0325310085B03C312A00040001A80CF01BF8082731003A003F3102A80CF014F84E4E330031331A783300D20700D491E02478620603D06406640E012C08D9022133331A780A431A70C022454BDA7181E0013CE4B2200005F0EFFF0922A3 +:00011B0100404B5A717732DA7122000A329200B618B279717912020A431A8200227271B271020072321278002A66D05A8A0600174302005F82753212786736002A13D007215A8A8A4301002A435A823278FC31002A06D11A7EAA4301252A431A764A6D00E00A6D5A6112E03278002A03D11A7E15431D760BE00200694607258B3212780431895C5A8A2940AA430A435A823278012A03D110215A8A0A435A82020074321278022A0FD866300278012A05D180215A8AC901D204D20C0DE080215A8A8901D204D20C07E002A9895C0722588A0A405103C204D20C0A435A82482254430A4A588A14193D3421784A1E9141084A0131C9B2490102400A435A8205B0F0BD70DD010011 +:00011C0100D905002018060020900500201FE0FFFFF0B5364F85B0390001AD47310422040028000BF063FF390002AE06224C3130000BF05CFF2E4B1A0031321278D20752D520782C4C420603D04006400E012807D9022133331A780A431A70C023E37142E00138C0B205F03AFFB83003785B075B0F022B00DD02235B00F35A238203785A0619090123920FAA5CE57CA2744278194012099D4313405A002B000B4302218B431343E374F0230268DB001A4203D00422E37C1343E374182183781B079B0FDA00E37C8B43134320229343E374036809395B0B0B401A00237D8B43134323758023E3717B3B637105B0F0BDC04670DD0100D905002018060020F0B54D4E85B03300D7 +:00011D010031331B7807003500DB0700D48EE00478630603D06406640E012C06D9022233352B7813432B70BE327EE0013CE4B2200005F0D4FE75300378002B05D1022233363378134333706EE000237E780193042E04D80C337343374AD31801932000FFF7D7FC01213041084202D0019B002B06D1042233352B7813432B70BC3254E02E4B1B5D002BF4D0019B1E7A032EF0D81E2363439B19294A08339B009858C369002BE6D03D78ED0933D0019B5A7AC36A002A05D00292032202A9CA70029906E0032102373A68039203AAD17003997825654320009847194B01275D19EA691300F3403B4220D11E2363439B19144908339B00C9583B00B3401A43EA61AA6920009A4361 +:00011E01000223AA610B706C35CB6998472F700AE0782565435219D269F2400A4203D007220270200098478022054BDA7105B0F0BDD905002070DD01007C1300207C06002018060020F7B57E4B060031331B787C4DDB0700D4F2E07F2304781C4203D06406640E012C05D9022233352B7813432B705EE08023013C734AE4B22000D37105F02DFE7F2233780700934355D0030075331B78002B46D0B2780420130003402AD03B006733187800281AD13900FC310B6E002B15D0747859788C4272D29207120F091B043289008A4200D90A00102A00D910225C494A717178023189005918AAE02B000A2235331A702B00042036331C702870002308E003222A702A000A213532BD +:00011F010011702A00363214706B7001F031FF42220A34A4002D19EA7100224A4B2A721032DA718BE01022464E3336337813433370C023444AD37181E0B278530765D5D406A40F012C30D0002C02D0022C42D057E001232000250001937B7AAB4220D9BB7A019A2B41134218D07378A3420ED82900431CDBB200938000324B0831103089001818791804220BF0B1FD0098B37801349B07E4B29B0F834202DB0135EDB2DBE78000284B587149E003007E3371781B78994243D29207120F5B1A04329B009A4200D91A00102A00D910221E4B5A71717842312DE07178437A99422FD29207120F5B1A04329B009A4200D91A00102A00D91022144B5A7171780831890079181AE047 +:00012001000F4E01223336337890E77178C37A994214D29207120F5B1A04329B009A4200D91A00102A00D91022064B5A7171780E3189007918043104480BF058FDF7BDC046D90500201806002028060020F8B5344C230031331B78DB0760D54578314E6B061DD06D066D0E012D19D803780127022B03D0033B5F425F417F008023C2788178F37103789207920F002B26D1012A06D8052904D80624244D5443244A18E033342378022220E09C4215DB0C204843475B2818406817703F0A5770070A9070D7700131070C000E17715071C9B206320633D8B20529E7D1707120E0032B01D8012A06D904223334237813432370C02314E0FF2102220902380001F016FE0C232370BF +:000121010023000A2235331A702300013D363304201D70677001F02CFE1023F371F8BDC046D90500201806002070DD010028060020F7B5314B019031331B782F4DDB0759D504782E4F630603D06406640E012C06D9022233352B7813432B70C02349E08023013CE4B22000FB7105F0B8FC030075331B780600002B09D110211F4B33331A780A431A704022FB79134332E0019BC1795A780C239943920701D404231943200005F0BEFC019B5B78DB0704D5330067331B78012B07D0019B1B78DB091AD067363378002B16D10A232B702B00C82235331A702B0036331C70002304206B7001F0C7FD46230A34A4002D19EB713E3B2B720833FB71F7BDC046D90500201806002027 +:0001220100F7B5344B019031331B78324DDB0760D50478314F630603D06406640E012C03D933352B7802223BE08023013CE4B22000FB7105F053FC030075331B780600002B06D11021234B33331A780A431A7029E0019BC1795A7803239943920701D401231943200005F05CFC019B5B78DB0704D5330066331B78012B07D0019B1B78DB0927D066363378002B23D148236343134AD3183D331E78002E06D0102233352B7813432B70C02313E009232B702B00642235331A702B00042036331C706E7001F057FD08230A34A4002D192B72EE71DB18FB71F7BDD90500201806002090050020F8B500250E490F4B01394A1C14D000221F685C689E68A018B24203D0B858A050A4 +:00012301000432F8E70200DE68141AA64201D020C2FAE710330139E8E70BF0C2FBFBF730F901000000A0E001000C2359436933FF334343C9180C4B0D4A5918FF238B72135C013BDBB213540A4A1378013BDBB213701378002B07D1074B1B78002B03D18022054B52001A607047B40C00204401002045010020BC07002080E100E0F0235843014B2030C018704700D100000048704700D10000002310B59200934203D0CC58C4500433F9E710BDF7B505000F00009205F0DFFABA23060000245B006B4301930C236343019AE1B29B18094AD3189B7ADBB2BB4205D3009A934202D82800FFF7A3FF01341F2CEBD1300005F0C6FAF7BDB40C002030B50023FF2911D0BA220C25B2 +:000124010052005043074C2A005A431218A218927A914204D001331F2BF5D1002300E00123180030BDB40C002010B5914203D2FF2A01D0FFF7B9FF10BDF8B504000D0005F098FA0600FF2D11D00C22BA200023944640006043094F62465A431218BA18927AD9B2954206D001331F2BF4D1300005F084FAF8BD2000FFF757FFF7E7B40C0020074A03099B0010B59C580F221040800082408140236893431943216010BDC046C4DD01008022F0B53C4C5200A5440500002102A80BF023FB394B3A4E58783022C3B20193384C002B31D0B36A9343203A1343B362082302AA5B429B18334A1A60FF230193083B02AAFF3B9B18A360304B6360C046C046C046A3681B0F1A070A2B28 +:00012501003FD12C4B2D041D43082302A95B425B181D6008235B425B18A360274B6360C046C046C046A36800201B0F1B0727E0B36A02A9934310221343B362F03244A80BF0D5FA1A4B42AF4293FF237B60184BA7606360C046C046C046A3681B0F1A070A2B0FD1144B2D041D43134B4295A7606360C046C046C046A36801981B0F1B07934200D00C203022B36A9343B362002800D0052085239B009D44F0BDC046ECFDFFFFBC0700200000034000001040B6D7000004000080B6D8000005000080144B020030B506209A4222D853781178114C1B020B43A3421BD11000D1799379090219430A30147A0A39031E0DD000231000994209D0851A8D4204D2857A01305B19DBB284 +:0001260100F7E75B42DBB206209C4200D1002030BDFFFF0100594300000200F8B5817A447AD37A090221431B040B431900137B06201B060B4332D09479517924020C432402611CFF31CD18AC46154DAC4526D89678557836022E43D5782D0435432E0015792D063543A94219D8AC4517D915780A1E0CD000220133FF331B19994204D0087801311218D2B2F8E75242D2B20620954204D180239B00E018FFF790FFF8BDC046FFFF0100F0B589B00C0005000392049305F05FF9059080205D4B40021A685D4E02431A6019685C4A114019605B4B196801430220196019680A4059491A606B000E600293029A574B0F001A60564A1C60872410601F2506960126640007930192B0 +:000127010004223B68FF3213420ED1504A13681268DB0B33402A409B18002B05D00120013C03F00CFD002CEBD104223B68FF320025134222D1AC4202D100252C001DE0404B069A1A60424B1A682023134000D0082301262824019A33431360019B01201D68354005D0013C03F0E9FC002CF5D1E3E704223B68FF32134220D0354B1A681823920600D4083B0126019A1360002C0AD02F4B1B68334204D0012003F0CFFC013CF4E7002D3ED180212A4A090613685B005B08136013680B43136033E0029B1843079B1860049E082E00D908260025224C04223B68FF3213421CD1AE421AD004211E4A13680B420ED01D49039809686B1C4155019908209E4200D0042008600421D6 +:00012801001D00116002E0012003F098FC033C002CDED191E704233D68FF331D4068424541EDB2AAE7059805F0A8F8280009B0F0BD0402084017030000FFFFFEFF04030840000F084040020840680008400802084064000840000008402A030000C00F084040030840F7B53A4E040033680F0015000020DB076BD405F07CF800908020354B40021A6802431A601968334A11401960324B19680143196019680A401A603049304B314A0B60630013600C003B00082D00D908257D19AB4203D0197801331160F9E70222B425294BAD001A60019304272368FF373B4210D10121254A13681268DB0B0B401E310A409B18002B05D00120013D03F023FC002DE9D1236800243B4222 +:000129010003D12C00631E9C41E4B232681823920600D4083B0127019A1360002D09D033683B4204D0012003F009FC013DF5E7002C09D180210F4A090613685B005B08136013680B431360009805F017F82000FEBD6400084004020840FFFFFEFF04030840000F0840170300004002084068000840080208400000084070B5074D074A2B6C11889BB2040016008B4202D0642003F0D5FB2C64348070BD000003408A0100200122F0B5434B444C85B062641A7002940393029B414EDB6B328899B292B21B041B0C914202D8802040021B1800259B1A9BB2019331800C226A43394B9918897A1F00C9B2FF2926D09858844601980530844503D99858019C001B00E00020985017 +:00012A01000C226A439858002815D1BB18FF229A722C4A944664461278013AD2B222702A4A944664461278013AD2B222705A68002A01D05B68984701351F2DCCD1224D2B78DBB2002B1DD0002320480C225A43B918897AFF2903D0B958814200D2B85801331F2BF2D1029A3388D26B9BB291B21204120C8B4202D3802149025218D31A9BB200E012480533834293D8039B80B258800A4B1B88C01880B2FFF76EFF0023039A13702B78002B03D18022094B52001A6005B0F0BDBC070020000003402A0E0020B40C00204401002045010020C0FF000080E100E0F0B585B007000C00160001930020FF2900D19BE0824200D198E004F040FFBA25FF226D000092F33A94462A00FC +:00012B01001E237A43029003922A0060467A435843444982188A18927AFF2A01D1DAB200920C225A430398121889188A7A94420CD13D4ADBB20093D35D013BDBB2D3553B4A1378013BDBB2137005E0013BDCD2009B0025FF2B60D00C22009B324D5A43BA235B007B430199D218AB181E8159609C722F4B30491B882D4C5E4356510B782E000191002B3ED12C4BDB6B207899B2002826D02A4A1B0412881B0C92B2914202D8802149025B189B1A0C2200999BB24A431100BA2252007A438A18B1585B18B3501C4BB058598888421CD2B25892B25A801A4A10885B88C01880B2FFF7CDFE11E0164B19805059164B984200D91800019B80B25880081880B2FFF7BEFE8022114B30 +:00012C010052001A600125084AD35D0133DBB2D35523780133DBB22370029804F0AEFE280005B0F0BDB40C00204401002045010020280E0020BC070020000003402A0E0020C0FF000000E100E0F0B589B006AF06000C0015000021082238000AF050FF002E00D063E1252C00D960E1934B1A002C321278039201220399114200D156E18F490978114200D051E1A01F162800D91FE10AF00AFEAE00B6001E011E011E011E011700C000C000C0001E011E011E01EE001E011E01F5001E011E011E011E011E01C0006A79D2094FD16A78A878002A25D102380E2800D929E10AF0E6FD1200B6010F0028011A0028012801280128012801B9012801280128011D0000228D21A8E1A8 +:00012D010001226F490A706F490A7000228B21A0E100228A219DE10022A4219AE101380E2800D903E10AF0C0FD9701020102010F0014001700020102010201020102010201020102011C00802001229221800086E10122A22101E00122A321802080027EE10122902180207AE157492A788A18117D002900D1DAE0012780203A008002AD33FF331B68034200D1D0E005A8002A2DD06A68002F16D0EB79DB0907D06F781A23072F0BD8BF00023FBBB207E08223EF885B00FF05FF0D9F4200D83B00170C8770170E07E06F781C23072F00D8BB002F78877000270270120A42702A000832C77000920200012004F0CBFA9FE003009AE00822290038000AF079FE0822B02106E01D +:00012E01000422290038000AF071FE0422B1218023DB004EE02C4AA300D3182C4A2878110056329B69125D303101380293095D12090F2811D80AF02EFD0C101208101010101010100A1010100E102006E0202004E0402002E0502000E0302002433A7001220D2C55D10020164B1870164B18704FE02B7801223B7080239B211B0119E02B793B702B681A0A7A711A0CBA710D4A3B711B0EFB711378DBB2002B05D00023862113700822203304E0054A862113700822202302932EE0C046B0020020AF020020C40A002066010020C4DD010044DE0100654AA300D318654A9B6911005632105D30310293095DC30704D50022604B1A70604B1A70002243070AD5954208D10220F6 +:00012F0100039A4042024010005B4A2C3210702A0000290BD05848029BAD30FF300068184204D03B0092B2012002F0E4FF300004F0D5FD524B37331B78002B00D191E087300378002B04D12300173B012B00D988E04B4B1A78032A20D19B78DB091DD00B2C07D1F232474BFF3240210020FFF7B2FD4AE0162C07D140210020FFF75DFA052000F0F6FE3EE0032C04D140210020FFF753FA1CE0012C1DD1F7E70B2C02D0631E022B17D81027384BDB793B4212D03F210020FFF741FA04F0DCFC2021334B1A68BA431A601A688A431A6004F0D6FC062000F0CEFE062C25D00AD8023C012C40D880213000C90101F059F8294B9E1916E00B2C09D0162C05D00A2C32D1244B9E1943 +:000130010001230DE040211BE0214B9A1912791C00002A03D08021300001F040F8A619002333711EE02B785B08032B07D0072B02D0022B16D102E08021490001E080210901300001F02BF80CE000228C2101E000228E21402003E0802001229121400000278DE609B0F0BDC046C4DD010044DE0100C40A002066010020B0020020D9050020980700206D4001001806002008090020BC07002010B50023FFF71CFD10BD00000122014B1A707047C407002010B5402001F00CF910BD000010B5A22903D10122044B5A7004E0A32902D1102001F0FEF810BDC046C4070020402337B501AC0D006070022221004B202370FFF7BBFB002806D112200222032101F0B2F8002012E000 +:00013101004423022221004B2023706570FFF7AAFB0028EED0482323700023022221004B206370FFF79FFB3EBD73B5154B5B78002B1CD06B469D1D0F232B706B46DE1D0E23142433702900942004F082F93100942004F07EF92B783278934202D19B070DD104E0013CE4B2002CECD1F7E702218C20FFF7B2FF02218820FFF7AEFF73BDC0467B090020F8B52A4C0600A76B2762002F4CD00125FB0514D5226B264B13402363C023254A5B00D358244ADB0B9D439A235B004343D318FC335B6A002B01D029009847BB051AD5226B1D4B13402363C423194A5B00D25880231B0213405A4253415B421D409A235B007343144AD318FC339B6A002B02D02900300098471021A36B25 +:00013201000B4A0B4202D0136B8B4313632021A36B074A0B4202D0136B8B4313634021A36B034A0B4202D0136B8B431363F8BDC046FC000A40FFFEFFFF00000A40C4070020FFFDFFFF0120704701207047F8B51E0005000C001000642117000AF02FFB320042439A206843BA180419D0430C4B883464001C190B4BC017197810400AF01EFB248980B2A4B2000221000AF04BFC032803D9FE2802D9FE2000E00420C0B2F8BDC4070020B4000020224B70B51A003832115C05001A00002905D139331B5C0C20002B35D00AE0002803D11B4908200B6802E0102019490B6883430B60C021184B490019659C6D17491748214099658021C90019621C6B154921400024196301681A +:0001330100134B0B400360AB00D318DC631300393238335C555455A54205D123202900FFF7AFF8280004E034202100FFF7A9F8200070BDC046C40800200002044000030440FC000A407FFEFFFF00000A40FFFBFFFFFFFFFF9FD023064A5B00002902D1D158022001E00420D1588143D1500020704700000A40C623064A5B000420002902D1D158814301E0D1580143D1507047C04600000A40F0B585B0060004F073FC03006F331F78083B1B78040001930300019A723303AD1B78012A21D1012B12D1324B1A6806231A4004D0030090331B882B8004E03900300002F01BF8E85570342378022234E000223000110002F011F8002228700199300002F00BF8687041E000222D +:00013401000192012B2AD1204B1A6806231A4003D08E3423882B8034E003009A3301931B78002B04D03900300001F0F2FFE855EB5D002B03D1019B1B78002B05D101223900300001F0E5FFE855002270342378EA5417E0019B01330193022B12D06B461C7900222100300001F0D3FF019BE8540028EFD001222100300001F0CAFF019BE854E7E7288805B0F0BDA4000A40F7B50D00070014000321022210201E0000F0E0FE062D00D96AE128000AF0FEF9070068011F00680168017900F600380004F00EFB723001780124C9B2002900D057E16B468020D971FFF700FE21008420FFF7FCFD022204000321132051E06B46DD1D2900802003F0ADFF2B7824010F2B0FD103264C +:000135010031002143C9B280202970FFF7E5FD01218420FFF7E1FD0222310019200EE0022631002143C9B280202970FFF7D5FD01218420FFF7D1FD32000321142000F090FE0020924E924B0322A0213070FFF7C2FA3378002B08D12900842003F079FF2B78002BF5D1013333700126A02100203443FEF762FFE1B280202970FFF7ADFD31008420FFF7A9FD022204000321152000F067FEDF237F4A11680B401360EFE020237D4960010A6824019A43D2B2034013430B606B46DD1D2900802003F049FF002E0CD0E1B280202970FFF786FD01218420FFF782FD02220321132021E02B780F2B0FD1032739002143C9B280202970FFF773FD01218420FFF76FFD02223900192090 +:00013601000EE0022739002143C9B280202970FFF763FD01218420FFF75FFD3A000321142000F01EFE0020594F594B0322A0213870FFF750FA3B78002B08D12900842003F007FF2B78002BF5D101333B70A0210020FEF7F2FE002E0FD00F210C43E1B280202970FFF739FD01218420FFF735FD02220400032118206AE006210C43E1B280202970FFF729FD01218420FFF725FD02220400032117205AE020233F4960010A6824019A43D2B2034013430B606B46DD1D2900802003F0CCFE2B780F2B0FD1032631002143C9B280202970FFF705FD01218420FFF701FD0222310019200EE0022631002143C9B280202970FFF7F5FC01218420FFF7F1FC32000321142000F0B0FD4D +:00013701000020224E224B0322A0213070FFF7E2F93378002B08D12900842003F099FE2B78002BF5D101333370A0210020FEF784FE07210C43E1B280202970FFF7CDFC01218420FFF7C9FC022204000321162000F087FDA3210020FEF74DFE002802D0102000F0B4FDA3210020FEF766FE202009490A688243D3B203430B6000E0012402220321112000F06CFD2000FEBDC4070020A13001000002044000010440F7B5040004F070FA474D0A23474A060001212000FFF74CFD2A6B454B454C13402B6380239B002B621843783BE050424B5A78E6235B00002A03D1E1583F4A0A4003E0C021E25809020A43E250E0583C4A38491043E0503B4B40331878E8235B00002804D182 +:0001380100C027C8583F03384302E0CF5835483840C850E0586F360243E250EC2308225B00E25032782A49012A03D10220CA580243CA50D4262C4B7600A351D6230A202B4A5B00E2502A4A0433E2502A4A0433E0500433E25002F072FCA359D2275B005B08B022A35104237F001204E3512A65AB6D13438022AB656B6CD20413436B6404F078F88022E35912061343E3510600642002F054FC64238020174901930003019B5A1E0192002B03D00B680342F7D004E080226B6D920313436B65300004F05DF80120FEBDFC000A4088130000FFFDFFFF00000A40B4000020FF3FFFFF01080000C4080020FFFFF3FFAFA0288001800200B0C412001900B004A4000A400023F0B5AB +:000139010089B003900F000793994209D118330293C02380269B04344D344C0193760008E01B230293C02380265B05314D314C0193B60004F01EF82B68049000932E4B2B60012322681A43226022681A4206D0079AC72A03D8079A01320792F5E7022002F0EDFB24680A20240CE3B20593009B2B6002F0E4FB214B1E621A6B324210D0009A002A0DDB9A69019911400A000299CA40296809041AD5022A02D19A6A16439E62049803F0EAFFE3B2154D002B11D09620E1B2C0020AF0B6F89A23039A80B25343DB1988335B00EB18188102E0012AE7D1E3E79A23039A5343DF1988377F00ED19288980B209B0F0BD80010A407C010A4088010A4084010A4000020400FC000A4061 +:00013A0100C4070020F7B51F0008AB06000D0000921C7803F0AEFF4D2373435B19414A46339B00D318099A01909A60002A45D0002D20D13D4D3D4BAA693D4E134022061343AB61009B0A205A04C023DB021340802292003A43C02713437F00F35102F06EFB80235B002B622A6B1A432A63F25912044BD444E0012D3ED12B4D2E4BAA6980261340E2061343C022AB61009BD2025B0413403A00C427B60032431343244A7F00D3510A2002F04AFB2E622B6B33432B631F4BDB591B0431D42AE0002D0CD1C0231D491B4A5B00D150174B1C4A196B0A401A63802252000DE0012D0CD1C4231649134A5B00D150104B154A196B0A401A63802292001A62019803F03FFFF7BD012C0F +:00013B0100F9D1AA6A1343AB62F5E7022CF9D0F2E7012CF0D1AB6A1E43AE62ECE7022CF9D0E9E7C046C4070020FC000A40FFFFFFFC00000A40FFFFFFE700020080FFFEFFFFFFFDFFFF37B5114D114B2C00FC34626C0121134000226364019200921300FFF751FFD42280215200AB5809060B43AB50043AAB5801205B005B08AB50A26D054B1340A365B0231B0423653EBD00000A40FFFFFFFBFFFF4FFF214A30B5130031331B781100DB0739D580241E4BDC711E4C1D002478072C15D10278500603D05206520E012A08D90B00022133331A780A431A70C023EB7121E002225A71E222FF321A821BE0062C0BD110225A711A000F49103231C931C20968116005221A760DE0A9 +:00013C0100132C0BD1100033300178343219741178997400211170102201705A7130BDC046D90500201806002098070020DCDE0100FD23024A11680B401360704700030440104B10B51A0001883132080A5070180011702E332D301B7802781B02134301220B4003701B0A43701140074B02D07F32DA7106E0D971197902200A401A7102F003FA10BDD90500201806002010B5084B31331B78DB0709D50123064C022022791340237102F0F0F92023E37110BDC046D90500201806002010B50024154B20001A002D331C705C70134B3132473319781470C9B2547003F023FF104A0321200003F028FF21000E4A200003F043FF22000221200004F02EFA022002F0C5F90120EB +:00013D010002F0C2F90122074B19790A401A710822DA7110BDD905002000D1000060D100007CD1000018060020104B10B558701920587318385871802089B2D974090A1975997C404201432030FF3001407F3801431938814318300240997411003F225C7C224082430A435A7410BDC046D905002010B5040003F0FDFD0123A34003490A6813430B6003F0F9FD10BDC04608090020F8B5234D07002B0031331B78DB073DD57F2304781F4E1C4203D06406640E012C06D9022233352B7813432B70C0232CE08023013CE4B22000F37103F087FE75300378002B22D07F223B78290093432A0035310A203632002B06D0052308702B7014706B70063805E00627087004202F709E +:00013E010014706B70FFF7B4FF3E220A34A4002D195242EA71002210232A72F371F8BDC046D905002018060020F7B50600170001290FD803F053FE75300378002B04D0864B35331A78002A01D1062001E1013A1A70B4E0032909D1814B1A78032A00D0F9E09B78DB0900D0F5E0F1E0042900D0F1E05478002C04D19378102BE5D0042BE3D0764B18780938072800D9E3E009F002FD1AE21A25E2E2E2041A79D9789207120F641A0432A400A24200D92200102A00D9102202316A4B890079186A485A7109F015FEC4E00021664B10226648597109F016FEBB78032BB7D1B9E09A780125022A03D0033A554255416D00012C00D8AEE01F22397A5C4C0A40022A28D106320021DE +:00013F0100201D09F0FCFD200000210C30202209F0F6FD00210120CBB25A0803405842584103329200D2590301DA40480092B2231DC252002A02D001310429EBD1220000232C32137022002D321370A18827E022002C321278F86891006118C860511C00917878844661460020022900D93869511C0232D2B29446890061182200C86061462C32117021002D310A780132D2B20A70032A15D85200A418A188002910D003222800FFF7C1FE0C222B4B0A211A701A00353211701A00363216705D70042047E000201A79060001925A7903009207920F234C0132C5B2AC4537D9234987000C31795800292DD0771CFFB20097019FB74228D81D4E6D086D007519AE88E5182E7492 +:00014001005D1CEDB26519360A2E749D1CEDB265192974DD1CEDB20E0A65192E745D1D1E1DEDB2F6B206330F0CA6196519090E013ADBB23774D2B229740F2B06D8002A01D103E000960130009EC4E7054A53710520FFF78EFEF7BDC046D90500209807002018060020280600200809002010B53F2903D0052040290CD00DE0074B35331A78002A03D10A321A70062002E00420013A1A70FFF76DFE10BDD905002010B50F4B0A3080001818047AC279240214431A00323331321B7812781B021343A34319420AD0837942791B02134319434171090A81710720FFF74CFE10BDC046D9050020064B1A002F331970054B2E3210701A0043334232107019707047C0460809002090 +:0001410100B0020020F0B50C0085B0402802D0422842D04AE013780920012B00D096E003F028FC4B4B01901A00303215781A001E00313214781F0032366100A54205D32C1BE4B262007118434812E02A00484240302032141B0090020071183E4809F0C6FC3C4A009B9446634418002A003100E4B209F0BCFC3B0031331D700025364B019841331D7003F0F9FB62002B000221280001F0B0FE280059E00920022956D110785178FFF79DFF200050E0482802D0492831D048E00520012948D1254B1278190072310A70022A0CD004D8012A1BD17333597819E0C02A13D0C12A14D17333597A12E01E4B19680C4008D10621042303AA6220FEF757FA2100002805D1802103E013 +:00014201007333197A00E0FF21134B1A0049321170039ADA6419E00520012917D10C4B1278190072310978C02907D0C12908D001290BD173335A70033808E073331A7204E073335A7201E0052000E0022005B0F0BD0809002038030020B002002064000840F8B50E000400150003F083FB15490B002E331B78B34222D30B002F331B782B421DD00E007D3632780D00571C37700E0030352B7812025F0022433236BA531F220133313113400A782B70934201D39B1A01E09B1A2033044ADBB24132137003F05CFBF8BD08090020B002002010B5040003F04FFB034B1A6814431C6003F04DFB10BDC0468809002010B53F210020FEF7A3F840210020FEF79FF803F03AFB1021F0 +:00014301000D4B1A688A431A601A6849188A431A601A6820318A431A601A683C398A431A6003F02BFB054B31331A7801231340044A00D08423D37110BD08090020D90500201806002070B53F210020FEF775F840210020FEF771F803F00CFB114C060038220021200009F0CBFB0E4D30220021280009F0C5FB00200C4B1860FF2323703534F53B2370F6332B8001F07EFE022001F07BFE012001F078FE300003F0EEFA70BDD905002018060020080900207822424370B5154DAA18130034331978546993699C430023D36101228B421BD22600DE40164215D00D4A1B019B1878225043002428180125A2009A5A002A04D02A00A240C6693243C2610134A142F3D8012002E0FF +:00014401000133E1E7002070BD7C06002040DF0100782330B5002458430D4B1818036F1C60C56874300078021D1F205200AA189288197107215A801A785C7182431C3802431A705A788A4387390A435A7030BDC0467C0600207823F7B5060000251E2743430193019B164AD018030034331B78AB4220D93B0073435B1908339B009C58002C15D0104B9B5D002B01D1013300E004231F222370237A300093431A3A13432372E369984730220021200009F028FB0135EDB2D6E77822002109F021FB0520FEBD7C0600207C13002078235843244B70B518180023046F1600227163718B680D0023609300CB18DA68002A0BD08A19117E002907D020006171127ED96892000830B5 +:000145010009F0F4FAEB1CDB7F002B26D18022072163785242134363706B790B401A0063788B43134363701F232A7A1340062B0AD1AB1CDB7F002B06D06B7A0B401A0063788B4313436370002E07D00721AB790B401A0063788B4313436370012070BDC0467C0600207823F0B54343304A85B0D218126F0700019209220026039202932B4A029BD318190034310978B1424BD9DB690121F3400B4243D01E237B439B1908339B009D582B78042B3AD10522019B06311B79EB185A70019B5B780B401A006B7A8B4313436B72019B1B79002B01D1083303936B89EA79A4B21B04E4B212021C431443FE220021039B94435B001C43104BFD3ADB5D944313401C430C4A029B380048 +:0001460100D31899665C66029B0631D2186432FEF71BFB05232B70EB69002B01D0380098470136F6B2ABE7072005B0F0BD7C0600207C13002078210A00F0B54243604B89B09B181B6F060001930023059303930733049300230127029307910692069B58490298CA18130034331B78834200D8A4E0D3690298C3403B4200D199E01E2373431B1808339B005C58E369002B00D194E02378042B00D08BE00720019B1B79E3185F70019B116F1B799C464B7803401A00637A8343134363724A79002A11D0634602339B00E318586800280AD06346E3181A764A792379934203D39200083109F005FA019B1B79002B50D1E36930009847019B5B78DB095BD0019B1A781F231340BF +:0001470100042B09D1443373432E4AD3183D331F70631CDF7702230393019B1A781F231340052B04D10022631CDA7703230393631DDA7F002A06D0A26A05920022DA770C23039302E0039B002B32D06389E279ADB21B04EDB212021D431543FE22039B95435B001D43184BBD439B5D154A3B401D43069B0599D3185D669966079B06217343D21864323000FEF75FFA11E0E3780222032B03D06378032B07D1002221003000FFF792FE0623049302E0E36930009847029B0133DBB2029350E7049809B0F0BD7C060020900500207C13002078230721F0B5050043432F4A85B0D418E170E168039301912300200074331978019E0B1D5B00F3189B881430002B11D02648465D44 +:0001480100002E3FD0254F0020BC460700143702976746385A83421DD002985028F5D131E001680520002932D001261B49A366495D039B033031400143D2186166643206212800FEF701FA6C342800FFF7AFFD267007201CE00C211B040B430B390E4077316943501800240200334343668466643206212800FEF7E8F928002100FFF7C8FD062004E02300013174331970AAE705B0F0BDC0467C0600207C13002040DF0100F8B578264643104A0C279619336FB4785B881500002900D1377C22027F241B043C401343094A64002343145C012214401C4378234343EB181A0099665C6664320621FEF7B1F9F8BD7C0600207C13002070B50500042913D100220A4B84001A548A +:000149010081235B041943084B084AE358A1501600002B00D09847321907212800FEF794F970BDC04688010020840100208C0900207823F0B543433A4A87B0D31803931B6F0291019304005888039B364D3433197800235E00765B864204D00133DBB28B42F7D9FF23782105930B00022000276343D054029A0491BA4241D0294AD3180722DA70059B274A9B00D3189B68039920009847061E1BD1049D214B65435D19019BAA7859882000FBF7DFFDFF2814D01E2363431B181A4A08339B009E500123834069692A00994307235161EB7004E0029B002B01D17B1C8371049B114D6343ED182B7C1035002B05D000212000FFF758FF00232B707B1CDFB2029B002B0DD1019B33 +:00014A01005B79BB4209D9049B054A63430199D318BA1C920052585A60B3E707B0F0BDC0467C060020ECDE010070B57823040063430948C3181B6F05001979012902D12000FFF776FF7820604328187430037801330370072070BDC0467C060020F0B578264643494B85B09E19326F0400029215791A00002D71D1029B34365988434833786E00365A8E4204D00135EDB29D42F7D96FE0FF2D6DD0782301216343D154002203930192029B019A5B7993424CD9364B039A20009F18019B029A02339B009B58324ABB60AB00D3189B6839009847BB780600FF2B33D03B7C002B05D000212000FFF7DEFE00233B74002E28D0264B039A771D9B189B78F371019B01337371FB7F64 +:00014B0100002B05D0B16A2000FFF7CAFE0023FB771D4B039A20009F18029BBA785988FBF723FDFF280BD01E2363431B18164A08339B00D650012383407A6913437B61019B0133DBB20193ADE7782363430E4A0121D318DB78072B0CD006E00021FFF7E8FEF378072B05D002212000FFF751FC062008E0782307205C43034B1C19743423780133237005B0F0BD7C060020ECDE0100F7B504000D00170007292DD803F068F80600002C16D1002D05D0144AC30112782B4393420ED07B1E9F413200FBB229000020FEF763FC002804D0F6010B4B35431D7012E050236343094AD318AD33FF331B685B0308D501226B46A4180733E0B2B8211A7001F07EF90020FEBD0807002010 +:00014C0100B00200207823F7B506000027434300935548009BC3181A00343211780200B94200D89FE0D96901240B00FB40234200D195E01E237343DB1908339B00C45820780138062800D98AE008F024FE5E89040489863E001F23227A1A40042A09D1293373434248C3183B331B7801203B41034275D1A3780125032B04D0E578033D684268414500043A012A0BD8231DDB7F002B07D00123BB40994303D10A003000FFF777FF631CDB7F002B05D1227A1F3313400620042B57D12A0021003000FFF704FC0423062023704EE0294B9B5D002B46D0009BD2180123BB409943D1610021217091690B439361D269002A38D1482373431E493000CB183D331A700221FFF748FF9A +:00014D01003000FFF753FB2AE0631D0193DB7F002B25D06389E079A16AACB21B04E5B21D43FE230002054301209D43E63B1D43104B85439B5D03401D43009B3000D31899665D6678237343D21864320621FDF77CFF0023019AD37702E0E369300098470137FFB255E70720FEBD7C060020900500207C13002070B5052906D10022414B1A54FEF792FA01237AE03F4B1A5C00239A4275D099423BD13B4B19543C4B1A5C002AF0D13B4A3B4C81008C5001221A5400280AD1394A394B916823300B40C02109010B4393600F2109E0354A364B916834200B40C021C9010B430F219360FDF750FB8020314B314A40009A67314A3149DA6718659A6D02439A6508682F4A02402F486F +:00014E010002430A60996F2E4A0A409A67BAE7042935D80124CDB280211A4B89051C54294B1D54214B9A6F0A42ACD1022D0ED0032D1AD0A54222D1986F234A02409A679A6F082011439967FFF741FA9BE7986F1E4A02408020000502439A679A6F042011439967FFF733FA09E0986F174A02408020400502439A679A6F114399672300180070BDC046880100207C130020FC08002000090020F148010000020440FFF1FFFF00030440FF8FFFFFFC000A40C2F14A40AFF44A0100000A40F7FFFF9F08000040FFFFFFBF89010020FFFFFFE7C6230A4A5B00D058002906D1084901408020D150D158400305E0064901408020D150D15880030143D150704700000A40FFFFBFFF8D +:00014F0100FFFF7FFFCE2210B5142409485200835823438350103A8358002902D1A021C90301E0A02109040B4302490B40835010BD00000A40FFFFFFBFC822034952008858024B03408B50704700000A40FFFBFFFFC623054A5B00D058002901D1034900E003490140D150704700000A40FFFFFFFEFFFFFFFDF7B5224B01911B78E52B05D1204B1B78AD2B01D11F4800E01F483F27CE251426BC461E4B6D005C596146B4435C51FF2424021D59083EB543194E1D519D598018BD439D51174D5F598F435F519F5901780F439F515E59007830435851022A04D108201A5902431A510322C62040001D580D4C01992C4092062243002901D1822100E08421C9050A431A50F7BDC3 +:000150010000F5FF0F01F5FF0F02F5FF0F79F0FF0F00000A4004FF000008FF0000FFFFFFF310B502F02FFE030067331B78002B0ED1FF230C24064A1B02D1586830A143D1500178032903D10820D1580143D15010BD00000A40C622802010B50C4B5200995800060143CE20142499504000195821431950083819580C3C2143195099588B38FF3881439950002010BDC04600000A40C6220E4B520098580D490140E020995099580003014399501A00FC3290690949014091619069084901409161CE21142049005A5882435A500020704700000A40FFFFF1CFFFFFF3FFFFFF7FFB054B01201A68054B1A4203D1044BDB695B0A18407047C046A4000A4007001000FC000A409F +:00015101009A235B005843024BC01804307047C046C80700200A4B10B51A000A4CFC32D461D06A89002043D0620748F4330958116080211A68C9020A4300201A6010BDC04600000A400001040004DF01009A235B005843074B074A1B1800202D33FF331870054BD96A0A40DA62044ADA617047C046C8070020771FAEFFFC000A4088E05100054B064A196800200A401A601968044A0A401A607047C046F4000A40FFFFFEFFFFFFEFFF134B144A986D02409A65E02212011A65002908D11049114A086802400A60D96A0F4A0A400FE001290ED10B490B4A086802408020C00102430A60D96A084A0A40802189000A43DA62064A0020DA617047FC000A40FFF9FFFFE4000A40B1 +:0001520100FF00F8FFFFF5DDEF000A22109A235B0043430F4A10B5D31800222E33FF331A700C4C0D4BE36102F02DFDE0231B012365943002782300012A04D98021A26D89000A43A265DA6A054900200A43DA6210BDC8070020FC000A407F0A2210000A221010B50021FFF79EFF044B054AD96A00200A40DA62034ADA6110BDC046FC000A40771EAAFF88E15500F7B53E4B3E4AD96A04000A409A2149006143DA623B483C4A1D00DA61421817002C37FF3794463A78019152B20600002A05DA80215A6AC9010A435A625BE0334A12681100324A0A400ED080253A78AD01013A52B23A70DA6A00212A43DA62019B1B582000984746E063462A33FF331A700121200001F0A8FCA0 +:0001530100002804D08022EB6A52031343EB62EB6A224A23491343EB629A235B001A006243B2182B32FF3212780220012A02D14A68024301E04A6882436343F3184A602C331849FF330A681B78002B03D080231B031A4301E0144B1A4080239B021A439A235B005C433619330000202D33FF332C361870FF363378013B5BB233700A600120FEBDC046FC000A40FFDFFFFFC807002098E05100A4000A400100100088C0010000000A40F4000A40FFFFF7FFF0B59A2464006043134C079F24182000FC3047612C300370230005AD40CD2B332D78FF331D700D4D0D4B8800C0582B00F8331860E02301201B01334001310343090419432B002C34D03352B2FF341960EE602270B4 +:0001540100F0BDC046C807002000000A4004DF0100F8B50F00160002F035FC050067352B780224012B00D034008822002352009C46012F00D19446C6232D495B00CF5817400022BC4508D0CF582A4A3A406746CA50CA5817430122CF502B78274F012B08D18B3003789B00FE18337F5801737F5B0207E0BE19330029331B782836580233785B010343C62040000F58EE210901184E39408B4207D03158184A0A40325032581343335001E0002A02D00A2000F046FE134B1A68C023DB0213408022D202934205D12C78013C624262410224A41A2A78012A04D15A1E93415B421C4006E0002A04D1C022D202934200D103242000F8BD00000A40EFFEFFFF04DF01001FF1FFFF75 +:0001550100A4000A40CA22082170B5C6250B4C5200A3586D008B43A350635952185B005B086351A3580C318B43A350322000F006FE0A22635900201343635170BD00000A40802210B5074C5203236832201343236000F0F4FD80222368520213430020236010BDC046F4000A40F7B5070002F08AFBAD4B01905A6B1E00002A00D1DCE15B6B9B050FD59A2300205B007B43A749CA182D32FF325B58107008213800984788239B00F3618023726B1A4209D09E4AD361B4337B439D4AD31801222D33FF331A70F36D9B0530D5984B98491A6D9A235B007B43520504D5C9182E31FF3100231FE0CB181A0001202E32FF321070904A2F33D26DFF33D201D20D03329210D2B21A7054 +:00015601001A78412A01D941221A709A235B007B43C9180A0000233032FF3231311370FF310B70C023DB0033658024736BA403234204D0380001F0CAFA7B4BDC61736B7A4ADB007DD5D469794D230721D530232340102B1DD12533FF337B43E9182D31FF310878012814D10020087072490968080080210903084301006E480160D06A6E490140D1626D493800D161EB5803219847E30747D520231C4044D19A20400002007A43AA1813002D33FF331C70F16A644B0B40F36280239B01F361624B1B689B065B0F013B13715A4BD96D019B916094331B78012B02D85C4B0B40936078432B18597A4906490F5971CAB2197ACC068906E40EC90F9C71D9712E33FF331B78002BD9 +:000157010005D128180C305149FCF744FE02E0380001F05CFA9A235B007B43444A0621D358380098474A4B414AF3619A235B007B43D51800232E35FF352B70E0231B0133658024736B2401234209D09A235B007B43364A07219B5838009847334BDC618024736BA402234209D09A235B007B432F4A07219B58380098472B4BDC618021726B8901294B0A420CD0D86A2D4A0240DA62D9619A235B007B43244A01219B58380098478024736B64031F4D23420AD00021380001F04DFA002803D1EA6A254B1340EB62F461736B184C5B045DD59A2252007A43164900258B1818002D30FF302C330570FF33187840B2A84208DAE06A124B0340E362535838000221984741E01B786F +:0001580100002B33D08023DB03E361052000F096FC8022114D12032B6813421FD08022E36AD2031343E36221E0FC000A40C807002000000A40D0000A40773FFEFF88C00100FFDFFFFFA4000A40EF7FFFFF60000A407F002010FFFFEFFFF4000A40052000F06DFC80222B68120313432B609A235B007B436B4AD3182C33FF331A78013A52B21A708023DB01F3618025736BED03654C2B420DD0052000F051FC8021624A090313680B431360E26A604B1340E362E561C023726B5B025B4C1A420FD09A235B007B43574A00219B5838009847D02380225B02E361E36A92011343E362736B514CDB0512D59A2300205B007B434C49CA182D32FF3210705B58380005219847E26A0D +:00015901004B4B1340E3624B4BE361736B454A5B0312D59A2300245B007B434148C1182D31FF310C70D46A42492140D1624149D1611B58042138009847F26D3A4B002A6ED08022D96D114200D01A658023F26D5B001A4209D0334A1365374BBA00D358002B02D0042138009847A023F16D1B04334A2C4C194241D0A16D314B80200B40D421A36549005358000603435350626C2D4B9A25134002226364E36BFF321343E363052000F0CBFB0021E26B274B6D001340E3637D43254B3800E361194B5B192E33FF331970E0231B012365019BC0331B689B6B98470122019B6E331A70104BEB58002B02D00921380098473A001F230E321A401E3B9340164A1360F36DDB020ED572 +:00015A0100002F09D1402013490A688243D3B203430B603F3800F086FB3800FEF793F8F7BDC8070020FC000A40F4000A40FFFFBFFFFFFEFBFF000104000009002000000A40FFFF5FFFFFFFFFFBFEFEFFFF7F08221080E200E000020440F7B50125042800D1E0E1032804D10021CD4B19605960D2E1012800D06BE10F24CA4F79780B090C40022A00D913E1C64DAC460025664635607560012A16D0AB4222D1022C0ED1C24A397812881D00914200D3BBE1BF4B0832C918D318316073600500B3E11D00002C00D0AFE10025B74B1A7853B2AB4200DAA8E1B74B0135D3183360B44B7360A1E1012B00D0D0E0201F2A0001280ED80A006546AC481A400078120208351218AA18CA +:00015B0100326062462132FF3272601A002300083B012B0AD80125A34B29401B780902C918A44BC9183160A44BBFE01500002C00D078E19C4B1B785F2B00D973E1200001F0CDFF030072331B7805002700002B22D0030067331B78002B08D1030068331C78E4B2002C05D0013CE4B202E003008B331C782B002A0078331F787432093B1B7812785B0092001A4301237F0113433B43A7013B43DFB2023C631E9C41002002F03DFBC823854AA4032043127E804C5B00E050002A03D0802292001043E0502B00C0331B68002B0AD09B6D002B07D000209847642107F0A6FF9623FF33E054CA235B00E7542B00B8331A68D0235B00E250AA7A163BE2548C232A7BFF33E254704A90 +:00015C0100002013006C33197801291FD1130034331B780193D3699C4603006746DF400F420DD01F000837BF00BF58002F07D00137FF7F002F03D00F009F403843C0B20133019FDBB2BB42E8D980231843B423FF33E0542B0067331978CC22CE23FC3552005B00002903D1A96DA1506A6D02E0E96DA1502A6DE2504B4B01251A78514BD3183360514B7360CDE00F2B00D0CAE04F4B37331D78002D00D1C4E03A782F2A00D9BFE04B4BD31833604A4B7360BAE0961E002C2AD03A78B6B2002B0CD1022C00D0A3E0394B39481B8810189A1AB24200DD320092B215E0012B00D096E0082C04D1344808331018FF3307E0092C00D08CE0304B501CFF30C01808239A1AB24200D99B +:00015D01003200354907F0F2FE7FE0344A344C1278A054002914D13A78062A11D1244CBA78A1790A40BA700BD00F2B02D170330B4002E098400B0083430220A371FEF7C6FA0122284BB6B21A70274B1E805DE00025A8425BD1124C2368AB4257D062680500934253D2D21A082A01D9082201E0002A4CD01A491D480978D2B289000D58822189006858EA39FF3901400820411AC9B2FD30FF308A422BD2012129502BE0C046AC0900208C010020A800002038030020B00200208804002098050020AC0A00207C06002038040020A0040020D905002018060020480600208E010020AE0200202C0E0020F4060020AC02002030DF010004222A500A0090219A1889009A4203D078 +:00015E0100187801336850F9E722600125064B1978C9B2002906D190220448520007F06FFE00E000252800FEBDF40600208C010020F8B5060000240C27E3B29E4201D0102E0DD1012C0BD83D006543074B0021ED18AA88286807F053FE00232B81EB800134102CE9D1F8BDC046540C0020F8B5050001F07FFD0C236B431C4F0600FA18D188380089B21A4C00291AD0002D08D12200DB597E32197811705A7823007F331A700C226A4381588218CB7889781B020B4304339BB213810123AB40A27913430FE09288D85907F01BFE002D05D123007E331D7023007F331D700122AA40A37993433000A37101F049FDF8BDC046540C0020B0020020F0B585B0140002911D000190EB +:00015F010001F037FD0C230199354A4B43D1188F880390BC466646C888CF8880B2F71BE61DBE4219DB6446CD88651B0024032D4EDD81259E5835549E58451CADB274559E58851CADB274559B58033080B21C54CB8804339BB2CB803AE06E469958367A471C0E54E6B2B446811C89B2029161469E58BFB2F155002C0AD0002D08D19958029C03300D559B5880B21D542C0014E00C2366460199124A4B43029F9958CE559E58C11C89B2270A77549B58043080B218182200290007F09AFD0C22019B5A43084B9A18D3880433E418A4B2D4800124039801F0D3FC0198FFF749FF200005B0F0BD540C002070B5094C0500235CFF2B0CD000230130C0B21A00032901D1013900E052 +:00016001000C21FFF777FFFF23635570BDAA00002070B5094C0500225C0B00052A09D00221012B00D00B310023681CC0B21A00FFF761FF0523635570BDAB00002010B5040001F097FC0123A340DB430D495BB20A781A400A700B4A2C32147823400C781370E4B2002C08D101F088FC2300220002212000FFF73FFF01E001F07FFC10BDC046AF020020B002002001218140024B39331A788A431A707047B0020020F7B5070000250126EBB201933E421FD001F061FC0C236B43194C0190E4182389002B0FD02189E38822899A1A23685918180007F00DFD2289E3889B1A9BB2E38000232381019801F04AFCE8B2FFF7C0FE76000135F6B2022DD6D17BB2002B0ADA7F23084A42 +:0001610100012091790B409371FDF732FE0120FFF7BBFF01F02EFC01F030FCF7BD540C0020B00200200223044940000A689A43D2B2034013430B60704700010440302310B5584301F00DFC10BD034A044913689BB20B4313607047C0460CED00E00400FA05F7B501224B4C4C4D23684C4E9343236000234B489A002900032B00D8B15801338150222BF6D172B6FF22464B00271A60FF22454B12021A600322444B07261F60434B444D1A60444B21321A60434A444B1A602022434B1A60434A444B1A600C22434B1A609322434B12011A601222424B1A6001F0CEFB01902B68404AB3432B603F4B40491B78DBB213603F4A1368B34313603E4B0A6818787F239A4303401343B2 +:00016201000B60322001F0ACFB05222B683220B34313432B6001F0A4FB06222B68B34313432B60019801F0A9FB9E22BC21304BD2011A60304B304A89011A60304A116090212F4A09011A602F4A1160C0212E4A89001A602E4A1160E8212D4A49011A602D4A116080212C4A49001A602C4A11602C4A1A6003222B4B1F602B4B1A602B4B1F602B4B1A68BA4200D11A600122236813432360F7BD000010408918010000D000000000002000000240000302400001024000000440080F03400800044070020300080104400C01044000081B00080204400003044008030440300010400C0F03407DF3FF0F180F0340100F034064F3FF0F140201400000014005FF008010020140EC +:000163010004FF00800802014002FF00800402014001FF00800C02014003FF00800002014000FF0080280003400C01014000010140880000202C2270B542430C4B0C4DD218295C0C4B040001F05FFE061E04D012200E2E07D00D2005E020008021FCF76CF8300001E0FF232B5570BDC0464C060020AA000020E55F0100704701207047000010B50400042904D1064B195C02F040F807E0032905D101F0A1FB9C300278014B1A5510BDC80A0020F8B506004424744313480419230034331B780500002B1ED01F2200271A40E76022730E4AE281052B05D13A0039003000FEF7DAFB2777442070432818030040331A7803240023C1180133DBB24C719A42F9D203230371F8BD5C +:0001640100C80A002055090000F7B54424210041434E4A0300511808790138062800D993E007F038FA5004923863928A005C43111920000324112640310978A446019100215E4317183837644615186D186C7174180234A4001419A760002901D000242C770131019CC9B2A142EDD9442159435118C86B441C01D1002001E088630120087744205843324912181162324911633432042155E05C4312191100137B3431DB06DB0ED8B20B7001231371042805D005284AD10021284B19703BE0274A137000230B7041E01F215C431419207B014006293AD1A06B053901400C1E00D00524442058431218343214702BE05C431419210034310878042807D0052825D10022164BF5 +:00016501001A70072323711FE0607905280BD1250040352D78002D06D008701800FFF744FF0023637110E000200B49087044304343D2180723137107E005215C431219343211701800FFF730FFF7BDC046C80A0020096401007B630100480600207023134A70B5140043434834E4182500104E5E345C352E8020704C78012C0AD1D3181C000C4DB03425600C4D043C25600B4CA8331C60702358430A4C1318B4331C60022348328B701018F9F793FD70BDC80A0020DE280000C56501009D6A0100F5650100256A0100702310B55843034B48331818FAF7BCF810BDC046C80A0020702310B55843034B38331818FAF7B0F810BDC046480B0020702310B55843034B483318189E +:0001660100F9F740FD10BDC046C80A0020702310B55843034B38331818F9F734FD10BDC046480B0020F8B58F6806000C00032F5CD10A78012A20D144257543574B2F32181D45190021280007F05AFAE368A7709A68514F1168002903D013785B0748D04AE0DA7838231340282B45D0300001F036FA037C002B3FD03BE0022A36D144234343454DC978EB1807291AD01900012040310870586CDF639F7180688C460168002905D00078010702D5DF7163461A70442302227343EB181A713000FFF7A5FE0CE05A6C92681168002907D05278D20604D50A22227400221A7134E00723E37023742B1D442575435D1954E0FF23A37029E00A23237426E00023E268284819000831D3 +:0001670100490051188988002904D0814217D00133DBB2F3E70723E370237444237343FB185A640322DA631A0000214032117002221A71013A1A723000FFF766FE2AE00123E370EAE7702373431548144DC21811001300943196330D801E706378012B0BD1104B1149A3601300A03319600F49043B19600F4B9832136070256E430D4A8319A4331A6001233830A37080192100F9F79FFC05002800F8BDC80A002055090000480B002005100000DD650100B56A01000D6601003D6A01008B1EF7B55A1E934107220400D31A0D000193E60001F008FE022D0BD10199200001F042FE00282FD000220421200001F0B5FC29E0184B20009F19184B7A5D9B195B5D934206D901F0CA +:0001680100E5FD7B5D0133DBB27B55E3E701F066F9030072331B78002B03D067300378002B08D14823022163430B4AD3183C331A780A431A70200001F0B3FD2000FAF7C8F8034B9B19585D034B9E19735D181AFEBD0A07002058DD010090050020020054324B1C05D10023037612789A4207D10DE00123016303761278002A07D08165020043764E321278022A00D1837670470000030070B5002504003C331D70DD70831C85634564DD8740331D700E3B1D702900FFF7D4FF230026004833DD701D7002331D70013B1D705D715E362565DD729D753078064B1D54FCF7E7FC3378AB4201D1034A13600723237070BDC0468801002084010020030070B534331A78002A22D0AE +:00016901001F23002113408160037203005C331B884381131F012B02D90123037600E0017603004E331C78032500230126C1184D70002B02D0102A00D14E700133DBB29C42F4D20323037070BD0A0E090270B5090A0400012A06D101394B4259414C34217015005CE0032A2CD10378002B01D0072B03D14D342170002551E0002907D123000025112234331A702900A56341E003003E303D331B780578CAB21D40154001D1002A3CD1230039331B780025994236D02300112134331970A5635A7106221A7126E00025022A2AD103004C331B78AB4225D00629D3D0072921D801238B4001003E303D3109780078DEB20140314216D02100393109788B4211D02300112134339C +:00016A010019702100042338311A43A5634E700A70A16B2000FFF722FF2000FFF76BFF280070BD0000702310B55843034B48331818FFF78AFF10BDC046C80A0020702310B55843034B38331818FFF77EFF10BDC046480B0020030010B542331B78821C002B08D0D18F023B194103235E3019400078FEF780F910BD89B210B504290CD1431CDB7F002B08D0020042321378002B03D0023B1370FFF7DEFF10BD0000702310B55843034B48331818FFF7E5FF10BDC046C80A0020702310B55843034B38331818FFF7D9FF10BDC046480B0020C82110B5002289000400F8F787FF002808D1C6220B49520088580B4B03408B50683209E0482308216343084AD3183C331A780A431B +:00016B01001A706422054B2E212000FBF7E3FF10BD00000A40FFFF0FFF90050020216B0100C82170B5002289000400F8F75DFF002827D1482308216343154AD3183C331D780D400BD01A788A431A70C622114952008858114B03408B50683213E07F22197820000A401A7001F047FC29002000FEF7ADF920000121FEF7A9F9200000F046FF05E06422054B2E212000FBF7A3FF70BD9005002000000A40FFFF0FFF216B0100704710B50020FEF7DFFC10BD10B50120FEF7DAFC10BD10B50020FCF7E3FA10BD10B50120FCF7DEFA10BD00009A235B004343F7B51C4CE3181A003132FF3215781E00EDB229003036FF362A00083291421DDA1A002F32FF3237781278974221D261 +:00016C01000F00327818370192104ABF00BF584D2242439446019A0131624402329200A21857603278C9B20132D2B23270DDE79A235B00584324183134FF3423785A425341DB002370F7BDC046C807002000000A40F0B51E4B1E4C1A689A235B004343E3182933FF331B78002B01D100202DE0002906D11F2308241340072B03D8210001E0102400219A220B0052005043104A10180A19934218DA050006002A35FF352A78FC367669920097591A1D0A4E920097512A78013D0132D2B26A706A782D789542D3D90133DBB2E3E70120F0BDA0000A40C807002000000A400221024A53688B435360704700000A40F7B500F0CBFF2A492A4B0A6804001A408223050075342678B1 +:00016D0100DB011343019167350F3C002E04D12E78012E07D1862303E02678012E02D18E23DB0113430200943217781D4E1D4A012F16D9B76C1C490F43B764012756683E43566002007D321278002A02D0027C002A02D1164A13400BE0C022D200134307E0B76C13483840B06403265068B0435060019A1049136041220B681B0C1B041A432B78180223785B01034313430B600A4A0A4B1A60F7BDC046E4000A40FF00F8FFFC000A4000000A4000001080FFF9FFFFFFFFEF7FF4000A4041004100F0000A40022300293AD03F223333FF3358431C4BC1501C4B1C491A601C4B423A1A6001235B420B601A490A601A490B601A490A601A4A1B4913601B4A51601B4A13601B4ABD +:00016E010013601B4A13601B4A1B4B1A600F221B4B1A601B4B1E32FF325A601A4A9A60D96A194A0A40DA629A6C184992B29A649A6C0A439A64164B174A1A60002318007047C8070020A8000A40B0000A40AC000A40C4000A40C8000A40B8000A40BC000A40000FF10300000A40B4000A40CC000A40C0000A400F021000D8000A40E4000A40FC000A400A404101000408C002000F7EF0000A404100410013B5002000F0F2FE030087331B78002B38D070211C4B1A6B8A431A631962030071331978C9B201290FD1020067321278002A0AD19E300078002823D10190009003000200FCF792FD1CE01B78002B19D167300378012B15D1CE2214210B4C5200A35832208B43A350BC +:00016F0100FFF71CF9C622C0215200A35889040B43A3500432A158044B0B40A350012016BDFC000A4000000A40FFFBFFFFF8B5364A0500364B802100280AD13548354CC901116004601960402133481160334A09E03348344C0902116004601960802132481160324A10608022314C1960236812061343C62223605200A35808275B005B08A350CA2301265B00E2586420BA43E250E2583243E250FFF7D1F807220320254963589343034363502349280063589343053A1343FF2263500C211202A3588B43A350E8225200A35800213B43A350043AA3581F439A235B006B43A750174A184FD318184AFE33DA821A83C0235B00E750FCF784FCC4235B00E75031002800FCF75B +:00017001007DFC0020F8BDC04680E100E000E100E078000020A36B0100B76B0100580000207C000020AD6B0100C16B01005C00002000000A4018FF00000CFF0000C80700200002008088130000F0B585B0050000F019FE0300029087331B78002B00D11BE10300020071331E788D4FF3B203938D4E67328D4C012B53D110213162336B0B4333631378012B14D1B269884B13408022B361B36992001343E13AFF3AB3613262336B1343336323689B0300D4F4E0B36AF0E02368B2697E4B28001340F022B361B369120113436022B3613262336B13433363029B90331F88FCF75CF980B2B84200D0ADE0029C9E342478002C00D0D3E0280000F04FFF0700280000F063FF3A004F +:0001710100030003992800FCF7A1F86A4A0300019202220399009228002200FCF773FCBBE0C62513786D000393039A634B012A00D089E07A596149134010227B517B590A2013437B517B595E4A13407B51029B7A598B3302931B789B005B5C59025B010B4313437B51FEF7EAFFC822802052002168BB58C0000343BB507A59524B14201340CE227B515200BB580343BB50B2694E4B1A40B2617A594A4B1A40C0237A518022DB020B40D20293420DD1029B43491B787A599B005B5C5902C02313430B437B51039D022719E08022920293420ED1029B3A491B787A599B005B5C5901C0231B0113430B437B51039F022506E0CC227B59120113437B51039D2F000A20FEF79EFF18 +:0001720100B2693902AB020B431343B3617C236C223362336B13433363802322689B02022F02D11A4202D00BE01A4209D080232268DB02022D02D11A422ED001E01A422BD1B36A202226E07A590A20134010227B517B5913437B517B59194A13407B517B597B51B269124B1340A022B361B36912011343B361FEF762FF702360223362336B1343336323689B03DAD423685B0303D54022B36A1343B362012005B0F0BDC04600000A40FC000A40A4000A40FFFCFFFFFFF0FFFFA16B0100FFFEFFFF20DF01001FF1FFFFFFFFFFFC0FF0FFFF10B50A4B1A6801321A601B68012B05D9074B084A1B685A60FEF730FF064B074AC2210020FBF7F0FB10BDC046F00B0020B0000020D1 +:00017301000C3003C0CD720100EE020000F0B518264643194D0400AE19B38AB0689BB2002801D1107027E01548A6003658C220800037581F200740081CB94200D9381C81B2117059188AB21821614369188F890020974210D3D02080008446934206D2604637588868C75401339BB2F6E7182044432D19AB821738F0BDF40B002030DF0100F0B50C2587B01F1D039104920293019000F0EFFA2D4A019B16005D4360367619F488BFB2B388F1880590F81DA4B2591A884219DBF18800275B1A032B3CDD812355192A6E13552A6E631C9BB2D7542A6EA31C9BB2D7542B6E0334A4B21F55F38804339BB2F38027E055196A462B6E127B1A55296E631CFAB29BB2CA54296EA31C6C +:00017401009BB2CA54296EE31C3A0A9BB2CA542B6E0434A4B218190422049906F067FB286E04340019029A0C9906F060FBF3880433FF18BFB2F7800127059800F09EFA0198FEF714FD380007B0F0BDC046F40B0020402337B501AC0D006070022221004B202370FBF7FFF9002801D1002014E04823022223702100383B4B206370FBF7F2F90028F2D0054B1A6801231A42EDD12A0044214B20FBF706F93EBDC0466400084048233A4AF0B5140043437834E3181C000633DE7F002305251F0085B000921222B5425F414243453476002478FDB202960192029A009E934229DA01275A083B4208D1019FBA180A32009F9200BA18926F120C07E0019FBA180A32009F9200BA1850 +:0001750100926F92B2022C11DC002A0BD00F000E00083703973788974205D0039F0236B742F8D117E001250133DBB2D2E70125002263005A5248235843783630180300453346301C7003780133DBB20370092B19D9012517E00E4E365C002EE4D000260D4F103703971427BC46039FB444BE5B964203D06646502EF5D1D5E7660001347252E4B2D0E7280005B0F0BDC046F40B00207C13002030DF010070B500F0EAF919490400080000220C2540302B005343C618B67AC22E04D001321F2AF6D100251BE0CB181149186CCB8E9DB2104BDB6B9AB21B04954202D21B0C5B1B04E080221B0C52029A18531B9BB20025984204D9C01A898E06F097FA0500200000F0BEF9A8B274 +:000176010070BDC046740C0020F40D00200000034010B5024800F0A4F910BDC04680BB000030B5134B8200D35812491A681025520052081A60182250430F4A104C101802220271002282825A50F82001210001494219501859A8431851F42000011950803019508021DA661A6809060A431A6030BD30DF0100880F0000F40B0020480F0000783110B5CCB22000FFF7CAFF18206043034900220818017903690320984710BDF40B00209F4B8200F0B5D458002387B004AAD3719C4B0500E25801231A4206D09A4962589A436250E8221201A350984B0127E35801930223019AFF331A4208D029007839C9B20020FAF7A6FE00231F000193019BDB0665D518236B438D4AD31815 +:0001770100039208229B780292FE2B16D0C226B600A35917321A40636E0292DB070DD51420FEF70CFDF4231B01E3585B0605D51F22A3591340013BDBB2029318266E43039B9E193179042910D004ABDA1D02992800FFF7DCFD071E0CD00521B28A317192B2336901209847070003E0336900220220984718236B43039A0020D318022298821A71812380219B00E25849020A43E250E158694A0A40E25001226849635893436350F82310211B01E250654AA3588B43A3502900F42330221B017839E250C9B2FAF73AFE019B5B065AD52E00FA22783EF6B25C4B520031000020FBF77BF9E82201211201A3580B4317316943A350514A5318197902293CD1616EC9061FD59B78C2 +:0001780100FE2B0AD0C12380209B00E15840020143E150E05848490140E15018236B430421D3180022197110001B699847002820D0F82201231201A350404AA35003E005221A71002F15D0F423302210211B01E2503B4AA3580B43A3503B4A13003833595D0123002901D1E36601E03C3253551F0006E002233100E3660020FAF7DDFD0027F423019A1B01E250002F09D12800FFF7C7FE29007839C9B20020FAF7CDFD3FE001222A4BE3580193134225D018236B43204A0421D31800221B6910009847061E1AD101211D4A3700A3588B43A350F82381221B01E15080219200A35849020B43A350A158144B0B402900A35002237839E366C9B2FAF7A0FDF823019A1B01E25009 +:0001790100134BE658F30706D504ABDA1D08212800FFF7FCFC0700FC231B01E650002FB5D007B0F0BD30DF01008C0E0000880E00004C0F0000F40B0020FFFFFEFF880F0000480F000081760100F40D00208C0F0000CC0F000010B50020FFF7A4FE10BD00000230800803D00138FDD1C046C046C0467047EFF3108072B6704780F31088704770B505000220002D38D1002936D01C4C1C4A2300CC331A602300C03319602800FAF7ECFC010066222031200006F09EF8FAF7ECFC06002800FAF7E0FC818918227118114806F092F801231800227D510893438843220021009D329F31087013702378022B00D06370002005F059FA002002F006F8012300208834237070BDC046AD +:00017A0100F4110020C41200206013002010B50222002813D10A4B19008831097800290DD0DC7C0A32002C09D11A0089321470012287331A70200005F03BFA2200100010BDF4110020104B10B51C0087342278002A17D01A009E321278002A01D0002011E0A03318780028F9D105F066FA0028F5D102F018FB0028F1D12378002B01D005F095FA012010BDC046F411002010B505F091FA012010BD000070B505000224002817D10D4B1A0087321478002C06D005F0FFFC280003F0D4FE2C000AE089331A78012A06D120001C7005F0E6FC200001F0C0FF200070BDC046F4110020C4235B005843014BC0187047F4110020002801D0014B98707047C046B6000020014B98781B +:00017B01007047C046B6000020014B98887047C046B6000020014B18887047C046340E00200223002802D1024BD971030018007047F411002070B5022300280DD14C1E062C0AD8064B8C00A04204D016581D182E620430F8E759720023180070BDF41100200223002802D1024B9972030018007047F411002070B5022300280DD14C1E062C0AD8064B8C00A04204D016581D18EE630430F8E7D9720023180070BDF41100200223002802D1024B1973030018007047F411002030B5022300280DD14C1E062C0AD8064B4900884205D00400155A58341D530230F7E70023180030BDF411002070B504AC2678002801D0022014E00B4C2000873005780B20002D0DD10229F4D8AD +:00017C0100217005D1012AF0D862702372E67302E061702572E573280070BDC046F411002030B5022200281FD14B005B0F0A32002B1AD00E4D2C007E342478A34214D841339B00EB189B880C0E9B0514409B0D002C05D09140890D8B4206DB020004E08905890D8B4200DB2200100030BDF4110020C4235B005843024B18186F3000787047F4110020C4235B005843014BC0187047F4110020F0B5734B734A1F88C4235B004343D3181900793109788DB00490012914D1B8331978602396270B40402B00D1FA27C42304985B004343D3187B331B787F00042B02D1C906C9170F40C42304995B0059430B002033D3180193049A5F4B8C465A430023069305935B4B08916344FE +:00017D0100039309330A920B930B9B05981B7856490122984200D37FE0039B05999B7A0B41134272D00A9A019B9B18089A9C58019B1D881B68AD051B039B0D0793019BAD0D9E78DB78B6069B090293039BB60F94331B78012B0AD9079B9B050993029B012B26D0002B0BD0022B2DD030E0029BA4009B07A4081C431B0EC02BECD145E0BD4202DDBD05AD0D11E0394A099B14401B0B384A1C43144033051C43002B17D06E206421684305F08AFDB84210D9029E0EE00799280005F082FD4008B84207D9079D7D43ED0502E0BD4201DDBD05AD0DA40A274AA402099B2C431B0B14401C43254B36051C403443029BA4009B07A4081C436223049A5343069A9B1842331A4A9B00FC +:00017E0100D3185C60069B01330693059B01330593019B0433019377E70824039B03989A7A0930FF30D209D300C279A2431A43C271039B94331A78039BFC33012A01D80E4A00E00E4A186902401A61C423049A5B0053436A460120CB18127E7E331A700DB0F0BDC046B6000020F411002078FEFFFFFF03F0FFFFFFCFFFFFFF3FFEFFFF3FFFF7B5C4220026520042432A4935005218130014000B330193019B1B789D422DD2237B01272B413B4226D0230094331B78BB4209D8622343435B190E339B00CB18DB799B09032B17D0AF00BC4662239444674643439B19FF6B4A339B00CF506B005833D35A9C46C423674643439B197C335B00CB189F8001360135CDE72500082781 +:00017F0100237B2935FF35DB09DA00EB789434BB431343EB702378012B03D86A88064B13406B80C4235B00584309187F310E700120FEBDC046F41100207FFEFFFFC4235B00434310B5034AD318FC33196DFFF768FE10BDC046F411002070B50D000400FFF708FD2A68002A10D000230121A3420CD00A4206D0012199402A681C008A432A6003E001335208DBB2F0E7FFF7F6FC200070BD0000C4235B005843084B1818030075331B78012B07D10300A2331B78172B02D9B030008800E001487047F41100208813000010B5FFF7E5FF044B984201D0142000E01B20404210BDC0468813000070B505000C00FFF7C4FCC4235B006B43044AD318A4331A6814431C60FFF7BDFC1F +:000180010070BDC046F4110020F7B51F000D0016000723002860D1314C230087331A780B23002A59D0220072321278012A54D1230085331B78002B04D12300A4331B68002B02D00F23052D47D12300A2331B78262B06D00F2B01D1002D02D00B23052D3BD1230094331B78012B12D82300012285331A70230084331D702300C4331F60002E24D0CC3420682C22310005F02FFD1DE0052DEAD02300673318780028E5D1230068331B78032B06D023009C331A780E23002A11D0D9E7FBF76DF9220001AB18806F3212789B5C032BEED1CEE7802100208900FFF785FF00231800FEBDF411002010B504000720002C08D105489C3004780F20002C02D12000FFF786FF10BDC04646 +:0001810100F411002070B505000C00FFF732FCC4235B006B43044AD318A4331A68A2431A60FFF72BFC70BDC046F411002070B505000C00FFF71EFCC4235B006B43044AD318A8331A6814431C60FFF717FC70BDC046F4110020030070B50720002B18D10D4B1800873004780B20002C11D01D0086352C780430002C0BD11800C8338A3001701A6020008021FFF7D1FF012320002B7070BDC046F411002070B505000C00FFF7E8FBC4235B006B43044AD318A8331A68A2431A60FFF7E1FB70BDC046F411002002207047C4235B005843034B18189D300378012058407047F4110020C4235B005843034B18189F300378012058407047F4110020C4235B005843074B1818030071 +:00018201006633FF3319705A704B425941C9B241746A3001707047C046F4110020F8B5C425012703266D00454337496A5C4D196B7832403B409C001443D1005A01230080240B43134364021C432B0072331B78002B57D02B0066331A78DB191B783A4092013B401B0214431C432B0075331B78274A3B409B0214401C432B007D331B78244A3B4014401B031C432B00C0331B68DB699847204B38401C402B0097331B784003023B5A4253411C4A3B4004439B0414401C432B0099331B78184A3B401440DB041C432B00A2331B78263B5A425341144A3B40DB0314401C432B0079331B781F40104BFF021C403C4323050AD596352B78023B5A42534101331E400B4B36051C401F +:000183010034432000F8BDC046F4110020FFFBFFFFFFEFFFFFFFDFFFFFFFFFFBFFFFFFF7FFFF7FFFFFFFF7FFFFFFFFCFFFF7B5C42464002500454317000F4A060055199D352B7801928B4207D1002B01D0002302E004F035FA01232B707443019B1C199F342378BB4207D10023002F03D1300004F04CFA01232370F7BDF4110020C4235B00584310B5034B182218186D30FF3005F0ADFB10BDF411002010B503F0DFFD10BD10B504000220002C03D1200001F051FB200010BD0223002803D1034BB4331960030018007047C046F411002010B504000220002C03D1200003F0A4FC200010BD0223002804D10122024BA1331A70030018007047F411002003000220002B03D16B +:00018401001800024AA13213707047C046F41100200223002803D1034B9C331970030018007047C046F4110020C4235B00434310B5034AD318C0331B6800221B68984710BDF4110020C4235B00434310B5034CE318C0331B681B68984710BDC046F4110020002310B51A000521FFF73AFE10BD704710B5FFF7B5FD10BD0139CBB210B50021082B02D8024A5B00995AFFF7A9FD10BD8CDF010010B58021FFF7A2FD10BD10B5FFF7F0FB020000238532C4301370036010BD0000F8B50500FFF7E4FB942382229B006B432A4E9200F3189B1800221A70037C040093423BD0030066331B78012B0ED0030094331B78012B31D9030067331B78012B2CD1030081331B78934227D067 +:000185010023007D331B78002B09D1942382229B006B439200F3189B1801221A7018E02700C0373B682800DB699847002810D1230079331B78012B05D12300B9331A7818231A4205D03B68703421785B692800984794239B005D434C3B7619F21800231380044AB2181370044AB6183370F8BDC046380E00200A0200000902000070B50500FFF780FB04002800FFF71AFE2300943318705870987094200123800068437C342370034B1818034BC0180023037070BD380E002047020000F8B594250700FFF761FB0024AD0006007D433800FCF748FE0E2200213800F9F727FF2D4B38005D192C4BEB181C7080239B00EB181C702A4BEB181C70294BEB181C70294BEB181C700E +:0001860100284BEB181C7082239B00EB181C70264BEB181C70254BEB181C7081239B00EB181C808D239B00EB181C60330081331C70013B1C700A3B1C70DC70013B1C7043331C601C71413B1C702B331C7002331C602A3B1C708233DC651C659C641C66FFF78DFF92239B00EB181C70330099331C70013B1C7093239B00ED189C36347038002C7004F09CF8380004F0BFF8F8BDC046380E0020020200000302000006020000070200000B020000090200000A02000070B50600FFF7E6FA0300050075331B7804009535012B04D1030094331B782B7003E03000FFF774FD2870963423782A789A4200D92B7070BDF7B5060001920D00FFF7C8FA030085331A78012A23D1C430AB +:0001870100026807000092032D01D000221A70009B002B18D0019B019A002B0CD09424A4007443094B24221C193534FF340199200005F0DCF9220029003000009B9847032D01D000233B60F7BD380E002010B50022FFF7CAFF10BD000010B50400942080006043064B8930FF301818202205F0BEF9802120000901FFF733FC10BD380E002010B50400942080006043064B8130FF301818082205F0AAF980212000C900FFF71FFC10BD380E002070B50400FFF780FF94239B0019008E20032561430A4A80005118081805700948091808780D21132800D10F318E20634380001B18D2182000FFF730FE70BDC046380E00204602000070B50D000400FFF745FA262D08D19423C8 +:00018801009B0063430A4AD3180A4A9B1800221A70A230057009212000F9F70EFE802120004900FFF76FFC04212000FFF7D9FB70BD380E00200B02000010B50400FFF722FA030000219C33197094239B006343084A8430D318074A9B1819700378062B02D02000FFF773FF18212000FFF7C1FF10BD380E00200B02000070B50D000400FFF701FA022D2AD1030066331B78144D012B0CD1020081321370942300229B0063431049EB1880305B1802701A702000FFF701FE94238E219B0063438900EA185218032111708E2292009A180B312000AA18FFF7B8FD26212000FFF78AFF70BDC046380E00200202000070B50400FFF7CAF90500042120006735FFF728FF2B78122172 +:0001890100002B00D107392000FFF772FF70BD10B5092902D10931FFF76BFF10BD70B50500FFF7B0F903000026040077331E700A212800FFF779FD31002800FFF707FF230067331B780221012B00D005212800FFF74FFF0423A434236070BD70B50500FFF791F903000026040075331E700E2231002800F9F759FD230084331B78052B03D031002800FFF7E2FE28000121FFF730FF0423A434236070BD73B50E000400FFF771F90500B01E082855D804F073FF05242029295454542D002000FFF761FA94239B0063431E00244A5936FF36961999583000242205F08AF82B00FC331E66C0352B681E4ADB6B31002000984733E0A4352B685B0604D50D212000FFF7F9FE2AE04D +:00018A01002000FFF719FF26E094218900614312488B2243181D008135FF352D6892009A1815608C2292009D18083A9B18DB7941185B065A0F942363439B1857339B001B5802222B608B239B00C918009101230021200003F0F9FD73BD380E00208187010010B5024BFAF736F810BDC04679840100F0B585B00D000400FFF704F902000700FC32A81E916C062800D98CE004F002FF046A77777F8B870094239B0063434348C31843481B181878012806D1002102221970200003F0BEFD75E038003B004530FF3006884833B605B00D84463220FF331B78926C5B065B0F41339B00FB185D681203920D03922A03920D02924243DB8801929B049B0D2F4A1E052A403500019E0D +:00018B010015430096120E01D0584300902A4B664619400B0100D5039E1C2220000921FFF79FFF94239B005C43204B6A461C198A2392889B00E3181A806A46204B1288E3181A8089239B00E3181E801D4A029B15409B021D438D239B00E4183B00FC332560DD6520E003212000FFF7F0FD2000FFF796FC1C2209212000FFF772FF13E020000021FFF7E3FD2000FFF756FE0BE020000021FFF7DBFD2000FFF7DFFE03E016212000FFF725FE05B0F0BDC046380E002007020000FFFF0FC0FFFFFF8F26020000FF03F0FFF8B50F0016000400FFF75AF86E22050008212000B678FAF75BFA042F26D1F31E1B4F012B01D9102E0FD108212000F9F721FC942382229B0063439200A9 +:00018C0100FB18991800220A7013495B181A7094239B006343FF18114BFF1800233B70042E16D181352B7005212000FFF7FDFB0FE0032F04D108212000F9F7FEFB08E094239B005C43034B1C19044BE41800232370F8BDC046380E0020090200000A02000070B50400FFF70EF8942292006243284D2849AA1852180300107809380A2845D804F008FE06153B444444444444441B0066331978204A002901D1013100E0002119702000115503F01BF91E212BE0200003F085FD200003F0A8FD2000FEF7E2FF0300002275331A70673003782221012B19D194239B0063430E4AEB189B181B781F210A2B0FD020002021FFF781FD0B4A09212000FFF7B4FE08E07D331B781B21F1 +:00018D0100012B00D01A212000FFF772FD70BDC046380E0020460200007C13002071020000F7B50E000400FEF7ADFF9422920013006343754D7549EB1807005B18B01E1B78082800D9DEE004F0A5FD0543646464DDDDDD24003A00093BC032126818000A2B00D9CFE004F096FD06080DCECECECECECECE0F00536C00E0936C654920009847C0E0D36CF9E767373B78012B1CD1536DF3E76243AE1831008531FF315D4809783018009001700A2B41D0132B00D198E0092B34D0942292006243564BAD18ED182A78012A00D099E02000FFF7C6FD99E062435049AA1852181278032A15D00D210A2B04D00B3B591E8B410F22D11A942292006243474BAA182000D218FFF722FB52 +:00018E010026212000FFF7F4FC7CE02000FFF728FF78E0132BD8D02000FFF70EFD72E0012965D102000D312000FFF70CFBC2E72000FEF728FF009B07001B78032B47D1030067331B78002B42D1017C01293FD102007D321278002A23D194373B78012B46D881239B00F3181A8882239B00F318002A07D11970284BF3181A70284BF618327002E01B78002B02D00C2300990B70942381219B0063438900EB185B1801321EE00200C03212682000009281229200B6183380009BDB6901939847002800D079E7009B703739785B692000984772E7942381229B0063439200EB189B1800221A8068E7032903D00123009A137062E7942292006243074BAD18ED182A780021200018 +:00018F010003F098FBF7BDC046380E0020460200008187010022020000090200000A02000070B594240500A4006C4302F0D9FF0C4E2800A2590421FFF7D7FB8E22331992009B1803221A708E239B00E218B21828000F21FFF777FA28002621FFF749FC70BD380E002070B50D000400FEF78BFE02000300C032A81E126806282DD804F08AFC040F1616162C1A00703319782000536998470A2209212000FFF762FD1CE001227D331A702000FFF7BBFF15E02000FFF7D4FC11E0D36920009847011E05D006220021200003F036FB06E02000FFF7BEFB26212000FFF70CFC70BD0000F8B594260400FEF74FFEB6006643274B01279E19264B0500F3181A880300AE331A808A2348 +:00019001009B00F3181A880300B0331A8089239B00F3181A880300AC331A80373B1F702000FFF746FB200002F05BFF90232A009B00F618377067352D78FC32116D12481033002D00D1516D8F2263439200C3189A1811604A0104D5902292009B1803221A7094228F23920062439B008218D21816212000FFF7E7F92000FFF71CFA26212000FFF7B6FBF8BDC046380E002026020000F8B50500FEF7F6FD942392219B006B43254C8900E218521812780600002A20D10200673212781B59002A04D1DB7ADB07DB0FDBB201E09B7ADB093200993213702800FEF7D7FD942392229B006B439200E3189B1801221A70030099331B789830037094239B006B43104AE718BF183A78D9 +:0001910100002A17D1E35897361B7928009B093370FEF7B8FD3B78002B0CD101333B700300943097331B7802789A4200D90370280002F0D6FEF8BDC046380E002047020000F8B50D000400FEF79DFD0700A81E08286BD804F09FFB05185656566A6A6A5A002000FFF795FF94239B0063432F4A20009A583B009168FC339964C0373B682C4A1B6C984751E09425AD006543274A294B5519EB181B781600032B04D115212000FFF726FB41E03A008F23FC32926C9B00EB181A60902275373B789200AD18002B03D108332B700F2106E02000FEF7B6FE002805D1262128702000FFF709FB04E0042320002B70FFF7B8FB94228F23920062439B00B218D21816212000FFF722F942 +:000192010013E02000FFF718FB0FE094239B006343064A0849D3181A008532FF3212785B181A700021200003F005FAF8BD380E0020818701002202000070B50500FEF722FD030067331E780400012E08D18178280003F0B4FE31002800FBF7A4FF03E003000B22A2331A7023000022A4331A6001237734280023701521FFF7D6F870BD000070B50E000400FEF7FDFC0500B01E0B2842D804F0FFFA0641414127412B414141413E962209212000FFF7DAFB2B7C012B32D12B0079331B78002B2DD194239B006343164AD318164A9B181E78FEF716FC864221D21123A2352B7004212000FEF77FFE19E02000FFF7A7FA15E094239B0063430A4AD3180B4A9B181B78312B04D82F +:000193010012212000FFF774FA06E02000FFF794FF02E02000FFF721FB70BDC046380E00200202000001020000F8B50600FEF7AAFC942403000025A40074439B331D70164B07001C1993239B00E3181D70300003F036FA300003F059FA3B006E331D700F4B0122E3181D700E4B3000E3181D703B0081331A70013B1D7081239B00E418FC372580BD6402F0C8FD300002F0A9FD3000FBF73CFFF8BDC046380E0020010200000202000070B504000E00FEF76BFC0500022E0FD101237A352B7000212000FBF7F1FE200003F0B8F9372209212000FFF747FB0AE0082E08D1200003F0B1F900237A352B702000FFF799FA70BD10B5022901D103F0A9F910BDF8B594240600FEF701 +:000194010041FC0025A4007443002107003000FBF7C9FE204B30001C191F4BE3181D701F4BE3181D701E4BE3181D7082239B00E3181D701C4BE3181D701B4BE3181D7081239B00E3181D80194BE3181D708D239B00E3181D603B00FC339D64DD65873B1D701D7103F07FF93B00A4331D6092239B00E3189C373D7030001D70FFF77FF893239B00E4182570300003F099F9300003F0BCF9F8BD380E0020030200000602000007020000090200000A0200000B02000070B50500FEF7E6FB04002800FFF79CFF23007033197850331B6828009B6998472300210067331B787D316634034A012B00D000230B705355237070BD7C13002070B5050004291DD11F2311790B40042B28 +:00019501000DD15489E405A40F09D0FEF7BBFB8378013C9C4203DC280003F03AF902E0280003F04DF994239B005D43084B5D1993239B0007E0032908D094239B005D43034B5D19034BED1800232B7070BD380E00204B02000070B50400FEF794FB0200002305009A321370243A13700B212000FEF75BFF2B0067331B78012B09D120000E21FFF736F90E4A02212000FFF769FA15E02B00C0331E680A492000F36A683598472B78084A5B00995A2000336B98472000736B98470A212000FFF71AF970BDC0468813000080DF010010B5040002291AD1FEF758FB1422C030036852421B6A0B4920009847002803D02000FFF7B3FF0CE009212000F8F7FEFE002806D00421200093 +:0001960100FEF7EEFC01E00829EED010BD8813000010B5022905D1C82207319200FFF720FA04E0082902D10439FFF7E2F810BD10B50400881E042815D804F02CF9030D111111000021200002F055FC03220021200002F0F0FF06E02000FFF746F902E02000FFF77BF910BD0000F7B504000F00FEF709FB057C79300378184ADBB2019394239B006343D318164A9B181E78022F12D12000FFF749FE3722002E05D1002D08D0019B002B05D1322209212000FFF7D8F912E012210DE0082F0ED11121002E08D0002201311A70954203D0019B934200D102392000FFF78CF8F7BDC046380E00200302000010B50400022905D1FFF71CFE0B212000FFF77CF810BD000070B50400F7 +:00019701000E00FEF7BFFA0500022E21D1020001232E009A3213702C3A13702000C036FFF7C7FE336800211B6920006A3598472978C9B2002903D1336820009B6B984706212000FFF755F8034A09212000FFF788F970BDC046EE020000F8B59424A4004443164D02272C198325AD00661900253570134EA6193770134EA6193170124961180D80124961180D708521890061180B6084239B00E3181A8086239B00E3181D7087239B00E3181D6088239B00E41801235B4223802721FFF71BF8F8BD380E00200D0200000E020000120200000F020000F7B50400FEF756FA94239B006343244A01909E581500B7780E2F2ED801210800B84007001F48074238D1182007421ED118 +:0001980100780622D5D3181C4A04259B181970F388DB05DB0D022B05D13389002B02D1F8F7B5FD857CF8F7B2FD0600F8F7AFFD038A2A00F31807212000FFF78EFF16E0D2180D4BD21811700B0000E0022301981B229C30037009212000FFF702F994239B0063431E21EA582000FEF7ECFDF7BDC046380E0020A67A00000B02000070B59424A4004443164D2C198325AD00661900253570144EA6193570134EA61931701B26124961180E80124961180D708521890061180D608421890061180D808621890061180A7087229200A218136088239B00E41801235B4223802721FEF789FF70BD380E00200D0200000E020000120200000F020000F8B59424A4004443164D01270C +:00019901002C198325AD00661900253570134EA6193770134EA6193170124961180D80124961180A7085229200A218136084239B00E3181D8086239B00E3181D7087239B00E3181D6088239B00E41801235B4223802721FEF74DFFF8BD380E00200D0200000E020000120200000F02000094239B004343174A10B5D318832292009C1800222270144C1C192270134C1C192170134959180A80124959180A708521890059180A608421890059180A808621890059180A708721890059180A60882292009B18012252421A802721FEF712FF10BDC046380E00200D0200000E020000120200000F02000010B50400FEF74CF9943003780421012B00D90C312000FFF7B7FF10BDDC +:00019A010094239B004343044910B5CA1804325A50024902F045FA10BD380E00207184010070B50500FEF72EF904002800FEF7C4FD230067331A780A23012A00D104332200A23213700423A4342800236002F03CFA70BD10B50400FEF7AFFD00212000FEF775FE10BD70B50400FEF70CF9050000212000FEF76BFE2B0000226E331A70AD7C2000012D06D1FFF7E4FF29002000FEF74DFB01E0FFF7D0FB70BD000070B50D000400FEF7EFF8062D20D0082D1ED0022D1FD168300378032B0DD194239B0063430C4A1D21D3180C4A20009B1813221A70FEF78EFE0DE009212000F8F78BFC002807D004212000FEF77BFA02E02000FFF7B9FF70BD380E002046020000F7B50E0013 +:00019B01000400FEF7BFF80500B01E062860D803F0C1FE043C4D4D4D514D002B000126C0331F68593B1E70083301931978200003F0C6FA2B0070331978200003F0F8FB019B20001B78EB181A0090338E3216701E702B000B2283331A700F3B1E7002F0C0F96420FCF7EBFA00236E352B7020007B68184998472000FB681749984714220921FF322000FEF76CFF22E02000FEF70CFE94239B006343114A0E21D318104A20009B1801221A70FEF723FE11E02000FFF759FF0DE009212000F8F73EFC802120004900FEF79FFA06220021200002F032FDF7BDC0468813000095840100380E002003020000F8B50E000400FEF74BF80500B01E062867D803F04DFE042D32323236E1 +:00019C0100320094239B0063432F49C035CB182F492A685B181B78132B12D1136A2C490A22200098478021002806D009212000F8F7E1FB002813D004212000FEF7D1F942E01369200023499847234A09212000FEF707FF38E021212000FEF7CAFD33E02000FFF700FF2FE02B0001266E331E7009212000F8F7E1FB802120004900FEF742FA2B0000222F0067331A706F373978200003F020FA3B782000EB181A0090338E3216701E702B000C2283331A70022374352B7002F015F96420FCF740FA06220021200002F0B7FCF8BD380E00204602000088130000958401007102000010B5062908D0082909D002290AD11C220731FEF7B7FE05E0FFF7B6FE02E02021FEF778FDCF +:00019D010010BD000070B50E000400FDF7BBFF0500B01E062800D983E003F0BCFD0423535353576600C0352E689425AD0065433D4B20005D193C4BEB1819887368984789239B00ED1829882000B36898472000F36836499847C822092152002000FEF780FE5EE094239B0063432E482A00C3188D20FC32916C800011651B181B682000D365D164FFF72BF92B008B331B78002B03D10121200003F012F92000FEF71FFA00283ED02B78022B3BD12B0094331B78012B36D9A0352B78002B32D1200002F00EFD2EE02000FEF7C9FD2AE020000921F8F733FB802120004900FEF794F906220021200002F027FC1BE09423902018269B0063430C491A008000CB18181806708F209E +:00019E0100FC3580001B18A86C8A1818608F239B002000D2181621FEF715FB2000FFF722FE70BDC046380E0020260200009584010070B504000D00FDF725FF0300C0331B68022D1CD1C8211B6A0022890020009847002809D120000721FEF7CAFC144A09212000FEF7FDFD22E009212000F8F7C2FA00281CD004212000FEF7B2F817E0082D15D1020076321278012A0DD1827C012A0AD11B6A00220749200098470028D9D02000FFF7DFFD02E02000FFF753FB70BD14050000B80B000070B504000E00FDF7E1FE0500072E22D0082E24D0022E25D10300C0331E68483B1B78012B05D1030070331978200073699847002376352B70200073680A4998472000F368094998475B +:00019F010014220921FF322000FEF7AAFD06E02000FFF720FB02E02000FFF7A4FD70BDC046881300009584010070B50D000400FDF7A9FE072D11D0082D14D0022D2DD12000FFF7B6FA94239B006343144AD318144A9B1801221A701A3217E003212000FEF747FC1AE094239B0063430C4AD3180C4A9B181A78002A0DD00022C0301A70036808491B6920009847074A09212000FEF767FD02E02000FFF765FD70BD380E0020450200009584010071020000F7B504000F00FDF767FE030067331E783A331B780500DBB20193022F03D066D3052F47D963E0324F32493B0050331B5D002B09D194228023920062439B008A18D218137801331370942380229B0063439200CB18E1 +:0001A001009B181A78032A12D9032276351A702B782000012B04D1012E02D1FFF723FD01E0FFF70AF901212000FEF790FB35E03B0050331A5D002A02D000221A5507E02000FFF7DAF9002E02D101236E352B70200002F014FB002820D001215037395519E0122120007635FEF7DFF92B78002B06D1019B002B03D02000FFF7F4FC0DE003212000FEF763FB2000FEF709FA0221012E00D005212000FEF7ABFBF7BD38100020380E002070B50600FDF7ECFD0300A2331C780500002C01D1002026E00300A4331B68002B01D001201FE009213000F8F791F90028F7D1300001F04EFF0028F2D13000FDF7CFFDC023803002889B009A42E9D077352B78012BDED0262CDCD00F2CBA +:0001A10100DAD00B3C601E8441E0B270BD70B504AC2588072903D0067800248E422CD1012A0ED0002A02D0022A0FD013E041781400002921D100244279D209A2421CD109E000244278A242F5D116E000244279D209A24211D0002B06D002790024D206D20ED340DB0708D5054B01249D4204D043785C1B60424441E4B2200070BDFFFF0000942213B50B00002192005043034C00910A000059FFF7BAFF16BDC046380E002010B50400062911D0082923D0022924D10731F8F741F9802120004900FDF7A2FF142209212000FEF74BFC16E080210903FFF7D6FF00280DD094239B006343074A1C21D318064A20009B1813221A70FEF7FFFA02E02000FFF735FC10BD380E0020A5 +:0001A201004602000070B504000E00FDF73BFD0300C0331D68062E11D0082E2ED0022E2FD10123E1226E300370920020000921FEF717FCAB6B00212000984721E094239B006343104AD318104A9B181B78132B01D10E4E00E00E4E40212000FFF791FF00280BD02B6A0022310020009847002804D123212000FEF7BCFA02E02000FFF7F2FB70BDC046380E002046020000204E0000B80B000010B50400062909D0082924D0022925D1E12207315200FEF7D9FB1FE04021FFF765FF002817D02000FEF774FA94239B0063430B4AD3180B4A9B181B78132B05D12000FDF7D5FC01236A3003700A212000FEF784FA02E02000FFF7BAFB10BDC046380E002046020000F8B50F0093 +:0001A301000400FDF7BFFC94239B0063434A4A4B49D31806005B18B81E1D781700062800D988E003F0B7FA041721282C877900132D0AD167363378002B04D138212000FDF7E1FE01E001216EE02A000021200002F071F96FE020000321FEF7F8F91B2209212000FEF77DFB65E00021132D5BD12000FFF778FB5EE00121132D46D1F7E708212000FFF7FDFE00280BD094239B0063432000FA580421FEF7A7F92000FEF760FC48E0132DE3D026492000FFF7E9FE011E2BD00B2D16D194239B006343FB5804359B78102B12D133007033197850331B6820005B69984701237D363370200001F07FFD03E00A3D6B1E9D410D359426B60066432000BA590421FEF776F9BA59290079 +:0001A4010002322000FEF71EF810E02000FEF79EF92000FEF711FA0DE0132DA8D010212000FEF702F802212000FEF790F926212000FEF7DEF9F8BDC046380E0020460200001010010070B504000E00FDF71BFC0500062E09D0082E23D0022E24D1642209212000FEF7FDFA1EE040212000FFF788FE002815D02B007033197850331B6820009B69984700237D352B7094239B006343054A20009B5803229A70FEF741FD02E02000FEF75AFA70BD380E002010B50400881E062849D803F0EDF904122F3133483D0020004021FDF71DFE0021200001F011FD0D220021200002F0ACF835E0942391209B00634319491A008000CB181B180020187091238A189B00D21820001321C2 +:0001A50100FDF7A0FF20000321FEF720F91B2209212000FEF7A5FA18E0002110E001210EE008212000FFF72CFE00280BD02000FEF7DBF90AE010212000FDF776FF02212000FEF704F92000FEF708FA10BD380E0020F0B587B004000F00FDF794FB0300C0331E6894238C219B006343834A8900D51869180968019005918C2189005918511808680003800D039048888004810D04918B218900691809680291062F77D0082F00D1D2E0022F00D0E4E0932300279B00EB181F70200002F002F9FA22092152002000FEF74DFA6D4BED182B78012B01D12F70CFE0019BBC4675331B78012B03D1019BAE331B889C4694239B001A006243614963488A18121810783F2290430D3A43 +:0001A60100002803D103984243100003E00498039D50436A436343CB185A495B181B781B0702D5029B1D0301E0029B9D0594239B006343514F81B2FB18534FAD0DDF1939808A27BF00DF193A8089229200ADB29B181D80604506D92000F36A984729002000336B9847019B75331B78012B05D1019B029AFC335B6D93427CD0019B6A331978C9B2002976D1B36B2000984772E040212000FFF775FD002869D0019B029AFC335A653A48039A0599920201400A430499080537490A40104398652000FEF78EFC019B2000AE331988F36A9847019B2000AC331988336B98475423019AFF33D35C5B0703D4736B2000984703E0B36B0021200098472000FDF765FD00283AD0019B06 +:0001A701001B78022B36D1019B94331B78012B31D994239B005C43184B1F193B006433FF331B789B0626D5019B6A331B78DBB2002B20D1184ABA181370174ABA18137093239B00FF1801233B7014E08F2102988900691808609021D31889008F226D181421920029709A1802312000FDF76BFE2000FEF7F3F807B0F0BD380E002006020000330200002F02000026020000FF03F0FFFFFF0FC04B0200004D02000070B504000D00FDF76FFA0600062D09D0082D44D0022D49D11B2209212000FEF751F943E022492000FFF7DCFC002832D094239B0063431F4D5A599278032A04D117212000FEF706F830E08B218F22EB1889005918096892009A1811609021753632788900D5 +:0001A801005B18012A03D10B321A70262102E010220B211A702000FDF7EBFF94228F23920062439B00AD18EA1816212000FDF70AFE0AE02000FEF700F806E020001021FDF7F3FD2000FEF789F870BDC04618100000380E002073B50E000400FDF713FA0500B01E0B2800D988E003F014F80615364A648776878787877E2000FDF70BFA2B000D35FF357E331B78012200950021200001F0DAFE71E002212000F7F7CDFD802120008901FDF72EFC012376352B7094239B006343314A2000D31880229200991800220A702E495B18F9391A70FF391B32FEF7C6F8282129E02B0075331B78012B0ED194239B006343244A2621D318254A9B181B78012B2BD12000FDF79DFF3CE07A +:0001A9010076352B78002BF7D19425AD0065431B4B13215D191A4B2000ED182B7801332B70FDF766FF2B78062B27D127212000FDF77BFD22E094200122800060430F4D0092042300214059FFF7E1FB0028D4D014212000FDF74DFF10E020001021FDF764FD2000FDF7FAFF08E076352B78002B04D1802120008901FDF733FB73BD380E0020010200000B020000F7B50E000500FDF779F9052301220093802304001B0211003000FFF7B3FB002801D1002737E02300002281331A70F37B9A06520FD1B203390129F2D821005B07BC31DB0F0B7023007B331A70B2693D331A602200737A7C325B069B0F13702300012779331F70337928009B099376FDF75BFE04212800FDF779 +:0001AA010013FD2300B9331A7818231A4207D12300C03470331978236828009B6998473800FEBD000037B50400881E0A2854D802F031FF062B393931535353535339002000FDF720F9030095331A78244B1900012A03D97C3001784903194394229200130063431F48C5182A0001237D32FF3211602000009219000F2201F0E6FD194BED182B7801332B7027E0192201212000FDF7E7FF21E094239B006343114A20009958FFF772FF01212000F7F7C6FC802120004901FDF727FB09212000F7F79BFC002806D02000FDF7DEF81323A230037003E012212000FDF78CFE37BDC046018000FF380E002002020000F0B58BB005000E001700FDF7C7F80300813301931B78040083 +:0001AB0100022B11D1721E012A09D9002E09D1010082310A780132D2B20A70052A4BD9032349E0042E47D1FAE7032B44D1042EF6D13F223B7A9343402BF1D139002800FFF723FF002836D0230067331B78012B31D1270000237E373E78B200934207D019000D31FF31605803A958500433F5E72800FDF790F82300FC331B69039A53409B020ED12100113104AAFF310133B34208D201CA844601C9844508D10133DBB2F5E70023B34202D13A789A4203D012212800FDF71EFE0023002280342270019A13700BB0F0BD37B50400881E062828D802F061FE040E1414162714000121200001F089F90D220121200001F024FD18E01B2209212000FDF734FF12E012210DE0942024 +:0001AC0100002280006043074D0092012108234059FFF77CFA4142414111312000FDF7E8FD37BDC046380E0020F7B50C000500FDF729F8062C0BD0082C2ED0022C2FD1FCF763FF092102002800FDF70AFF27E09424030001220026A40076336C431A70104B7730104F0670009331000223E059FFF74DFAB0420CD02800FEF70AFA80233C199B00E41826700C212800FDF7B1FD06E02800FDF7D1FD02E02800FDF75EFEF7BDFFFF0000380E0020F0B585B00400FCF7E9FF002103902000FDF748FD09212000F7F7BAFB8021942749002000FDF71AFA26220021BF00039B6743A233BF4D1A70BF4AEB199B1819702000FFF749FA2E00011E00D1B8E02000FCF7C4FF0300B9599E +:0001AD01006733897805001A780378881E112800D95CE102F0C9FD480037014B014B01370112002E005B005B005B0037015B015B015B014B0164008100A00094210127890061437618A64976183770002A0CD1022B00D03BE12000FCF79DFF2B007E350D33FF332A7839001AE01221012A00D02DE128E094218900614376189949761801213170002A02D0022B00D01FE12000FDF777F82B0004217F3529332A78FF332000FEF7A8FD02E194239B006343F6188C4BF11801230B70002A00D007E11721894AB61833702000FDF713FDEFE094239B006343F618844BF61831701C21F2E7942292006243B6187E4AB61801223270002B00D1EBE08223AA7AFF3302217F2A02D966 +:0001AE0100EA5C0A4301E0EA5C8A43EA542B006D33FF33182201211AE094239B006343F6186F4B6821F6180123FF3133706A5C102013002A0083436B549B321278002A01D003436B542B00052202216533FF332000FEF782FCAAE094239B006343F618604BF61801233370B1E07E59604B0122009303003000FFF74AF9002800D190E02000FCF700FF03007F590600B878673301381B780E2800D999E002F0FCFC080C15747078989898989898989835000C21002B88D067E0012B00D088E07B781421012B00D083E07EE7320075321278012A6DD13200733212789A4268D132005132FF32002B00D0043A7023D2781340102B5DD10F22FB7A08219343802B00D162E7092111 +:0001AF0100502B53D15EE73A78002A4FD194250420AD006543314B36495B19591808703549023059180A8083218900591808702C4920005B1880211A700901FDF7E3F81135264BFF355D1924223900280002F0CEFD3300C0331B68284A1B6D290020009847142209212000FDF77BFD802120004900FDF7C8F82723A236337017E094363378012B23D92000FDF757FC0FE094363378012B1BD93A0026212000FDF753FA05E03378002B02D17379DB0913D1039BA2331B78262B22D109212000F7F71BFA00281CD104212000FDF70BF817E02000FEF709FDEBE72000FEF7FBFBE7E7380E00200B0200000602000046020000FFFF00000D020000120200005987010005B0F0BDAA +:0001B00100F0B585B00D000400FCF73CFE0300A81E0C2800D976E202F047FC0D007502750275023D00750220005C00750275027502750233001A0094321278012A00D861E21A0067321278012A00D05BE28B331B780432012B00D055E217E01A009C321178002903D00023042113706CE0A4331B689B0500D546E20221200001F09FFF41E224212000FDF7B4FB0E2209212000FDF7E7FC37E29C331D001B78012B06D109212000F7F7A7F9002800D0E3E0002120000A002970FDF718FB20000921F7F7BCF9C02120008900FDF71DF82000FFF7ECFD18E22000FCF7D6FD030067331B7807000193030084331B780600029303009C331B7809212000CC3703933D68F7F79CF9E8 +:0001B10100802120004900FCF7FDFF330094331B78012B23D9029B052B20D0019B012B1DD1039B002B1DD133008B331B78012B0ED00199200001F042FF12220B212000F7F7A9FF802189002000FCF74AFFDAE10B212000F7F74FF9002811D0F2E7039B002B0DD094239B006343DB4AD318DB4A9B186A46127B1A70330000229C3307E094239B006343D44AD318D44A9B1800221A70029B122B00D9B5E1180002F085FB13001F0053002B001F0067006B006F009D00D300DC00E800F30026013B00470021019501AF0120001221FDF712FB20000321FDF7BCFA2000FDF762F993E1942292006243BD4B07219A18BD4BD2180223137001220BE094239B006343B74A0821D318A6 +:0001B20100B74A9B1802221A701023013A2000FEF735FB77E194239B006343AF4A1121D318AF4A9B1802221A701300EFE794239B006343A94A1221D318A94A9B1802221A700423E3E7019B012B0BD194239B006343A14A1521D318A34A9B186A4612791A702EE101212000FDF771FA4BE12000FDF774FB47E12000FDF7DFFA43E194239B006343954A0320D31883229200991800220A70954959180870944959180A70944959180A80934959180A708521890059180A608421890059180A808621890059180A708721890059180A60882189005B18FA391A80FF39F3E02978200000F00AFE94239B0063437C4A2978D318832292009A1811707C4A0D20991800220A707B49BC +:0001B30100591808707A490E3059180880794959180A708521890059180A608421890059180A808621890059180A708722082192009A181160882292009B18012252421A801F31BDE094239B006343634AD3186A4A9B18092213E03378022B82D194239B0063435D4AD318644A9B180A2207E094239B006343584AD3185F4A9B180B221A701D219DE094239B006343534A2978D318832292009A1828792E7B1170524A0F27991801220A705149103559180F70504959180E804F49591808708521890059180D60842100208900591808808621890059180A708722802192009A18090267E02B002A791033052172E03B6858780338082829D8942338499B0002F04BFA091071 +:0001B4010025192505052121008021022289001DE06343334ACB189B1802221A7006E063432F4ACB189B1802221A70013A20210DE063432B4ACB189B18022280211A7005E080210222090101E0022200216B886E780193AB68204802939423844683209B0063438000634484469C4460462F782D7B07701D481F18022038701C481F181C483E701E18358000261A481D1805302E701D180298286084206D468000AD88181805808620800018180270872292009A181160882292009B180122272152421A802000FDF795F91DE0012206213B6810332000FEF70FFA15E0380E00204A0200000B020000070200000D0200000E020000120200000F020000460200001021200063 +:0001B50100FEF734FA05B0F0BDF0B589B004000591FCF7B8FB9422920013006343C84EC949F31859180D78C849039059180978842002918321890059180F7804A9CF73C34980005918097804918521890059181B180598096802381B880C2800D97EE102F0A3F90D002B005900650070007D01BC007D017D01FF007D017D014301032D00D96CE1280002F086F902080D14029A3900200001F04FF861E10091049B029A3900FFE00091029A3900200001F05AF855E1200001F09DF851E1032D03D114212000FCF732FF04ABDB7B013B012B0CD8002D0AD1029B0D2B07D104AA02339B181A0013212000FCF72EFF03212000FDF7AEF894239B006343F618954BF6183288002A54 +:0001B6010004D009212000FDF72BFA27E12000FCF746FF11E062438F4BB618F61833780021012B06D12000FDF707F917E10121002FF8D02000FDF78AF826212000FDF7D8F80CE162438821B558B6188622872389007118098892009B00B2181278F31800911B6839002800FEF751FD021E07D100903900794B2800FEF749FD011E21D0039B67331B78002B08D1039B84331B78042B01D0012B01D10C2100E0262194257F26AD0065432000FDF7A3F8654F0421EA592000FDF719F8EB595B79B34300D0A6E0CCE02000FDF742F8624BF6183378022BA8D02000FFF7E8FAC0E002212000FDF735F8012D03D1029B11210F2B00D010212000FCF799FE04ABDB7B013B012B9BD8C2 +:0001B70100002D99D1029B0D2B96D194239B006343F618832303229B00F3181D70494B2721F3181A70484BF3181D70494BF3181D80464BF3181D7085239B00F3181D6084239B00F3181D8086239B00F3181D7087239B00F3181D6088239B00F61835806CE709212000F6F768FE802120004900FCF7C9FC942292006243B3181900A631FF310978012900D157E700290ED1A533FF331B78002B00D14FE78932FF32B6180F220096200000F050FF58E0032904D10D312000FEF7DBF851E02000FCF763FA030094331B780500012B00D835E7030002229C331A70200019320921FDF741F928002623A230037039E009212000F6F724FE802120004900FCF785FC26228021039B1B +:0001B80100C901A2331A702000FCF7EAFB26E004212000FCF777FC2000FDF7DAFFE959CB791A00B24309D01A225B061B0F01335343CA88D205D20D934210D30421E3E7C046380E00200D0200000E0200000F020000120200000B0200001000010009B0F0BDF0B593B00400FCF70DFA0300A2331B780500002B00D14CE20600A4363368002B00D1DAE033689B0507D5030084331B78052B02D12000FDF760F831001120FCF75BFB0700012801D0062857D1FCF761F80390200000F062FF0021202300910A000600FEF723FC002815D02B0067331B78002B03D10398FCF750F81AE22B0066331A78012320215A401340F2705A0133798B43134333713378002B09D12B00663333 +:0001B901001A78F3789A4203D10398FCF736F837E094239B00634304930498C64B4322C0583100F6F737FD0398FCF727F8C14B049AC04ED2581378013B012B07D813792A009B09963213702000FCF7B2FE94239B0063430C21F2582000FCF774FD2B00A23303930E2F10D11B78252B09D994239B006343B04AD318B04A9B181B78002B03D02000FEF76FF8C4E12B00A4331B681B0401D40F2F08D1802120000902FCF7B2FB25212000FCF724FF2000FCF76BF9002F03D12000FCF7B2FF36E0012F2AD1A23003781A00153A062A03D82000FCF7C5FF2AE01F3B2000052B02D8FEF743F823E0FCF750F9942300269B006343914A9C30D318914A06709B181E7020003021FCF717 +:0001BA010081FB31002000FCF7A1FE19212000FCF7EFFE09E0092F07D1A2300378262B03D000212000FCF792FE039B844A1B7839009B00D3185B69200098472B0094331B78012B0ED92E00B4363368002B09D00B9307AA002311212000FCF742FB002800D1306094262000FCF70DF99323B6006643704A9B009619F31819781700002920D067300278002A1CD16D4AB21803921278002A16D16B497618317802290DD86A4B03212000FCF71CFB00280AD10123039A137033780133337003E01A70039B32701A702B7C012B00D023E12000FCF7DAF8942382229B0063439200FB189D182A78002A36D07D300278002A32D1574A99180A78002A2DD156481B181878022825D875 +:0001BB0100002803D108212000F6F796FC08212000F6F770FC00281CD194239B0063431A00A932FF321D00BA184A4B0B212000FCF7D7FA00280DD10121444A7B199A181170434A9B181A7852181A7002E02A701A700A702000FCF796F8060081363178002900D1D6E0030075331B78002B00D1D0E0942382229B0063439200FB189B181B78002B00D0C5E0020079321378012B00D1BFE0030094331B7805009C4603006633039363468035012B02D8039B1B7801E0039B1B88002B38D02B78012B00D1A8E002291DD003292DD0012900D0A1E094239B0063432049FB185B181B78002B04D182300370023333700AE01378002B1CD12B2203212000F7F74DFA0323337088E078 +:0001BC01009422012692006243BB18D533FF331E701A000821114B2000FCF762FA002878D12E7076E01378012B1AD1002333702B706FE0C046380E00200B0200008CDF01004B0200004D020000F19401000A02000009020000C58B010002020000E9AA01002000F6F7C7FB0490002852D194239B006343294AFB1803939B181B780593FBF73DFF059B83420AD36B461B7C052133706B461B7C20002B70FCF7C6FB39E00123039A2000D532FF321370039AD932FF3213701922039BE133FF331A70FBF7E2FF030095331978154A1300012903D97C3003785B031343942292006243BE1831003200E531FF31D5320B60FF320C4B0C212000FCF7F5F900280BD1074B3122F61868 +:0001BD01003378032101333370012320002B70F7F7C1F913B0F0BDC04602020000018000FFE9AA010094239B005843044B181880239B00C018002303707047C046380E0020F0B50B7889B00293AE235B0043430E004F490792CA18039010000025FC3085650298022800D991E05132FF321278012A00D18BE003244443E318CC18A379454FDBB2059363792A000693802300979B0129003000FEF7BAF90497A84200D0A571AE24039964006143394D72796B1812074533520FFF331A7003230298D7B25843411869188879002802D04979B9425DD0029930004B4303994C4301211B19EB185A7100229971049B110000932023FEF78DF9002805D02C194834FF342378012B66 +:0001BE010044D0029B013B012B1AD9AE24039D640065431F4F6A467D192B00127A4633FF331A70049B00220093802311009B013000FEF76CF9FC350223002816D1402314E0049B002200930721134B3000FEF75EF900281BD10F4B0122009307210F4B3000FEF754F90028D0D010E0AB65079B002B0CD1029A03335343039A54431C196B461B7D3F19BB716B461B7E7B7109B0F0BD8C100020FFFF0000F7FFFEFFFF7FFFFF10B504000220002C08D1002906D0044B200019600349FAF783FF200010BDC0468C1000205DC0010003000220002B04D1482218000149FF328B5470478C10002010B504000220002C03D12000FAF7FCFE200010BD02000220002A09D10323594345 +:0001BF010046230448FF334118C25410008A710A717047C0468C10002070B504000225002817D10100FFF7E6FF01212000FFF7E2FF29002000FFF7DEFF074B25001A00FC329465AC2252009C54083A9C544822FF329C54280070BDC0468C10002002000220002A05D1032310005943024B59188A717047C0468C1000200300002010B5834215D10B4A01301300FC33996D00290ED1AC235B00D35CD8B2002808D14823FF33D35C0130834202D00800F9F797F810BD8C100020AE235B004343F7B5174C1F00E3181A004832FF32019111780500012922D14933FF331E780023033113700522F6F722FA032E08D8032307217343DB19E3181A7901320A401A71AE235B006B4320 +:0001C001001F00E3184E33FF331E702800F9F79EF8E359019928009847F7BDC0468C10002010B50400FBF72EFEA4300268094B1A4205D020001021FFF7BDFF012009E0AE2040006043044B1818FC30806D431E9841C0B210BD43C000008C100020F8B504000A2900D910E1080001F014FC060D1B2028414666C4DDF5002000FAF72DFE834B0F22052154E020000521F6F7D5F92000FFF7C6FF002800D0F6E02000F9F7F4F8F2E02000FAF718FE202103E02000FAF713FE08212000FFF77DFFE5E0AE235B0063437349CA184932FF321578052D0BD107212000F6F78EF9002800D1D4E029002000F9F717F8CFE05B581021CAE007212000F6F7A1F9DCE72000FAF7EDFDAE23FD +:0001C101005B006343624A0421D31801225933FF331A7020000432F6F787F92000F8F7F0FF002201002000FFF70BFE03220621574B2000F6F7CFFCA7E006212000F6F77CF9AE235B006343524DEB185933FF331B78002B07D02000F8F7D3FF012201002000FFF7EEFDAE235B006343EB181A004832FF321278012A16D11A004932FF321278022A10D8FC339B6D002B04D010212000FFF710FF07E02000FFF742FF002802D12000F9F771F8AE277F006743EE1933005933FF331B78002B13D0FC36B36D002B0FD02000F8F79CFF3B00383301004322E818F6F7DFF8EB59B16D200098470023B365AE235B005C4300232D195935FF352B7049E02000F7F7A5FC2000F7F722F8DD +:0001C2010010212000FFF7D6FEAE235B00634320490020CA1815005932FC35FF32A8655B58107001212EE010212000FFF7C3FE06212000F6F701F9AE235B00634314490020CA1815005B5880215932FC35FF32A865C901107016E010212000FFF7ABFE06212000F6F7E9F8AE235B00634308490020CA1815005B5880215932FC35FF32A8650902107020009847F8BDC04695C201008C10002010B50400081F03282FD801F0F9FA022A1E15AE235B006343144AD3184833FF331B78012B21D12000FFF7B0FE00281CD12000F8F7DFFF18E0AE235B0063430B4A08219B58200098470FE0AE235B006343064AD318190000225931FF31FC330A709A6520212000FFF75BFE10BD8E +:0001C301008C100020F0B58FB00400FBF7BBFCAE235B001A006243964D6E46AA1811004931FF310978AC460A9111005031FF310978099111004B31FF3109884D3231820600FF32127894360792CA0B0B92CA05D20D069236780C960600953637780D930C9B012B23D902230893079B002B06D0CB0B04D11A2696425B415B0008930A9B002B16D006007D363678002E0DD1AE235B00634363441D0001234835FF352B7020212000FFF707FEE1E0012F01D8032308930D9B6F4D6343EB184733FF331D78012D02D100261E700896079B002B2CD01A2A07D8030098331B78002B02D1654B0B430493049B1B04D90F0B9100210991D90F1CD05B010CD4049B59041A23090F4D1C53 +:0001C401005D430693AA4209D24B43D21A93B204E0049B5B0A5B02049300230693069B05339B10DBB2099301E0079B06930A9BB901002B0AD10300663067331F7803783F025B011F430C9B9901394303220A9B48485A43AE235B006343D21882181279079D5202ED032A43C5180D954F35FF352D7810332A43099D2D032A43C5180A432E1D002117003000202201F039FB0D9A099B1169002207989B00DBB290420AD00B98904207D06A46128A6B462A71120A727002221B7ED318DBB29A4205D008780131B0540132D2B2F7E76B46002207989B8C274990420FD00B9890420CD15D32FF3262438A1816690122049B1B041F43069B03339B109BB2AE256D0065434D196F6343 +:0001C50100DBB2029601920A99089A00972000F8F74DFFFBF72EFA2B0001224833FF3306001A702000FFF77CFD00281CD12B004633FF331B78013B012B04D94E35FF352B78062B0DD10A9B013B012B09D80C9B012B06D8094B022204212000F6F7BBFA02E02000F8F791FE3000FBF707FA0FB0F0BD8C1000200080FFFF95C20100F0B585B002920AAA15880BAA17780191022200284BD14822264CFF32A05C0392393AFF3A012842D0002B26D00C9AE805C00D002A13D08222520090420FD82A04120E11007B226E049143360F0A00802913D1002E11D0663A5643B0420DD8FBF7CAF901230500039A1021A3540020FFF7E3FC2800FBF7C3F918E06946A42209795200A154AB +:0001C601006946097A0632A1545021483AFF3A3A40FF3162540C9A00202261A5225200A5520232A354FFF76EFE0022100005B0F0BD8C1000201FB500236C46029301932380FFF79CFF04B010BD30B51C0085B0019400236C46089D02952380FFF78FFF05B030BD1FB5069C0294002401946C4623800123FFF783FF04B010BD0000F8B504000220002C2ED1FBF774F9052106002000F5F7D2FE04212000F5F7CEFE07212000F5F7CAFE2000F8F751FD0F4D48272B00FF37FC33EC559C65AC235B003000EC54FBF75BF9A42305265B00EE540721074B14222000F6F7FEF901233100EB552000F8F718FDF8BDC0468C10002095C20100F7B505000220002D1BD148260D4CFF36C9 +:0001C70100A35D0D30012B14D0A42306275B00E754FBF72FF901230190A3552800FFF780FC002802D13900F8F7F5FC0198FBF725F90020FEBD8C10002010B5F8F701FF10BD10B5F8F71DFD10BD0223002805D101214F33034AFF33D154030018007047C0468C10002003000220002B04D1A8221800014952008B5470478C100020AE235B005843024B383018187047C0468C10002010B50223002810D1FBF774FA9D3004780823002C09D12000FBF76CFA01239E3003702000F6F7F2FF2300180010BD10B504000220002C08D12000F7F7BBF92000FBF758FA9E300470200010BD10B50223002810D1FBF74EFA9F3004780823002C09D12000F6F728FD2000FBF743FA012333 +:0001C80100A03003702300180010BD10B504000220002C08D12000F6F715FD2000FBF732FAA0300470200010BD0C235843024B18180023C3727047C046E81100207047F8B506000F00FBF71EFA020086321378012B0AD10025C830036804001570AB4203D03900300098472560F8BD70B50C1CFBF709FA0200673215782304E1B21B0E002D1BD1833000784A1ED2B2082809D10738022A1CD90222013BDBB29A426D41E8B215E0022A02D80120002B10D0013B0020022B0CD84842484108E00800012906D01800012B03D0A0B244426041C0B270BD10B51021FBF72AFC10BD000010B50400142909D10C31FBF721FC0C206043054B18180023437104E0152902D12B31FBF7A8 +:0001C9010015FC10BDE811002070B50500FBF7BAF903000126040072331E7002212800FBF783FDA37BB3420ED16F34217828004B1E9941C9B2F6F71EFD2800F8F771FB2800FDF76EF801E07734267070BD10B5024BF6F7C0F810BDC046DDC8010010B50400FBF790F902000C4B923213802B3A1278002A00D0094B020090308E3213800F21038012222000F5F74FFD0C235C43044B1C190023E37110BD0404000002020000E8110020F0B517003E0089B004AB05009980FBF767F90F3EF6B205AB9B5D464A0093030083331B78040002930C236B43D3189B1903930023039A28005372F8F77DFB002873D1A31901938E330493019E1B78009A9036934208D1337039002800FC +:0001CA0100F5F71AFD0123039A537260E03378009A934253D0220071321378012B04D1230074331B78032B06D9029B032B03D0053B8C26012B37D813780B26012B05D1230067331B78012B00D1093E230075331B78012B28D1230067331B78002B23D1230094331B78012B1ED9009B022B1AD13220F9F764FB2800F6F78DFC220007AB18806F3212789B5C022B0DD12800F8F726FB002808D1230004AA90888E3390341880208016E00226320039002800F6F7F2FA6B46019E1B789036337008E039002800F5F798FC002802D13378049A13708E34208809B0F0BDC046E811002070B504000D00FBF7CFF8030001226E3383301A70142105702000F5F79FFC20002021FBF76E +:0001CB01004BFB02212000FBF711FB70BD10B50400FBF7B8F8037A012B0AD1030067331B780821002B08D0C37B012B05D1043903E041784B42594107312000FFF7CFFF03212000FBF771FC10BDF7B504000191FBF799F8030005000198C0331E680138593B1F78052800D9DDE000F094FE0399DC7363422B0073331F7023212000FBF754FC2B007D33002F1FD11F70053B1F7066492000F36A683598472B78644A5B00995A2000336B98470C236343614A5E49D3185F7014222000336A9847002800D0B1E0736B2000984766E001221A702B00703319782000F8F7BCF9FAF79CFF002807D0FAF798FF152102002000FFF7AFFE99E0012F00D096E02B0078331B78012B04D178 +:0001CC0100703529782000736998472000464973689847F3682000474998472000FA221421FFF794FE0C235C43414B1C190123637078E00C2363433E4AD3185B78012B17D1AB7C0721012B00D101212000FFF746FF68E014212000F5F7EFFB20212000FBF79BFA0C236343324AD3185B78012B03D02000FFF74BFF55E014222B4952422000336A98470028DFD0336A14222649200098470028D8D12000FFF736FE42E000212000B369984701212000B36998472B000022B4331A604A3B1A7001221A71002372352B700C2520006543FCF7C2FE1A4A13212000F6F7DEF9154B14215D19002320006B70F5F7A8FB30212000FBF754FA002F08D114221421FF322000FFF726FE0A +:0001CD0100B36B0C490CE0B36B002120009847142101222000FFF71AFE01230849EB72336920009847F7BDC0468813000080DF0100E8110020D1C80100D502000029C8010070B50600FAF79EFF030067331A7804002733002A22D119784B425941030083331A78C9B2022A0BD1193B1B78DBB2002B06D1C07B012803D1207A0325012834D063181A008C32107822006832107012788E331A700C250222002326E080221B88520093423BD005D8002B3DD00021012B0FD00CE00222FF32934205D00132934205D10023012104E003220A252EE000231900220083321278022A22D1227A012A1FD1E07B052502281CD120006F30017001204140200070300170210074310A7022 +:0001CE010022007832137029003000FFF767FEFD23033D1D420DD000236E34237009E00123D6E701220B25E0E70422092500231900DBE770BD10B5032902D1FFF781FF04E0012902D12031FBF7EFFA10BD70B50400FAF718FF0600833633780500022B03D13378022B11D106E014212000F5F7C2FA0028F5D013E02B7A67352978012B00D001394B1E9941073106E00421032B03D04918052B00D102392000FFF71FFE70BD10B50400FAF742F82000F8F7F1F810BDF7B50500FAF7E6FE03000400C03328001E68F8F71FFB6378013B5A1E934107330193230001226E331A70053B1978002917D11A70677C97420FD1237893420CD0153A10492800336A9847002805D02300B6 +:0001CF01006A331F700823019303E0B36B0021280098472800FCF79DFD6A462300127983331A700223A834280023601B21FBF77CFAF7BDC0468813000070B50400FAF7A2FE0300A8331B680500002B01D001202AE003001321833320001E78F5F74BFA0028F4D1731E052BF1D9093E032E1BD80F212000F5F73FFA0028E8D110212000F5F739FA0028E2D114212000F5F733FA0028DCD10C235C436F35034B2A781C19A418637A0130584070BDE811002010B5FAF74BF810BD10B5F9F76FFF10BD70B504000D00FAF75FFE030067331E78012E16D124331D701A3B1978C9B2002906D12A002000F7F7C7FF2A00310002E02A006F3001782000F7F7BEFF3220F9F79FF870BDEC +:0001D0010070B505000E00FAF73DFE0400012E1FD1030072331E705E7102331B78042B0DD103008B331B78002B03D000212800FFF7C5FF703421782800F7F78AFF28000221FBF7F2F9142213212800F6F723F81AE0022E18D10300002272331A7003215A712800FBF7E1F9237A002B05D0230074331B780821032B03D061784B42594107312800FFF72BFD70BDF8B5050017000C00FAF7F8FD030006008B331F703A0028002100F7F767FF210028003419F7F70EFF220002238E32903413702370F8BD70B50D000400FAF7DEFD290082782000FFF7DBFF70BD70B505000C00FAF7D3FD060021002800F7F734FF210028003419F7F709FF220004238E3290341370237070BD6D +:0001D10100F8B505000F00FAF7BDFD0C226A43234B06009A18D27A1C00002A05D10300C0331B6828009B6A98470C236B433200E31800249A329C709C711470194B032F01D1B77802E0072F0DD1270001243A00280000215C55FFF798FF3A0021002800FFF793FF08E0210028005C55FFF7B3FF01212800FFF7AFFFC820F8F7E0FF330067331C70013B1C702800FFF7E8FB320000236E3272361370D3703370F8BDE81100207C130020F8B505000E00FAF76BFD040031002800FFF7A4FF237A0027012B34D10B336B431A4E9B5DBB4216D12800FAF759FD03004B2217496B330F681A70164B7B43164FDB190B6001001B031B0F1F336C310B706D30D31A03700C2319000120B6 +:0001D201006943725C42407254220067321278824201D16C3400E06D346B432778F6183771BAB214212800FFF791FB3800F8BDC046E8110020BC0000200D6619005FF36E3C10B5012903D10631FFF7ACFF04E0052902D10331FFF742FC10BD10B5012903D10731FFF79FFF04E0052902D10231FFF735FC10BD70B504000E00FAF703FD0500012E0CD108212000FFF73AFF0C2363430F4A6E35D3182E706E221E720DE0052E10D10C2363430A4AD3181A7A002A0ED000226E351A722A70123214212000FFF745FB04E0032E02D12000FFF739FD70BDE811002010B5012903D10731FFF710FF03E0032901D1FFF72BFD10BD70B50D000400FAF7C7FC012D0FD1C0300368002110 +:0001D301009B6B2000984720000321FFF7F9FE6E2214212000FFF71AFB04E0032D02D12000FFF70EFD70BD10B5FFF7E0FF10BD70B504000D000220002C07D12000F7F708FE20002900F7F7C2FD200070BD70B50400FAF798FC03000500C03320001E68FCF778FB00212000FFF7E2FF01212000FFF7DEFF2000F7F7E0FD3369200000219847B36B200000219847B369200000219847B36920000121984718220F212000F5F743F82A00002383321370253213600E3A1370283A1370013A13706E3501332B7070BD0000F8B504000E00FAF75BFC0500012E24D10300C0331F680C2363432B4AD318DB78002B06D102007232137031002000FBF719F82B0001266E331E70073BF2 +:0001D401001B78002B04D120008335FFF79FFF2E701F493B69200098471E4A142127E0331F012B28D82000FFF791FF0C236343174AD318DA78012A15D10022DA702B00A1331B78934202D12000F7F704FE01212000FFF7F5F91A212000FAF7E6FF002387352B7011E001233222152183352B702000FFF76CFA08E0062E06D120000121FFF7DEF92000FFF714FDF8BDC046E8110020D1C801007102000010B50400F7F7DAFD2000FFF753FF00212000FFF7C8F910BDF0B58DB00700FAF7E5FB05903800FAF7E1FB03006E331B780600DBB2019303007A331B78012B00D186E10300C0331B680293030083331B78069303006F331B7838000893F5F74EFF33008C331880069BC1 +:0001D50100051C073BDBB20793012B09D9011C0F223800FFF747FA1022291C3800FFF742FA291C3800FFF7A1F9EBB203932B041B0E0993330004908E331B880BAC23803300713303931B78002B00D0EBE0019B002B00D049E1079B012B24D8002800D143E1069B072B12D1C821029B89001B6A019A380098472921002800D020E101993800FFF79DFD01213800FFF799FD38000221FFF7A4FA330000226E331A703800FFF7DDF921E1330067331B78002B5BD12378380006936378ACB20793FAF763FB92300390002C0CD0058011213800F4F734FF0C237B43AC4AD3186A461279DA7118E00C2213007B43A849CB18D979002906D10131D97138001031F5F74CFD09E011216B +:0001D601003800F4F7F7FE002803D16A46039B92881A801422039B52421C88029B9B491B6A38009847002817D0049B002B14D0069B002B03D1099B013B022B06D9079B002B0AD1EBB2013B022B06D8330001228E331D801D3B1A7032E0002C00D0C4E03800FFF77CF959E021883800FFF7FEF8050001284FD13300903322881B889A4200D0B2E0C821029B019A1B6A8900380004939847002815D1029B38009B6A984712213800F4F7C9FE039B1D703300A1331B78002B04D033000B2283331A7094E00821DCE00C247C43704E3419A379002B0AD1029B38005B6AA5719847322212213800F5F7D8FC80E012213800F4F783FE00287AD1029B38009B6A9847A378002B73D1BF +:0001D7010000213800FAF790FE0C237B43F6180123B37069E0049B002B66D13800FFF796FB22214CE0089BE55C330067331B78002B49D133009A331A78002A05D0002D34D11D70039B1D7098E0019B002B2DD133009E331B78002B28D1029B38001C6AFAF719FC01903800FAF72DFC019902003800A047002819D10524029B38001B6A0193FAF708FC03903800FAF71CFC03990200019B38009847002807D1013CE4B2002CEAD1330071331C7067E0330068331A78954219D01D703800F7F732FC09213800FAF732FE10E0019B002B0DD1022D0BD16A46039B1279042138001A70FAF7A6FC15213800F4F728FE05990820A831FAF7B3FB0100072845D82ED13800FAF742FA0E +:0001D801000500FAF7B6F82B008A331B780400042B1ED8180000F03EF80303031218001C4AD15CA97083352B78072B02D03800FFF7C5FB01213800FFF702F809E00C237B43114AD3180122DA7001213800FAF76EFC2000FAF792F815E0002804D101313800FFF73CF90EE0059B094A83331B7838009B00D3185B68984704E004213800FAF755FCB1E70DB0F0BDE81100208813000040E0010002B4714649084900095C49008E4402BC7047C04603B47146490840004900095A49008E4403BC704703460B437FD4002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B1A +:0001D901008B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A524143088B4201D34B00C01A5241411A00D201465241104670475DE0CA0F00D04942031000D34042534000229C4603098B422DD3030A8B4212D3FC22890112BA030A8B420CD3890192118B4208D3890192118B4204D389013AD085 +:0001DA0100921100E08909C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A5241D9D243088B4201D34B00C01A5241411A00D20146634652415B10104601D34042002B00D54942704763465B1000D3404201B5002000F005F802BD0029F8D016E770477047C046014B18687047C046200100200E4B70B500251E000D4CE41AA410A54204D0AB00F35898470135F8E700F0DEFA084B00251E00084CE41AA410A54204D0AB00F35898470135F8E770BD88E0010088E0010088E0010090E00100002310B59A4203D0CC5CC4540133F9E710BD030032 +:0001DB01008218934202D019700133FAE77047000003B47146490840004900095E49008E4403BC7047002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B8B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A52418308C9 +:0001DC01008B4201D38B00C01A524143088B4201D34B00C01A5241411A00D20146524110467047FFE701B50020FFF732FF02BDC0460029F7D076E770470000000000010203D9FA0000391401009D0C0100F9110100B914010079F8000071F80000EDF70000E9F90000E9F20000A10C010021F9000001F3000011F800005DF90000A9F3000041F800009110010019100100D50F0100B50C0100810C010000000000CD4701005D4A0100294A010055440100054C0100354601006545010055440100E9160100B93C0100E9420100913D01008D3C0100413C0100993B0100993B0100E916010001220100E9160100312101004D2001009D1701009D170100F91C0100451E010085 +:0001DD0100111C0100A11A0100993B0100AD1801000001020000000000000000000000000005000600000102000000000000000000000000FFFFFFFFFF090AFFFF0B040302050607FFFF0808FFFF0E0F12FFFFFFFFFFFFFF00C0FE0100000000000000000003040C105A000000960000002C010000550900000100000000000000DE280000858000000100000001FF0000050400000204000001FF000005080000020800005509000003000000030000000104050002010506040000003C640000820717002B0000000000024000010240000202400003024000040240ACB4B500000800000008000008000000100000000010000000100000000400000004000000400000B1 +:0001DE01000020000040000000000000000000000040000000400000004000000000080000000800000008000000080000000800000008000020000000040000000200000002000000000000000000000040000000000001000000000000000000000000000000000000000000000000000400000004000000A0A18485A6A7B0B1ABAA8F00008787879E9F9A9B9C9D868382B9000087B6000000000000BABB000101010202000000020100001100200000010000010004040000003004000404000000040400000440000104400002044000030440000404400001000000000A404541000001BC000004000000000320015509DE2801FF0000256601005D6501001D030100DC +:0001DF01000000000018E30800181B0300D8600300984F0300789A080093730E008C0F0E0000060000010600000407000000030507000005400000064000000740000008405509010000000000000000000000000000000000DE2802000000000000000000000000000000000001FF0000000000000000000000000000000000005509030000005A0096002C010000000000100020000000000000000000000000000100006F840100AD9F0100299F010011960100B99E0100FD960100319E0100C9950100ED930100A5930100E596010029AC0100998901009DA70100699601000F890100C5AB010025AA010055A801008192010041910100718A0100059D010051A50100FD +:0001E00100ADA401002F960100658F010045A40100218D0100FDA2010079880100DD9C0100E59B010095A2010005A20100FD9A01009D9A0100A1A1010001B0010009B50100000102003DC80100C5D3010035CE0100EDD20100D5D2010075D2010027D3010041D201005BD2010001D0010001D0010049CB010049CB010043000000F8B5C046F8BC08BC9E46704749D5000061610100F8B5C046F8BC08BC9E46704721D50000B0E00100900000209800000058120000000000001300080000000020EE02010003000000000002000001FF050AFF0000000000200B012C011400900107893414000000000000000000000000000000000000000000000000000000000000000018 +:0001E1010078E00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C00000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E4 +:0001FE01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008201D50000CF0000000012010000000000000000FFFF5943020000000000000000000000000000000000000000000000000000000000000000000000000000002A +FWCTHٹ5FƪjQ2vn +1E,WVas(wFgO t :Eb=d~^SCOT-x2*!50Wz]/*p[`֍*83X\`g`E1Գ?Q*KOY>(<; jQ}JBp#^'|8w»=M5Z8EWnZ6!}[ +?&K rKn,M܇^<Q +DB&LyQ\{ k;8Wm^ވZqZ9OU SRXafOU6L{N |{*sM qҳ_WϠ++H1ta᭥pKɁ?*R/\,7?0_IW? ږEG/my +%>nV A\'y9\Ī zӞu48ke@Rs=*# w&݈UUr@ +Ja;4 Uy.j#&k,sJu \ No newline at end of file diff --git a/nvidia/tu10x/typec/ccg_secondary.cyacd b/nvidia/tu10x/typec/ccg_secondary.cyacd new file mode 100644 index 0000000..82d11f1 --- /dev/null +++ b/nvidia/tu10x/typec/ccg_secondary.cyacd @@ -0,0 +1,189 @@ +1F0411AF0000 +:0000C701000020002001740100E1760100E17601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008060332766E0931AF11041F00000000000000000000000000000000000000008E +:0000C8010059430400002000046B3CB4040100010000020B000000000000000000000000000C0214000000000000000000200218000000000000000000E8030000000000000101020000000115000203020307010000000100000000000000000000000000969001042C91010400000000000000000000000000000000000000005A9001265A30429A00000000000000000000000000000000000000005A005A00000000000000000000000000030038023C020000000000000000000000000000000000003C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C2 +:0000C901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036 +:0000CA0100B404D4F6437970726573730014000000418000FFB4040092000000000000D4F6B404D4F6000000000101000000020000000000000001003C0414000208140A02320100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA +:0000CB01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034 +:0000CC010000200020011D0000B1370000B1370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002A000231766E0100AF11041F0000000000000000000000000000000000000000E0 +:0000CD01005943040000200004A53CB4040100010000020B000000000000000000000000000C0214000000000000000000200218000000000000000000E80300000000000001010200000001150001810203070100000001000000000000000000000000002C9101080000000000000000000000000000000000000000000000005A9001265A30429A00000000000000000000000000000000000000005A005A00000000000000000000000000030038023C020000000000000000000000000000000000003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002D +:0000CE01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031 +:0000CF0100B404D4F6437970726573730014000000418000FFB4040002000000000000D4F6B404D4F6000000000101000000020000000000000001003C0414000208140A0232010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035 +:0000D00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002F +:0000D1010010B5044B83F30888034A044B1A6002F029F9C046002000206588EDAC3800034010B5064C2378002B07D1054B002B02D0044800E000BF0123237010BD1801002000000000DCB80000084B10B5002B03D00749084800E000BF07480368002B00D110BD064B002BFBD09847F9E7000000001C010020DCB80000900000200000000010B504290DD10022064B1A548123064A5B04194383009950044A9B58002B00D0984710BDC403002034010020C803002070470000002804D1FD23024A11680B401360704700030440002806D1034902300A688243D3B203430B6070470003044048234343084AD31800223F331A70904209D1FD23054A11680B401360BF23044A20 +:0000D2010011680B4013607047600700200001044000020440D023064A5B00002902D1D158022001E00420D1588143D1507047C04600000A407422F0B542438F4987B08A18D36E040002931B79002B00D009E10298303240881278894DA84204D00133DBB29342F9D9FDE0FF2B00D1FAE07422130001206343C854F0236343814920335B180593002300920193029B019A5B79934200D8E6E0009B002663430393039A764B9D18019B029A02339B009B58AB60FF23EF7AAB70B74200D081E06F4B039A3E00D35C0493012B7AD15B3363436D4A39009E183000302209F02BFCAF70200002F089FE3300AA684B331F70049FD2B21740012F01D0052341E0039B5F4908335B183F +:0000D3010059789878059BA0331D783300EDB23D331D700133520601D5187000E019705C226243584B04279A1811003E31097818000D403D4202D04932177009E010231D4201D0493203E008231942D3D04A3213700822114204D05C236343C3184A330BE05C23202163430D4203D0C3184A33197003E0FF22C3184A331A7004235C226243404881180D0034352B703B4D052B06D10B22009B00266343EB181A740FE0009B6343EB18DB6800250B650B004C331D7001230B71DB181354200002F055FE009B2D4A6343D3189878FF2845D01A7C002A01D000221A74002E3ED0019B721D013373710023F071D377029A23495288264D0392009AAC4662438A183032127804927E +:0000D401001A000499DDB28D4226D267463F5D002F03D01E4FDA00D21901E0002A06D0178803998F4202D19778874201D00133E8E7FF2D11D0FF221340E23A6243D2180E49083292008E50009A62438A18012199400B0051690B435361019B0133DBB2019312E7742307205C43034B1C19703423780133237007B0F0BDB801002001FF000000190000680300207410002048B90000F7B57424072344432649274F0C19E370E36801910093230070331A780099131D5B00CB189D88002D2AD03B5C1F495E1EB3418C460026DBB29E422CD201266545FAD174235843019B19180020CB6E1860CC68703109780A1D1F215200A218928818715A801A7858718A431C390A431A70CA +:0000D501005A7804318A4387390A435A7006230FE062690523002A0BD002F096FE012368342370063304E02300013270331A70BAE71800FEBDB80100207410002001FF00004823F0B5434387B00592834A0500D318180000222D3002700C89804A224080242402A24200D0EBE0012201388C68027080203E324042224002431C611A740A7A9F301040062800D0C6E038331B78012B00D0C1E0D2064889D70E4A7A8B68520784466F48520F140203402343019018040CD5032F00DCAFE074206843694C2018694C3030665D741EA6410670742068430290029C634800193030007814020490002003940090684604780498844200D392E00098029C860036195A4C3419246A33 +:0000D60100002C68D06689664565D16679964204D1601CC07F002812D17EE0A61CF67F002EF6D1E61CF67F002E55D07F20019E3340039E33431E04360E86434CD1E8E71F200726834301983B4303406046324017023B4307041F209BB23B43A3604F781840013F2776062809D1A01CC07F002805D01B0403D5637AB3431A4362724A78012A0AD9237901339A4206D8384B0C31D2189200E06809F043FA012328002370E36998472378052B37D0482068432A4BC018637ADB0901D1A36803610200237E2C3201331370227E002A26D09200E168143009F025FA20E01F20834301983B4303400398234E034323481E40864210D1668966450DD1661CF67F002E09D01F22237AAA +:0000D7010028009343183A13432372E369984703E000980130009066E748236B430E4A0121D3181A002D32117019003A331A780323602013405A014B7C834313434B7401E00223037048236B430349103359182800059B984707B0F0BD60070020C080FFFFFFF8FFFFB801002074100020FFFFFF3F1F8700000587000010B504F003FBD02370300178044A5B00D058002901D1800700E04007C00F10BD00000A40F8B548244443174F05003C1921860E0004F0EAFA228E638E3C009A4205D2C8239B009E4201D07230037804F06DFA002D14D1238E0C4A934210D004D80B4A93420CD00B4A06E00B4A934207D00A4A934204D00A4A934201D0094B238604F058FAF8BDC04641 +:0000D8010060070020C832000028230000E02E0000384A0000204E0000983A00008813000070B50400150004F0B7FA48236343074A0321D318002800D00421197348216143083151182000A84770BDC0466007002010B50400012101F0A5FE00220121200001F03AFE03009A2040006043054A06491018FE30028B087850435843000A80B210BDC046340200209E000020D02310B50A4A04005B00002902D1D158022001E00420D1580143D1502000012104F07AFC0221200004F076FC10BDC04600000A40F8B507000C00052901D900206FE004F08BFA0500002FF8D1002C21D0344AC301127923439342F0D0032C33D0042C21D0022C57D121000601F6B23143802002F0B5 +:0000D90100F4FA0121842002F0F0FA032002F092FF012731008020394302F0E7FA390004E02100802002F0E1FA0121842002F0DDFA060035E002210601F6B23143802002F0D4FA0121842002F0D0FA032002F072FF06210EE002210601F6B23143802002F0C4FA0121842002F0C0FA200002F062FF07213143802002F0B8FA0121842002F0B4FA5B210600380003F08AFF002803D00221A02002F0A9FA5B21002003F0CEFF002E92D00120ED01014B2C431C71F8BD34010020F7B50E000400150004F0E2F90300701E222800D9ADE008F099FD4481448181ACACACAC4437ACACACACACAC39ACAC3989ACACAC4412ACACACACACACAC310000224C4B4D484D491A6008604D493C +:0000DA01004D4808604D490A6080211A6809060A431A60002C5CD12100802002F066FA0121842002F062FA002852D0454B1C714FE0002202212000FFF743FF74E0012700E0002776331B780125002B06D03500153D6B425D4101E000252F0048236343394A0020D31819003E31087038331B780192834202D0200002F075FA002F02D00022022103E0002D04D12A0029002000FFF717FF032E01D01A2E0BD148236343019AD3183C331B785BB2002B02DB200004F07DFB122E37D148236343019AD3183C331B785BB2002B2EDB200004F06FFB2AE048235C431B4B1C1900233E34237022E04823634317490020CB181A003A3210702A7902308243012A15D1134A125D002AA9 +:0000DB010003D03E331B78002B0DD1482254430B19190038310A78002A05D101200B4D3E33605508701A70F7BD00000840770800806000084000020840070100800402084034010020600700207410002070010020F7B50E0024221E21040001F0DDFB482363431F4D1F49EB185B8E20008B4205D8FFF736FB142002F057FE01E0FFF70EFE04F090F84823C822634392001F00EB1801905A86002E19D0200004F0F3F887300378002B12D02000FFF70EFB9622EE510D4D92002B002121200003F0E3FE2B0003222221200003F0DDFE05E02000FFF707FB2000FFF7EEFA019804F067F8F7BD60070020881300008D290000F8B50E00040004F0C7F8050004F054F8242207002E +:0000DC01001E21200001F088FB2B0087331B78002B45D0A1352B78002B41D12000FFF7CAFA48236343204DEB183F331A78002A14D101321A70002C10D10A2002F0F5FD40201A490A688243D3B203430B6018493E380A688243D3B203430B60002E1FD048236343EB181A00012142321170598E1B8E994204D9002320001370FFF7A5FA48236343EE500B4DFA222B001E21200003F079FE2B0001221F21200003F073FE380004F004F8F8BDC0466007002000020440000104408D290000F0B50E0085B001211400050001F06EFC6421300008F0B6FC9A235B006B436043284A3018D318FE331C8BC343DB171840254BA4B2197808F0A5FC80B22100000208F016FC040003281E +:0000DD010003D9FE2802D9FE2400E0042403F0CAFFC42580271B4E03906D007359BF003C4301930A20745102F07FFD01227359164CDB0B9A43019B02920A207351276202F073FD236B3B4212D0019B002B0FDBA3697259DB009B0F120407D5022B07D18022A36A92001343A36201E0012BF7D0039803F09CFF029805B0F0BDC046340200209E00002000000A40FC000A401E3970B504000800062900D981E008F0B1FB0411404B5680730020221F21200001F0B4FA482363433A4AD318C82292005A863DE048226243364B374D9A181100423109781E00002908D148236343F3181A0042321278002A10D016E0118E142220005242FFF762FF0028EED01E21200003F09EFD94 +:0000DE01002B005A22202139E0198E14222000FFF753FF0028F0D02B0001221F212EE0482565431F4E200073191A8E5A86FFF7C2F9AB5932E02221200003F080FD2000FFF7CFF92000FFF7B6F929E00A2216492000FFF732FF002802D12000FFF7C1F91422C821524289002000FFF726FF0D4B002802D10A22242101E003222221200003F081FD0CE02121200003F058FD2000FFF791F948236343024A9B582000984770BD600700208D29000088130000C82110B5002289000400FFF7FFFE002808D1C6220B49520088580B4B03408B50683209E0482308216343084AD3183C331A780A431A706422054B2E21200003F04BFD10BD00000A40FFFF0FFF60070020012B0000C4 +:0000DF0100C82170B5002289000400FFF7D5FE002827D1482308216343154AD3183C331D780D400BD01A788A431A70C622114952008858114B03408B50683213E07F22197820000A401A7004F031F92900200000F0C7FE2000012100F0C3FE200003F0D4FE05E06422054B2E21200003F00BFD70BD6007002000000A40FFFF0FFF012B000001225C4BF0B51A7091235B4C91B05B48237003F00BFE002804D0594803F0F6FD02F060FC0122574B0C255A6204329A62013ADA62544A554B116855480B40C021C9010B431360534BFF211B68524B1B6800232A005A430133821891721F2BF8D100234E4A4E4913704E4A4F4813704F4A53504F4950504F494F4A116062B61722D6 +:0000E00100FF214E4E490032804D4A142511804D4AEC39FF39118001224B494C4F0A704C4A4C49137005A804223D8008F078FD0422494906A808F073FD0422484907A808F06EFD0422464908A808F069FDA0235B011B783D4A009701960292432B09D1280002F0B0FB3F4B1B68984202D116236570A370B0235B011B78432B0BD1162002F0A1FB394B1B68984204D16378163363701423A3706378162B6CD9A0235B01996B324A0B0A117809061943B0235B019B6B1A0A2F4B1B781B061343994203D914236370023304E099420BD216236370023BA370A578280003F059FD681C03F056FD48E0069B089A9342E9D8059B079A9342E5D8EAE7AA0000204401002000190000EE +:0000E10100FF010000FC00014000010240FF0FFFFFA0090020E80F00F0EC0F00F03102002010D00000320200207FBB0000001000E014D000002D3700003C000020B0000020B2000020AC000020200B0020AE000020FC05002011140000151400001116000015160000FC140000FC1600003C1400003C1600006578002D05D02902201D4131042208F0CCFCC34FC34B3A683E00C34F9A422BD0380003F037FD0400601E84417B68E4001B02180C431CE4B298B2002C1CD1002D1AD0BB68397B1B0A0906194308AA03F017F8029B29021C70B44B1931202208A81C7008F093FC002806D13B6838791B0A0006184301F07EFE00233360009AC7331380FE23019AFF331380FF226F +:0000E20100A84B52001A80A84BEC3AFF3AA74C1A802368A74AA74D13408022134323602B687C3A9343DBB213432B60052002F0FCFA4022A14E336800925B0716D523689C4A05201340C022134323602B68BC3A9343DBB22B6002F0E8FA4222336800929B08413A134201D1082300932368904A934813406A4623601278914B00241A728022904B52001A80904BED3A1A808F4B904A1C70904B21001A609022520008F048FC8D4D21000C22280008F042FC844B202609332B609123894AAE809B00D55821008022874808F034FC1322854B80215D809A803A331E70824A824BE536D363130001222C331A7094466A46774B1278FF369A707D4B7D4A1C601A66C12249029200C7 +:0000E30100DC66995199507A49F4205C500121FE2549420001195077482D041C500838195075481C50083819500098196840002843C425AD0001915851C0210820113DFF3DFF3089005851585001996C480143604619606B4908700220C870087157488C82886090204000888166480861684600784870FE20887004219951995098586249084098509A5908A81140422299515849FF325A506146584A995080215B4A5C4B49041A605B4B5C4A1D60484B1B78D35C5A4A9B009A5893680B4393602100082208F0B6FB354803F01FFC534B3C4D0293431E9841424C2B78C00023703A4E607008AB082805D07B681B021B0C1B02E133FF334B48009384467968E02067460902EB +:0000E40100090C4B1C474A019352681202130C06C806C75A1C1002E0300AC80AC73800009B82CB82C06B469B88697863853E4B22851970AA783D4B09021A703D4B6A6811311A603C48082208F06AFB3B4B3B491A003B4873608B4201D801C3FBE79B1A9BB26B856B8D3749E386374B384D18680B600022A84206D1364F58689A68C01947424741D2191869A84264D00020D8602F48186162E0801B0020544C414AC0FE0100FC050020B2000020AC000020080104403FFEFFFF0001044004010440D803002044010020A800002094000020F804002092080020D0030020140B002000F0FF0F14080020220300000000054088280040480F0000880F0000C80F000000010080B4 +:0000E50100A807002009520000FFFFFEFF0D6400006400002000E100E0E8B800009CB9000024080020C0FF0100480700205C0700204C0700206A080020941B00207F1F002000555500A0000020801B0020EFBEADDEF4CFFC3FD8680130D8601D600B6800219A605960BD4B33813389A386FF2A00D9FF22230002993233043100201A7003F099FB802002F0DAFE6425B54B1B78002B01D002F057FA013D0120EDB202F04AF9002DF2D1AF4BB04AC221280003F0EAF908232C34B3722378DB0702D5280003F0A3FB0023009332330293002003F0B8FBA64D02262C003C34237833420DD0A44A0321002003F0A8FD0F2806D02378B343237080232278134323702B0038331B78C7 +:0000E60100002B00D105E22821002003F049F9002800D0FEE1974E33002C331B783400581E0193062800D9F4E107F074FF070015007700A001E4012E01D001002001F07AFC330000222C335A708B4B1A780223002A60D103335EE035002C356F78002003F091FB002F02D0012F16D052E03A00834B20356B802033FF339A431300012213432B7033003233DF7733003133DF7780235B426B7086333DE0774B1B78002B38D03300002271331A703300002272331A70336E7363736D336333005733197838230B40282B04D1330060331B78DB0618D4030079331B78002B05D00300B9331A7818231A420DD1D02370300078644A5B00002802D1D058022501E00425D058A84346 +:0000E70100D0504B0705D5230000222C335A70032300E005232C3423707BE137002C377D78002003F02FFB012D1AD0002D03D0022D00D189E08CE02A00504B20377B802033FF339A431300022213433B7033003133DD77802332345B42E5777B70863378E0454B1B78002B73D0736D013370D03300002071331A783300052106003233DB7F03953C4D994240415B000193FF27AB1C31009C46C0B27F42019B994225DA4B080A339B00039EE318DB6A314201D11B0C00E09BB2022A17DC002B11D0AE8F9E420FD0EE8F9E420CD06646F68F9E4208D02E1DF68F9E4204D02A4EB34201D180E101200131C9B2D7E701200024214B510059188C871C001D007134227019001C0024 +:0000E8010072352A7831310132D2B232342A70092A01D8002805D00022164B2C335A70042317E00500154A4C335A802032FF3295432A0002252A431A700022CA7780225242E0775A70062304E03134E37F012BE2D00523084A2C321370DBE0C046DC050000F904002079660000EE02000060070020AD2A0000440100207410002000FFFFFF00000A4001FF000033003133DA7F3300A8331A703300310037003233DB7FAC3101330B70F36CB8373B6033004D331B788F4EDB092BD03F234C3421780B402370002A03D12B003A331A7804E0002003F059FA7C3002780323602113405A017B788B4313437B70330032004C331B78B432DB06DB0E052B03D0062B03D0042B03D1AD +:0000E901002D2302E0002300E01923137002E01923B434237033003233DA7F002A0CD0370034000023920074372C34E018806AF918043388649A42F8D1330070331B784135093B5A1E934132002B70A832694B0C21002003F0B7FB431E9841019B4042034001936B461B792C36337052E0624B31001B7874311800421E90413200A432107032003000E0324C301060B28F002B12D00523002A17D03200331D3032DA6701234B7033000022DC331A70544B3B35C2331B782B7006E00523002A04D133000132DC331A7007232C34237010E03300DC331B782C3462789B009B18494A9B00D3181B6C0020984720700638012811D8002363700EE02B0000223E331A702B0038339C +:0000EA01001B78002B02D0002001F0ACFA01233E352B703C4B68331B783B4B1B78002B01D002F010F8394D3A4F2B893E689BB2019302F02EFC374C384B6643F618019B3618B34207D93E6802F023FC7443324BE418001900E0288980B228812B892F4CC221A386002318003B6002F068FF2C4B2A4AC221002002F086FF69682A4A0B002A48834204D81868904201D10433F7E7184A5B1A508D984200D8538D9BB25385538DE386029B002B02D0013BDBB28CE5009B002B00D089E5180003F064F971300378002B07D0FA22009B52005B21180002F059FF03E00221A02001F007FA0123009373E55300EB1801329F87D2B279E6C0464401002015500000741000200019000040 +:0000EB0100E8B80000C4010020F9040020940000202C0B002012FDFFFFEE0200001408002079660000005555007F1F0020F7B51C4B1C4AD15800920193CB0330D501230025FF27194C23700C206843184B1A18917AC9B2FF2917D0C658B44601267642B4446646C650C05800280DD197726378013BDBB26370A378013BDBB2A3705368002B01D05368984701351F2DDCD100232370A378DBB2002B02D1009A01995350F7BD10D00000001000E030020020A009002010B507F06FFF03680C2B00D1FEE7034B034A1B685A6001F04DFEFEE7A00000200C3003C0030010B588240849084A48682401C3189A1AA24201DC4B6005E007F051FF0C2303600120404210BDA00000203D +:0000EC01003811002070B52049204A0B5C002B05D11318DB78002B0CD10C2033E0002803D11B4C0825236802E010251A4C2368AB432360C024184B64001C659E6D174C184D34409C658024E4001C621E6B154C121834401C632C68144B23402B600023134D840063510B54D370984205D1104A114B11680B40136005E00F49104A0868024018000A6070BDC04608080020300200200002044000030440FC000A407FFEFFFF00000A40FFFBFFFFFFFFFF9F0C08002000020240FF0FFFFF00030240FFFFF0FFC623064A5B000420002902D1D158814301E0D1580143D1507047C04600000A40C6230A4A5B00D058002906D1084901408020D150D158400305E006490140802088 +:0000ED0100D150D15880030143D150704700000A40FFFFBFFFFFFF7FFFC822034952008858024B03408B50704700000A40FFFBFFFFC623054A5B00D058002901D1034900E003490140D150704700000A40FFFFFFFEFFFFFFFDF7B5224B01911B78E52B05D1204B1B78AD2B01D11F4800E01F483F27CE251426BC461E4B6D005C596146B4435C51FF2424021D59083EB543194E1D519D598018BD439D51174D5F598F435F519F5901780F439F515E59007830435851022A04D108201A5902431A510322C62040001D580D4C01992C4092062243002901D1822100E08421C9050A431A50F7BD00F5FF0F01F5FF0F02F5FF0F79F0FF0F00000A4004FF000008FF0000FFFFFFF3FB +:0000EE010010B502F0FBFF030067331B78002B0ED1FF230C24064A1B02D1586830A143D1500178032903D10820D1580143D15010BD00000A40C622802010B50C4B5200995800060143CE20142499504000195821431950083819580C3C2143195099588B38FF3881439950002010BDC04600000A40C6220E4B520098580D490140E020995099580003014399501A00FC3290690949014091619069084901409161CE21142049005A5882435A500020704700000A40FFFFF1CFFFFFF3FFFFFF7FFB054B01201A68054B1A4203D1044BDB695B0A18407047C046A4000A4007001000FC000A409A235B005843024B181808307047C046300200200A4B10B51A000A4CFC32D46198 +:0000EF0100D06A89002043D0620748F4330958116080211A68C9020A4300201A6010BDC04600000A40000104004CB900009A235B005843074B074A1B1800203133FF331870054BD96A0A40DA62044ADA617047C04630020020771FAEFFFC000A4088E05100054B064A196800200A401A601968044A0A401A607047C046F4000A40FFFFFEFFFFFFEFFF104B002908D11049104A086802400A60D96A0F4A0A400FE001290ED10A490B4A086802408020C00102430A60D96A084A0A40802189000A43DA62064A0020DA617047C046FC000A40E4000A40FF00F8FFFFF5FDEF000A02109A235B005843074B074A1B1800203233FF331870054B0649DA61DA6A0A43DA627047C04640 +:0000F00100300200207F0A2210FC000A40000A021010B50021FFF7B6FF044B054AD96A00200A40DA62034ADA6110BDC046FC000A40771EAAFF88E15500F7B54C4C4C4BE26A25001340E3624B4B4B4AE3619A235B004343D3181F003037FF37397849B2002905DA8022636AD201134363627CE0434909688C466646424931400CD080213A788901013A52B23A70E26A0A43E2625B680021984768E01C002E34FF34394F21703F681F002D37FF373F78002F24D0019310291CD0FC26B446019B27789C446646B669BF00BE59304B0F1DBF00DE5196267600B446019B27789C4466460137FFB22770277836780131BE42E1D804E08021EB6A49030B43EB62EB6A2449224C0B43D1 +:0000F10100EB629A235B001900414351182F31FF3109780225012902D16168294301E06168A9434343D31861603033194CFF3321681B78002B03D080231B03194301E0154B194080239B0219439A235B0058431018030000223133FF3330301A70FF300378013B5BB2037021600120FEBDFC000A40FFDFFFFF98E0510030020020A4000A4001001000A0000A4000000A4088C00100F4000A40FFFFF7FFF0B59A2464006043134C079F24182000FC30876130300370230005AD40CD2F332D78FF331D700D4D0D4B8800C0582B00F8331860E02301201B01334001310343090419432B003034D03352B2FF341960EE602270F0BDC0463002002000000A404CB900000221024AE9 +:0000F2010053688B435360704700000A4070B502F0F5FD144A144B156801001D408223040075310978DB012B4367346630002904D12178012907D1862303E00178012902D18E23DB012B431360412208490B681B0C1B041A4323781C0203785B01234313430B6070BDE4000A40FF00F8FFF4000A400223002929D001223333FF335843144B1818144B41601A60134B043A1A60134B02321A60124A134B1A600F22124B1A60124B1E32FF325A60114A9A60D96A114A0A40DA629A6C104992B29A649A6C0A439A640E4B0E4A1A60002318007047C04630020020A8000A40AC000A40B0000A400F021000D8000A40E4000A40FC000A400A404101000408C002000F7EF0000A4095 +:0000F3010041004100002310B59200934203D0CC58C4500433F9E710BDF7B505000F00009202F0C0FCBA23060000245B006B4301930C236343019AE1B29B18094AD3189B7ADBB2BB4205D3009A934202D8280002F0C9FA01341F2CEBD1300002F0A7FCF7BDA0090020F8B500250E490F4B01394A1C14D000221F685C689E68A018B24203D0B858A0500432F8E70200DE68141AA64201D020C2FAE710330139E8E707F080FBFEF7EEFD01000000F0BD000070B588240D00640002F022FD0023012D00D12300C621254A490055582C4000259C4207D05558224C2C400125545054581C435450040067342178012909D18B3001781C4B890059180B7F58014B7F5B020343C6211B +:0000F4010049005658EE221201134832409A4207D04558144A2A40425042581343435001E0002D02D00A2001F0FFF90F4B02201A68C023DB0213408022D202934204D120780138421E904101302278012A03D15A1E93415B42184070BD00000A40EFFEFFFF4CB900001FF1FFFFA4000A40F7B5060002F0C4FC030067331F78040001AD012F25D10B331B78012B16D1124B1A6806231A4204D0030090331B882B8007E003006F331F7830003900FFF780FFE855022270342378EA540AE000213000FFF776FF390004003000FFF771FF2C7068702888FEBDC046A4000A400023F0B587B002920593994208D1C02380269B04284C294D18270093760007E0C02380261B275B054D +:0000F50100254C264D0093B60002F0CCFB236803900193029B5A04C023DB021340802292001343236001232A681A432A602A681A4206D0059AC72A03D8059A01320592F5E7022001F071F9019B2D680A20236001F06BF9134A2D0C1662136BEDB2334211D0019B002B0EDB936900990B402168FB40090405D4012B05D1936A1E43966201E0022BF9D0039802F091FB280007B0F0BD80010A407C010A4088010A4084010A40FC000A4070B502220C000600FFF794FF0B4D011E0BD09620C00206F0B5FF9A2373431B1988335B0080B2EB1818819A235E433419883464002C19208980B270BD30020020CA22082170B5C6250B4C5200A3586D008B43A350635952185B005B0865 +:0000F601006351A3580C318B43A350322001F00CF90A22635900201343635170BD00000A40802210B5074C5203236832201343236001F0FAF880222368520213430020236010BDC046F4000A40F8B5051E0AD180222C4B2D492D48D2011A6008602C490A6040221A6080222B4C1206236808271343C62223605200A35801265B005B08A350CA235B00E2586420BA43E250E2583243E25001F0C9F8072203201F4963589343034363501D49280063589343053A1343FF2263500C211202A3588B43A350E8225200A35800213B43A350043AA3581F439A235B006B43A750114A124FD318124AFE335A839A83C0235B00E750FFF75AFFC4235B00E75031002800FFF753FF002070 +:0000F70100F8BDC04680E100E0780000202D43000000E100E000000A4018FF00000CFF0000300200200002008088130000F7B5A24C636B002B00D127E1636B9B050AD5982200209E4B5200985408215B68984788239B00E3618023626B1A4205D00121964AD361964AB033D154626B934B944DD20057D5DE6932071CD530223240102A18D198218E4A4900505C012812D100208D4F5054396808008021090308433860DF6A894900203940D9628849D961536803219847F30733D52023334030D198217F4A49005354E06A82490140E16280218901E161804909688906490F01391172E86D7D4901400E1CD1604904490FC8B25172F1B2CE068906F60EC90F9672D172161D8D +:0000F80100834208D21900183189006F5899007118CF600133F4E753680621002098476F4BE3618025636B2D012B4206D0634B07215B6800209847604BDD618025636BAD022B4206D05D4B07215B68002098475A4BDD618021626B8901574B0A4209D0D86A5B4A0240DA62D961544B01215B6800209847636B504D5B043BD59822002030214E4B5200FF3198545A5C019152B2824207DAE96A4C4A0A40EA625B680221984724E0464B019A9B5C002B17D080238027DB034B4EEB61052000F0B6FF33683F033B4205D08022EB6AD2031343EB6205E0052000F0A9FF33681F433760019A374B01999B5C354A013B5BB253548023DB01E3618026636BF6032F4D33420DD00520F2 +:0000F9010000F092FF8021364A090313680B431360EA6A344B1340EB62EE61C023626B5B02254D1A420CD00021244B08005B689847D02380225B02EB61EB6A92011343EB62636B1D4DDB050DD5982200201B4B5200985405215B689847EA6A234B1340EB62224BEB61626B144B52030DD598220020124952008854DD6A1B4A2A40DA621B4ADA614B6804219847E26D0B4B002A12D08022D96D114200D01A658023E26D5B001A4208D0044A1365114B1B68002B02D0042100209847F7BDFC000A403002002000000A40D0000A40773FFEFF88C00100FFDFFFFFA4000A40EF7FFFFF7F002010F4000A40FFFFBFFFFFFEFBFF000104000C0800200122014B1A707047210B00209D +:0000FA01004823434330B5104C8A68E3181A624A789D1D013AEA770A780533DA774B78012B0FD91222002350434A789A4209D9DA1C92005558C2180A3292000133A550DBB2F2E7012030BDC046700100205C234343184AF0B5D318190034310C78002C28D01F21002521409D601972FF2149425981211F012902D90121197600E01D765C234343D318190001254C310E78AC46002103275D186F70002903D0102C01D167466F700131C9B28E42F2D25C235843593B1354F0BD680300207423F7B5060000244343194D0193EA18D76E019BEB181A0030321278A24225D9DB690122E34013421DD01D2373431B1908339B00EB581A78042A14D1072105208C463A799A18507002 +:0000FB01007A7818701140009161465A7A8A4300990A435A72DB69002B01D0300098470134E4B2D2E70720FEBDB801002074235843034B1818703003780133037007207047B80100205C2270B542433F4C0500A3183032A15C0322186B8907904302000020890F0A435A649863D2B26030024205D0520661D5012248331A705DE018003C30007800280BD101294FDDD20603D54A331B78FF2B1DD15C236B43E31817E001294ADD10210A4008D019003F310978002903D14A331B78FF2B0BD15C236B43E31819003F31097800292FD0002A2DD149331B785C226A43A218110039310B70112334321370002228001100FDF769FE5C236B43E3181A009B6B3832002B09D03C21DA +:0000FC010013788B4338390B4301398B4301390B4313705C235D436419A36B5A1C01D1002301E02363012323760DE05C235D43002364193434237006E05C2311226B43E31834331A70CEE770BD680300207423F7B5060000251D2743430193019B164AD018030030331B78AB4220D33B0073435B1908339B009C58002C15D0104B9B5D002B01D1013300E004231F222370237A300093431A3A13432372E369984730220021200006F045FF0135EDB2D6E77422002106F03EFF0520FEBDB8010020741000205C23434310B51C4AD318991C42331B78002B30D0194C245C002C2CD0C98F023B19410323194013005C33002903D1195401F01EFA1FE001245D321C5411548020C3 +:0000FD01000F4B80059A6F024215D10E4A022904D0032907D0996F0A4009E0996F0A408021090503E0996F0A40802149050A439A679A6F1043986710BD6803002074100020FC000A40FFFFFFE789B210B504290FD15C234343074AD3185A1CD27F002A07D042331A78002A03D0023A1A70FFF7A8FF10BDC046680300205C23434370B5204DEB189A1C42331C78062C37D8D38F0322C9091140022909D091420DD0013A01291FD19900130089B20B4302E09B009BB21343A21CD2B216E0002C06D01E00A21E164122003140012905D102229B009BB21343A218D2B29B0099B2032302320B43E8E7012300245C2141436D18A91C4235CB872A70002C01D1FFF762FF70BDC0466D +:0000FE0100680300207423F7B5070000254343344A0193D218D66E019B3149CA18130030331B78AB4259D9D3690120EB40034251D01D237B435B1908339B005C58E369002B4BD02378042B45D13379E3185870D16E337906309C464B7803401A00637A8343134363724A79002A11D0634602339B00E318586800280AD06346E3181A764A792379934203D39200083106F048FE3379002B1FD1E369380098477378DB0919D01F2332781340042B09D144337B430D4AD31801223D331A700122631CDA771F2332781340052B02D10022631CDA7700230534E3770135EDB29DE70720FEBDC046B8010020600700200047402337B501AC607020000D00237001F0D4FA002801D154 +:0000FF010000200EE0442320002370657001F0CAFA0028F5D04823237000232000637001F0C1FA3EBDF0235843014B2030C01870470019000070B548244443094B00211C192300050044331970597099701C22201D06F0EEFD280001F015FFB830E06070BD7001002070B50400FFF7E4FF4823002563431C4A2000D3181A003D331D7074236343383215705570174AD31868331B78164A1B01D318DB689847200001F0F2FE72300378AB420DD0200001F0EBFEA13002780221D2B2AA4201D02A0029002000FDF77EFC2000FEF71DFE094A002311005C310B5511005D310B55A4001419236670BDC04660070020B801002028B90000680300205C2358430F4B1818020000239E +:00010001003C321370D370821CD387403213700E3A137093720122027602004A321370013A13708363013A43640363036554301370137103707047C0466803002070B50400FFF7D8FF074D00222B0020005C331A55FEF7D8FD002C00D12C665C235C43553B2B5570BD680300205C22110070B54143714B0400C85C1D0001381300062800D9D8E006F03DFA9D04D718B1D7C7006343EA183033EB18D360130004250021012034331D70654B161DD1621071F077D36111615161BBE06343E9180E000A7A3436D206D20ED0B232700122EA54052800D191E002D8042806D0ACE0102800D17FE0112821D0A6E0564B1B5D002B06D02B0000225C3320001A5501F01AF85C230022F7 +:00010101006343EB18991C4233CA871A70944201D14C4B2B665C236343EB181A0010213432117001221A6381E00B0039331A78082A16D004D8002A1ED0042A05D020E0102A02D0202A0CD01BE05C236343EB18190001203C31087000213F331970043110E05C236343EB18180001213C303F3301701970023105E00B003F313C331A700A7002215C266643AE193300353319702000FDF796FBB16B002900D0716C2000FFF7EBFD5C2301226343EA54EB181A004832117800293ED0052134331970002322E01F226343EB18197A0A40062A32D11A003C321278002A03D0196B2000FFF7CCFD2000FFF7AFFC22E06343EA1834321178081F012803D82000FFF720FF1AE01039C8 +:0001020100012902D80523137011E0002111700122EA540FE06343EB181A001121343211701900012248310A70002119631A762000FFF70CFC70BDC04668030020694C000074100020494900007422424370B5154DAA18130030331978546993699C430023D36101228B421BD22600DE40164215D00D4A9B009B1874225043002428180125A2009A5A002A04D02A00A240C6693243C2610134A142F3D8012002E00133E1E7002070BDB801002048B900007423F7B506000025012743430193534A019BD318190030310978A94200D89AE0D9690B00EB403B4200D191E01D2373435B1908339B00D45820780138062800D986E006F007F97E85040485825D001F23227A134068 +:0001030100043B012B0BD8231DDB7F002B07D00123AB40994303D10A003000FDF7D1FA631CDB7F002B05D1227A1F3313400620042B68D174235E43344B9E190023F56E2B716B71A3682B60E368002B0AD0237E002B07D028006B71227EE1689200083006F0DEFBE31CDB7F002B1CD1802207216B78524213436B7063790B401A006B788B4313436B701F23227A1340062B0AD1A31CDB7F002B06D0637A0B401A006B788B4313436B700423062023702BE0174B9B5D002B23D0144B019A9A183B00AB409943D1610021217091690B439361D269002A14D1482373430E493000CB183D331A700221FDF76DFA3000FFF72EFF06E000230534E37702E0E369300098470135EDB235 +:00010401005BE70720FEBDC046B8010020741000206007002070B5040008001100042800D085E07F23567A684D9E4375D0127A9609F0B2012803D0373B03282AD04FE0742363436248D206C31840331B79DB06D80E9A420AD12000FFF7D3FA482300226343EB185E7044331A709AE048236343EB181A0000210225443211701F225D70203319789143084307215A7818708A432A4340E06343EA181000443001780131C9B20170092916D9002303701F20023353707233634345492032CB1840331B7903401900137883430B430721137053788B43537065E00622EA5400232C3253E06343EB181A0000214432117002221F205A7072326243354920338A1840321279024048 +:000105010011001A7882430A4307211A705A788A4304390A435A7043E02000FFF771FA482301226343EB185A7044331E7038E0431E012B2DD848216143234E7218150044352B780133DBB22B70092B18D900232B701F2502335370723363431C492032CB1840331B792B4019001378AB430B43137007235178184099430843507010E0062364228B5500232821200001F0FBF919E0002817D1482306225C430B4BE25411E048235C43084A131920331B78DB06DB0E012B03D0022B03D1032302E0022300E00723A35470BDC04670010020B801002010B5040001F066FB0123A340DB4308495BB20A781A400A70064A2C3211780B40137001F05BFB022000F0A0FE10BDC0463D +:0001060100CC0300201408002070B50124042800D1A2E0032807D10021902250485200416081600C3096E0012852D10F214B4D6E7B33090E402900022A25D800246C60AC60012A14D0A34200D086E0022E0DD1444A297B12881C0091427ED2424B0832C918D3186960AB60040076E0002E74D100240A7B53B2A3426FDB3B4B0134D3184B60384B8B6068E0002E13D0002B57D1022E55D1334B2D7B023A32481B8894B228185A1BA24200DD220092B20E3106F037FA45E0002B43D12D4B2D4C19002C310978023A6054190092B22D310870DA8536E00024A04234D1214D6968A14230D0AB68040099422CD25B1A082B01D9082301E0002B25D0D8B21D4B1E4A2C331B789B0089 +:00010701009C5882239B00E258EA3BFF3B13400822D31ADBB2FD32FF32984203D20123A350030001E00420A0500A00CB1890218900934203D0107801326050F9E76B6001240A4B2D331978C9B2002905D19022034852000C3006F0ECF9200070BDCC030020A80000209C08002014080020CC040020220B002078B9000070B5C3071BD501F091FA0F4C05002389002B0FD02189E38822899A1A23685918180006F0C0F92289E3889B1A9BB2E38000232381280001F07DFA00F089FD01F075FA01F077FA70BD140B002070B5144B05001B78002B02D1124901F071F90023C2211C00104A490053508439180088301058043324188B42F8D10C4E01353100A8B2303101F05CF95D +:0001080100802200235200310030315958043364189342F8D1604270BD100800209C08002014080020CC040020302310B5584301F02FFA10BD70B5802504002D02AC4205D9054801F025FA054BE418F7E70448604301F01EFA70BDC0460000C05D0080FFFF80BB0000034A044913689BB20B4313607047C0460CED00E00400FA05F7B501224A4C4B4D23684B4E9343236000234A489A002900032B00D8B15801338150222BF6D172B6FF22454B00271A60FF22444B12021A600322434B07261F60424B434D1A60434B21321A609C22424B92001A60414A424B1A600C22414B1A609322414B12011A601222404B1A6001F0DBF901902B683E4AB3432B603D4B3E491B78DBB245 +:000109010013603D4A1368B34313603C4B0A6818787F239A43034013430B60322001F0B8F905222B683220B34313432B6001F0B0F906222B68B34313432B60019801F0B6F99E22BC212E4BD2011A602E4B2E4A89011A602E4A116090212D4A09011A602D4A1160C0212C4A89001A602C4A1160E8212B4A49011A602B4A116080212A4A49001A602A4A11602A4A1A600322294B1F60294B1A60294B1F60294B1A68BA4200D11A600122236813432360F7BD00001040B1370000001800000000002000000240000302400001024000000440080F0340080004400801044000081800080204400003044008030440300010400C0F03407DF3FF0F180F0340100F034064F3FF0F73 +:00010A0100140201400000014005FF00801002014004FF00800802014002FF00800402014001FF00800C02014003FF00800002014000FF0080280003400C0101400001014088000020F0B5BF4991B04A7B0E00120900D0EBE2BC4D0B7BE88D2C00C0B20A2B4DD004D8062B0AD0082B0CD0F2E20C2B00D194E075D32C2B00D189E2EAE2887BFFF77AFED2E2012800D8E3E2887B0523522800D0C0E2CC7B002C20D0012C00D0BAE2AA4B2C351A70A94BAA4930331A702B78CA54A84AD15C002906D00021D154A64A9B009B580122DA660520FFF7ACFE72B60022A24B1A60FFF7C4FEA6E2A14E2100B288306806F023F82C3534810720F480FFF741FE287800F092FC2FE08B7B65 +:00010B0100502B22D192490B3B0C0031342078032800D081E29448C068632800D97CE20B00323318784423002800D175E28F48433B0370864830310370FF2040000A7001F025F804232370023B66E2804905230878C00700D460E27E4B0A7030331A7002235AE27B4B313318780523002800D053E27F4B8A7B9978030091420DD0012A04D00723022A08D17B4800E07B4801F03CF80023984200D006330233DBB23CE2032800D857E28A7B0523462A00D034E2C87B042800D92FE205F0ADFCD601F300AB003D0005006D4B624D1A784323022A00D025E280266A4F76008837303432003900200005F09CFF2800A4213430002308AA490004F013FA634B32007C331978380026 +:00010C01000131090205F08BFF5F4B5D491A68C4235B00CA5008A83300220001960097202103F0DAFF431E98410323544A32352870137013E2464C230031331B78012B01D00523ECE120002600504D35304822FF30290005F064FF4E4B626B34369A4201D04023DCE1B379012BFAD11022002108A805F05EFF8022434B52007C3319782800090205F04CFF404D04224249281D05F046FF280004224049083005F040FF3F4E1022310008A805F02BFF230010223C33002807D1190008A805F022FF03005842584103E03100180005F01AFFC0B2002800D0C5E1E16C6E68B14200D2C2E1206DAA6890420DD9030053409BB2002B01D0002A06D1002900D1B4E1022331342370B9 +:00010D0100ACE14223904200D089E1B142F5D886E10F4C250031352B78002B91D12000802234305200194905F0FAFE636F042B97D14533228FFF339A4292D1483BFF3B2B708CE1C046CC030020CC040020200B0020CC050020220B0020260B002078B9000088000020140B0020801B002010080020A8000020C0FE0100C0FF0100FD05002014080020CC0600204C0700209C08002046574354AD080020B10800209D0800204D7C0B7C2D022B4303936B46AF4F9B89AF4EBB81330031331B780693042B00D03EE7FB89039A934200D939E7FF235B009A4200D0B9E0A74DAA212A00FC32106D4900536D695C0002000C1B0A303409060130194380B2220000F0FCF920229E49CA +:00010E0100200005F07DFE0790002800D0A4E0B8899A4900F0D7FA9A4B04907C331B7897491800059300F048FE2B002A00C0331C68C432230A1478126824061C43130A2A00C83212788F4912061A43D7B208A8D2B205F065FE14228C4B07991A808B4B03321A806A468A4B928984481A801322894B9A80ED3205F05CFE432328007F4A7E491370A130202205F04AFE2800310010223C31893005F043FE310008224C317E4805F03DFE7D4BDB79002B10D0736FDBB21F1C042B01D96B461F7E6D49FFB279313A00FF3108A805F02AFE013405E03100059B7831581C00F0EFFD664D220A2B00C1331C705A70220C240E9A70DC702B000022C5335A709A703A0EDA701F703A0041 +:00010F010008A9604805F00BFE594C584B21001E7C7831701C00F056FA3000FFF753FCC2235B00E8505549300000F04CFA059800F02DFE05983134013000F028FE584B594A1A6100232370023309E04C49039800F039FA0223049002E0002304930733434A9189D18110E0487C0B7C0002184302003821C73AFF3192B207238A424CD83F4900F09AFD03230490049A002A43D143E0374B31331B78002B5CD10B78002B5BD1344B8A7B2C331B785A4000D1D7E513400B700B78002B00D1D1E52E21002000F06FFC041E14D07522284B0020503319780A401A702E2100F0B1FC00210800FDF77FFE01210020FDF77BFE012100200FE000F0C8FE873000780121002808D02A4A66 +:00011001000321200001F098F800280FD0347023E0FFF7DEFA0AE007239A1E012A03D90021134A31321170180000F088F91F4B002219002C332D310A701B781D49CA541D49C85C904210D0CA541B4A9B009B580122DA6609E00523DFE71223DDE70223E2E74123DCE74223DAE711B0F0BD4C070020CC05002014080020200600209C080020CC060020DD080020AE000020B0000020B2000020A8000020AD08002000060020801B002000555500D1510000CC040020220B0020260B002078B900001822F0B54243194C0500A218938A90689BB2002801D1087027E0154AA8008658C2229200B0581F221040021C082800D9082292B20A701821694361189A188F8992B20020C7 +:0001110100974210D3D020800084469A4206D9604637588868C75401339BB2F6E7182045436419A3821738F0BDA807002078B9000010B5214C0300210060310A5C0F20002A39D19A001D48A21850660122CA54002B0CD11B4A1B4B91680B40C02109010B439360F023184A1B0211680BE0174A184B91680B40C021C9010B439360F023154A1B03116880200B431360134B134A40009A67134A1349DA6718659A6D02439A650868114A02401148024300200A60996F0F4A0A409A6710BDA8070020811D000000020440FFF1FFFF0002024000030440FF8FFFFF00030240FC000A40C2F14A40AFF44A0100000A40F7FFFF9F08000040FFFFFFBFF0B50C000500DFB003A801920A +:000112010003F036FD002103A803F048FD27002E00FF2F0ED91EA9300000F04EFC80221EA9520003A8013F013603F06CFEFF3FB6B2EEE7230AED181B02A8B2E41A07D01EA900F03AFC22001EA903A803F05BFE0F490B0068331B78002B08D1FF201EA9400000F02AFC80221EA9520002E08022F431520003A803F046FE019903A803F048FE03A803F0FBFC5FB0F0BDC046A807002070B500F007FD0B4900220C000C2578342B005343E618B67AC22E04D001321F2AF6D1002401E0CB189C6F00F0F7FCA0B270BDC0462809002070B500F0EBFC194B05001A006C32D688174CB6B2002E15D0D86E23000678EA331E7043782100EB342370C37880781B02034304339BB21381D9 +:000113010001226C318B7913438B710FE09288D86E310005F00DFC230022000121EA33EB346C321E70267093798B439371280000F0BDFC70BDA80A0020A807002070B5040000F0B0FC1E4A11006C31CB888D88CE889BB2AE1B072E18DCCC882D1B0024032D27DD8125D66EF554D66E5D1CADB27455D66E9D1CADB274550333D26E9BB2D454CB8804339BB2CB8013E0D56EEC540024D66E5D1CADB27455D66E9D1CADB274550333D26E9BB2D454CB88013404339BB2CB8000F07BFCFFF787FF200070BDC046A80A002010B5134A0300783212780E20002A1ED0073800291BD00F4A14889C4217D854889C4202D292889A4211D10B4A072093420DD80538934204D0FF225200C8 +:0001140100934203D100200A00DC321060180000F073FB10BDA80A0020AE000020FF01000030B5134B8200D35812491A681025520052081A60182250430F4A104C101802220271002282825A50F82001210001494219501859A8431851F42000011950803019508021DA661A6809060A431A6030BD78B90000880F0000A8070020480F0000783110B5CCB22000FFF7CAFF18206043034900220818017903690320984710BDA8070020F7B53F4E80223400050000203D4F12063B68793413433B600A223B4BC121207000F05EFA33000126384800970168374F314202D021780029F8D001210024386808403349A0423FD11E0079363478A44604006046002837D196240222BB +:00011501002D4804602D4C0C602D4C226001940824FF340A68224202D13278002AF9D0AA1C1C00944679342678002E0DD165450BD02E78066008220E68FF32164202D12678002EF7D00135EEE73C681020A20600D5083012251C00019AFF35106079340868284202D120780028F9D0012408680421FF31084206D179331B7859424B415B421C4000E00024009B009A1B6800205B005B081360C12100F0D1F9601E8441E0B2FEBDC046A80A002000000840F545000064000840000F0840400208401703000068000840854B8200F0B5D458002385B002AAD371824B0700E25801231A4206D0804962589A436250E8221201A3507E4B0125E35800930223009AFF331A4208D093 +:000116010039007839C9B2002000F098F900231D000093009BDB0644D518267E43734B9E193179019304290FD002ABD91D3800FFF745FD051E0CD00521B28A317192B2336901209847050003E0336900220220984718237B43019A0020D318022298821A71812380219B00E25849020A43E250E1585F4A0A40E25001225E49635893436350F82310211B01E2505B4AA3588B43A3503900F42330221B017839E250C9B200F04DF9009B5B0648D53B00FA22783BDBB201935200514B0199002000F063F9E82201261201A3583343A35018237B43474AD3181A79022A29D1626ED2060DD504210022197110001B69984700281ED0F8231B01E6503F4BE65003E005221A71002D39 +:000117010014D0F423302210211B01E2503A4A0125A3580B43A3503A4B1A007A32D25D002A01D1E56609E07E33DD5506E002230199E366002000F002F90025F423009A1B01E250002D09D13800FFF76AFE39007839C9B2002000F0F2F83EE00122294BE3580093134225D018237B43204A0421D31800221B6910009847061E1AD101211D4A3500A3588B43A350F8231B01E150812380219B00E25849020A43E250E158144A0A403900E25002237839E366C9B200F0C5F8F823009A1B01E250134BE658F30705D502ABD91D3800FFF778FC0500FC231B01E650002DB6D005B0F0BD78B900008C0E0000880E00004C0F0000A8070020FFFFFEFF880F0000480F000081600000BA +:0001180100A80A00208C0F0000CC0F000010B50020FFF7D8FE10BD0000302230B51A4CC3B0A36A05009343203A1343A362F03202A805F075F9154B6A460093FF230193144B9A60144A5A60C046C046C0469968090F0A070A2910D110492D040D436946009599600E495960C046C046C0469B6800201B0F1B07934200D00C203022A36A9343A36243B030BDC04600000340B6D700000000104004000080B6D800000500008030B50023FF2911D0BA220C2552005043074C2A005A431218A218927A914204D001331F2BF5D1002300E00123180030BDA009002010B5914203D2FF2A01D0FDF71BFD10BD0C2359436933FF334343C9180C4B0D4A5918FF238B72135C013BDBB237 +:000119010013540A4A1378013BDBB213701378002B07D1074B1B78DBB2002B02D1054A06498B507047A009002031020020320200203002002010D00000001000E0F8B504000D0000F0AFF90600FF2D11D00C22BA200023944640006043094F62465A431218BA18927AD9B2954206D001331F2BF4D1300000F09BF9F8BD2000FFF7B3FFF7E7A0090020F0B585B004000E00150001930020FF295AD0824258D000F083F90C221E23FF2194466932FF32624302900392BA2760467F0067435843254AC719D719BF7AFF2F00D1D9B20C275F4303983F18D719BF7ABE420BD11E4FD9B23B5D013BDBB23B551C4F3B78013BDBB23B7004E0013BDDD20027FF2924D00C2359436933DD +:00011A0100FF3363430198C91853181D8158609E72114B55501A78002A0AD1104A1278D2B2002A05D10E490F4D4A5107250E4A8D50012708490A5D0132D2B20A551A780132D2B21A70029800F031F9380005B0F0BDA0090020310200203202002030020020001000E018D0000010D0000010B50023FFF788FF10BD000010B50A4B1A6801321A601B68012B05D9074B084A1B685A60FEF7E8FE064B074AC2210020FFF772FF10BDC0462C0B0020A00000200C3003C079660000EE02000010B50C4A0300080011780E2200290FD0073A00280CD0084A11880722994207D206498B4204D8F932190205F01CF80022100010BD200B0020AC000020FF01000070B51D4B1B78002B5D +:00011B01002FD030241B4B9A6AA243203C22430C009A62194A083C2260FF2204390A60174A174994605160C046C046C04695682D0F29070A2D0FD1134D000428432060124894605060C046C046C04692680020120F12078A4200D00C2030219A6A8A439A6201E0FFF759FE002800D0052070BDC046FC05002000000340B6D700000000104004000080B6D8000005000080802210B50400C0B052000021684604F0C9FF69462000FFF7A9FF40B010BD0000144B020030B506209A4222D853781178114C1B020B43A3421BD11000D1799379090219430A30147A0A39031E0DD000231000994209D0851A8D4204D2857A01305B19DBB2F7E75B42DBB206209C4200D1002030BD73 +:00011C0100FFFF01005943000070B582784478C378120222431B0413431A00037905001B0613430620002B2DD0AA7A6C7AEB7A120222431B0413431A002B7B1B06134321D0A9796A790902114309024A1CFF320E4CD618A64216D8100000220133FF332C785B18984204D0057801305219D2B2F8E75242D2B20620944204D180239B00C818FFF794FF70BDC046FFFF0100000000000230800804D0C0460138FDD1C046C046C0467047EFF3108072B6704780F310887047C04610B5022300281FD100291DD00F4C104A2300CC331A602300C0331960FEF728F9010066222031200004F01FFF2378022B00D06370002002F0B3FB002000F0D0FE0123883423700023180010BD84 +:00011D0100EC0E0020BC0F002010B50222002813D10A4B19008831097800290DD0DC7C0A32002C09D11A0089321470012287331A70200002F097FB2200100010BDEC0E002070B505000224002817D10D4B1A0087321478002C06D002F021FD280001F0DEFC2C000AE089331A78012A06D120001C7002F008FD200000F0B0FE200070BDC046EC0E0020C4235B005843014BC0187047EC0E00200020704730B5022200281FD14B005B0F0A32002B1AD00E4D2C007E342478A34214D841339B00EB189B880C0E9B0514409B0D002C05D09140890D8B4206DB020004E08905890D8B4200DB2200100030BDEC0E0020C4235B005843024B18186F3000787047EC0E0020C4235B00EC +:00011E01005843014BC0187047EC0E0020C4235B004343644AF0B5D3181900793109788DB00490012915D1B8331978602396270B40402B00D1FA27C42304985B004343D3187B331B787F00042B05D1C906C9170F4001E096277F00C42304995B0059430B002033D3180193049A4F4B08915A430023069305934B4B0A925B18039309330B930B9B059A1B789A4272D2039B059A9B7A13410122134264D0019A0A9B9B18089A9D58019B1C881B68A4051B039B0D0793019BA40D9E78DB78B6069B090293079BB60F9B050993029B012B1DD0002B02D0022B24D027E0BC4202DDBC05A40D11E0324A099B15401B0B314A1D43154033051D43002B17D06E206421604304F09EFBA2 +:00011F0100B84210D9029E0EE00799200004F096FB4008B84207D9079C7C43E40502E0BC4201DDBC05A40DAD0A204AAD02099B25431B0B15401D431E4B36051D403543029BAD009B07AD081D436223049A5343069A9B184233134A9B00D3185D60069B01330693059B01330593019B0433019387E70820039B03999B7A0931FF31DB09DA00CB7983431343CB71039A0A4BFC32116907380B4013616A46039B127E7E331A700DB0F0BDEC0E002078FEFFFFFF03F0FFFFFFCFFFFFFF3FFEC4235B00434310B5034AD318FC33196DFFF7E6FE10BDC046EC0E002070B50D000400FFF763FE2A68002A10D000230121A3420CD00A4206D0012199402A681C008A432A6003E0013306 +:00012001005208DBB2F0E7FFF751FE200070BD000070B505000C00FFF745FEC4235B006B43044AD318A4331A6814431C60FFF73EFE70BDC046EC0E002070B5050014000720002D3CD11E4A1000873005780B20002D35D0150072352D78012D30D1100085300078002804D11000A4300068002802D00F20052923D11000A2300078112806D0082801D1002902D00B20052917D110000125853005701000843001701100C4310B60002C05D0CC32106821002C2204F036FD802100208900FFF7AAFF002070BDEC0E002010B504000720002C08D105489C3004780F20002C02D12000FFF7ACFF10BDC046EC0E002070B505000C00FFF7D9FDC4235B006B43044AD318A4331A684E +:0001210100A2431A60FFF7D2FD70BDC046EC0E002070B505000C00FFF7C5FDC4235B006B43044AD318A8331A6814431C60FFF7BEFD70BDC046EC0E0020030070B50720002B18D10D4B1800873004780B20002C11D01D0086352C780430002C0BD11800C8338A3001701A6020008021FFF7D1FF012320002B7070BDC046EC0E002070B505000C00FFF78FFDC4235B006B43044AD318A8331A68A2431A60FFF788FD70BDC046EC0E002010B501F073FC10BD03000220002B03D11800024AA13213707047C046EC0E0020C4235B00434310B5034AD318C0331B6800221B68984710BDEC0E0020C4235B00434310B5034CE318C0331B681B68984710BDC046EC0E0020704710B5FC +:0001220100FFF706FF10BD00000139CBB210B50021082B02D8024A5B00995AFFF7F9FE10BDB4B9000010B58021FFF7F2FE10BD10B5FFF7E4FD020000238532C4301370036010BD000070B50500FFF7D8FD04002800FCF7DEFE28000E220021FFF73BFB9220800045432148224B4019C2180023137080229200821813701E4A821813701E4A821813701D4A821813701D4A8218137082229200821813701A4A821813701A4A8218137081229200821813808D2292008018220081320360013A537013700A3A1370D370013A1370433213601371413A13702B32137002321360FC342A3A1370E3652365A364236670BDC046300B002002020000030200000602000007020000EF +:00012301000B020000090200000A020000F7B5060001920D00FFF772FD030085331A78012A23D1C430026807000092032D01D000221A70009B002B18D0019B019A002B0CD09224A4007443094B24221C193534FF340199200004F0E3FB220029003000009B9847032D01D000233B60F7BD300B002010B50022FFF7CAFF10BD000010B50400922080006043064B8930FF301818202204F0C5FB802120000901FFF739FE10BD300B002010B50400922080006043064B8130FF301818082204F0B1FB80212000C900FFF725FE10BD300B002070B50D000400FFF713FD112D08D192239B0063430A4AD3180A4A9B1800221A70A230057009212000FFF7A2FA802120004900FFF7B7 +:000124010073FE04212000FFF703FE70BD300B00200B02000010B50400FFF7F0FC922300219B006343084A8430D318084A9B1819700378062B02D02000FFF79AFF0E212000FFF7C4FF10BDC046300B00200B02000010B5092901D1FFF7B9FF10BD70B50500FFF7CCFC03000026040077331E700A212800FFF7A7FE31002800FFF779FF230067331B78012B03D102212800FFF79EFF0423A434236070BD70B50500FFF7AEFC03000026040075331E700E2231002800FFF710FA230084331B78052B03D031002800FFF755FF28000121FFF77FFF0423A434236070BD00000300881E10B508283ED804F00DF805141919193D3D3D2B00922292005A431B4918008A1804218532BE +:0001250100FF3211708021C900FFF782FD28E011211800FFF75BFF23E0922292005A4311498A18114952181278132A03D11800FFF7B3FF15E01800FFF76DFF11E0922189005943084A094851180A008532FF32127809180A70012AE9D00021180001F0D4FC10BDC046300B0020460200002202000010B5024BFFF706FA10BDC046096E0000F0B585B00D000400FFF738FC02000700FC32A81E916C062800D98CE003F0B0FF046A77777F8B870092239B0063434348C31843481B181878012806D1002102221970200001F0A0FC75E038003B004530FF3006884833B605B00D84463220FF331B78926C5B065B0F41339B00FB185D681203920D03922A03920D02924243DB883B +:000126010001929B049B0D2F4A1E052A403500019E15430096120E01D0584300902A4B664619400B0100D5039E1C2220000921FFF79FFF92239B005C43204B6A461C198A2392889B00E3181A806A46204B1288E3181A8089239B00E3181E801D4A029B15409B021D438D239B00E4183B00FC332560DD6520E003212000FFF77AFE2000FFF7D6FD1C2209212000FFF772FF13E020000021FFF76DFE2000FFF7BCFE0BE020000021FFF765FE2000FFF7F6FE03E00D212000FFF78BFE05B0F0BDC046300B002007020000FFFF0FC0FFFFFF8F26020000FF03F0FF70B50D000400FFF78FFB0300A81E082867D803F00BFF051552525266666656009222920062432F4920005158B9 +:00012701001A008968FC329164C0331B682B4ADB6A984750E09225AD006543274A28495519691809781600032904D109312000FFF74DFE40E019008F22FC319200896CAA181160902275331B789200AD18002B02D10821297006E02000FFF72EFC002805D1112128702000FFF731FE04E0042320002B70FFF791FE92228F23920062439B00B218D21816212000FFF72AFD13E02000FFF740FE0FE092239B006343064A0849D3181A008532FF3212785B181A700021200001F0A9FB70BD300B0020A56F00002202000070B50500FFF718FB0300673319780400012902D12800FCF7D3FB23000022A4331A6001237734280023701521FFF7E8FC70BD70B504000E00FFF7FEFA03 +:00012801000500022E0FD101237A352B7000212000FCF7B8FB200001F0EDFB372209212000FFF7A6FE0AE0082E08D1200001F0E6FB00237A352B702000FFF710FE70BD10B5022901D101F0DEFB10BD000070B50600FFF7D4FA002105003000FCF793FB922300249B007343174A3000D318164A9A181470164A9A181470154A9A181470822292009A181470134A9A181470124A9A181470812292009A181480104A9A1814708D2292009B181C602B002A0075331C70793287339C64A4351470DC6501F0B0FB2C6070BD300B0020030200000602000007020000090200000A0200000B02000010B5022905D1C82207319200FFF740FE04E0082902D10439FFF768FD10BD00008A +:000129010010B50400881E0B2827D803F0F9FD062626260C26102626262623962209212000FFF726FE19E02000FFF774FD15E092239B006343094AD318094A9B181B78312B04D809212000FFF741FD06E02000FFF739FF02E02000FFF79FFD10BD300B00200102000070B50400022927D1FFF746FA030000226E331A7092239B00634313490125CB18124959180A70124959180A70010081310D7001390A70812189005B18FC301A808264200001F050F8200001F031F82000FCF712FB092102E0082903D101312000FFF702FD70BDC046300B0020010200000202000092239B004343174A10B5D318832292009918002204240A70134959180A70134959180C701249591859 +:00012A01000A80124959180A708521890059180A608421890059180A808621890059180A708721890059180A60882292009B18012252421A801221FFF7C9FC10BD300B00200D0200000E020000120200000F02000010B50400881E04281AD803F051FD030D161616000021200000F0DEFF03220021200001F049FA0BE020000421FFF778FC09212000FFF7A2FC02E02000FFF704FD10BD000092239B004343044910B5CA1804325A50024900F095FF10BD300B0020FF6D000070B50500FFF7A0F904002800FFF7C0FB23000722A2331A700423A4342800236000F092FF70BD10B50400FFF7B1FB00212000FFF743FC10BD70B50400FFF784F9050000212000FFF739FC2B007E +:00012B010000226E331A70AD7C2000012D06D1FFF7E4FF29002000FFF7FBFA01E0FFF752FE70BD0000F8B50E000400FFF767F90500B01E062800D9A8E003F0E2FC04237878787C8B00C0352E689225AD0065434F4B20005D194E4BEB1819887368984789239B00ED1829882000B36898472000F36848499847C822092152002000FFF7F8FC83E09226B600664340492B008E198D21FC339A6C89001A65711809682000D965DA64FFF72BF93A4B0700F3181A880300AE331A808A239B00F3181A880300B0331A8089239B00F3181A880300AC331A800122373B1A70200000F01CFF90239B00F11801230B708F239222FC379B00386DF6183060254B9200400101D50320087052 +:00012C010062439A188F239B00D21816212000FFF7E7FA8B3511212000FFF7D8FB2B78002B33D10121200001F038FC2EE02000FFF733FC2AE020000921FEF780FE802120004900FFF751FA06220021200001F05CF91BE09223902018269B0063430B491A008000CB18181806708F20FC3580001B18A86C8A1818608F239B002000D2181621FFF7AEFA2000FFF731FFF8BD300B002026020000256E000070B50E000400FFF7ADF8072E1BD0082E35D0022E36D10300C0331D68483B1B78012B04D1703001786B6920009847164920006B6898471549EB682000984714220921FF3217E02000FFF78CF80200002305009A321370243A13700B2120006735FFF764FA2B78012B50 +:00012D01000CD131002000FFF761FB0221044A2000FFF72EFC02E02000FFF7E8FE70BDC04688130000256E000070B50D000400FFF765F8072D29D0082D2CD0022D45D12000FFF75CF805002000FFF780FD2B007033197850331B6820009B6998472B0067331B78012B06D12A007D321370174A66352B70135592239B006343154AD318154A9B1801221A701A3217E003212000FFF71DFB1AE092239B0063430D4AD3180D4A9B181A78002A0DD00022C0301A70036809491B6920009847084A09212000FFF7D7FB02E02000FFF791FE70BD74100020300B002045020000256E000071020000F7B504000E00FFF709F8030067331F783A331B780500DBB20193022E03D060D327 +:00012E0100052E42D95DE02F4E2F49330048331B5D002B09D192228023920062439B008A18D218137801331370922380229B0063439200CB189B181A78032A12D9032276351A702B782000012B04D1012F02D1FFF74DFE01E0FFF7B6FC01212000FFF788FA2FE0330048331A5D002A02D000221A5502E02000FFF7EAFC200001F05DF800281FD001214836315518E0122120007635FFF798F92B78002B06D1019B002B03D02000FFF723FE0CE020000321FFF760FA2000FFF7BCF9012F03D102212000FFF785FAF7BD300D0020300B002070B504AC2588072903D0067800248E422CD1012A0ED0002A02D0022A0FD013E041781400002921D100244279D209A2421CD109E024 +:00012F010000244278A242F5D116E000244279D209A24211D0002B06D002790024D206D20ED340DB0708D5054B01249D4204D043785C1B60424441E4B2200070BDFFFF000037B50400881E062855D803F0D9FA04122F313354490020004021FFF7C5F80021200000F061FD0D220021200000F0CCFF41E0922391209B0063431F491A008000CB181B180020187091238A189B00D21820001321FFF724F920000321FFF7E8F91B2209212000FFF7E3FA24E000211CE001211AE092200021800060430E4D009108230A004059FFF781FF002810D020000421FFF7CDF909212000FFF7F7F90AE010212000FFF7EEF802212000FFF7C0F92000FFF751FA37BD300B002073B50E0091 +:00013001000400FEF7FBFE0500B01E0B2800D988E003F076FA0615364A648776878787877E2000FEF7F3FE2B000D35FF357E331B78012200950021200000F070FF71E002212000FEF77BFC802120008901FFF74CF8012376352B7092239B006343314A2000D31880229200991800220A702E495B18F9391A70FF391B32FFF77AFA282129E02B0075331B78012B0ED192239B006343244A1121D318254A9B181B78012B2BD12000FFF7B7F93CE076352B78002BF7D19225AD0065431B4B0A215D191A4B2000ED182B7801332B70FFF780F92B78062B27D127212000FFF775F822E092200122800060430F4D0092042300214059FFF7EDFE0028D4D00B212000FFF767F910E077 +:000131010020001021FFF75EF82000FFF7C5F908E076352B78002B04D1802120008901FEF777FF73BD300B0020010200000B020000F0B585B00400FEF761FE002105002000FFF716F909212000FEF7F8FB802120004900FEF7C9FF1123A2352B70039592250021AD006543704F704A7B199B181970EB590A00029300910B000298FFF7A6FE011E34D02000FEF739FEEA5903009278901E0E2800D9C0E003F0B2F917ADB0B0AD0817202020ADBFBFBFB00067331A7892239B006343FE185C4B0921F618012333709A4200D0A8E056E092239B006343FE18564BF618012333709EE092239B006343FE18524B1021F618327044E0514B0122009303000298FFF768FE00287DD09E +:00013201002000FEF7FBFD0300EF590600B878673301381B780E2800D97FE003F071F96C080F6C7E7E7E7E7E7E7E7E7E7E3100012B73D17B780B21012B6FD11DE0320075321278012A5AD13200733212789A4255D132005132FF32002B00D0043A7023D2781340102B4AD10F22FB7A05219343802B02D0502B42D106212000FFF7A7F83DE03A78002A3AD192250420AD006543264B29495B19591808702849023059180A808321890059180870204920005B1880211A700901FEF718FF11351B4BFF355D1924223900280003F02AFC3300C0331B681B4A1B6B290020009847142209212000FFF746F9802120004900FEF7FDFE1223A236337002E02000FFF78CF8039B1B787C +:0001330100112B0ED109212000FEF7CAFA002808D104212000FEF77CFE03E02000FFF75CFBECE705B0F0BDC046300B00200B02000046020000FFFF00000D020000120200007D6F0000F0B587B00E000400FEF756FD92239B001A0062439B4903909B488A18101805789A4810180778832080001218684612780292007A02AAD073B01E0E000C2800D91DE103F0C5F80D002B00580064006C001C01A3001C011C01E4001C011C010A01012D0ED0002D06D0032D00D007E1200000F0FAFD03E13A000299200000F0A2FDFDE085226343CD18814B9200EB18AD182A681B78029900923A00DAE0032D03D114212000FEF7ECFE02ABDB7B013B012B0BD8002D09D10D2F07D10F23F1 +:000134010002AA9B181A0013212000FEF7E9FE03212000FEF7ADFF92239B0063436E4AF3189B181A88002A04D009212000FFF7A0F8C7E02000FEF7FBFE9EE06343674ACB189B181B780021012B07D12000FEF7E2FFB7E0029B002BF8D001212000FEF788FF8AE06343CD18CF5888218622872389006918098892009B00AA181278EB1800911B6802993800FFF721FD021E07D100900299534B3800FFF719FD011E0CD020001121FEF793FF92239B0063430421F2582000FEF72BFF84E02000FEF759FF474BED182B78022BC0D02000FFF731FE78E002212000FEF74CFF012D02D111210F2F00D010212000FEF76DFE02ABDB7B013B012B41D8002D3FD10D2F3DD192238322C0 +:000135010003219B0063439200F3189A1815702F4A9A1811702E4A0F319A1815702E4A9A1815802C4A9A181570852292009A181560842292009A181580862292009A181570872292009A181560882292009B181D8013E009212000FEF7F1F9802120004900FEF7C2FD922292006243B3181900A631FF310978002904D011212000FEF726FF1FE0A533FF331B78002BF5D08932FF32B21800920F22200000F0C0FC11E009212000FEF7CBF9802120004900FEF79CFD11228021039BC901A2331A702000FEF727FD07B0F0BDC046300B00200D0200000E0200000F020000120200000B02000010000100F8B50400062902D0092903D088E0FFF79DFD85E0FEF700FC030084309D +:00013601000078CC3305381D6807287BD802F078FF04087A0C7A7A7A422000FEF73DFF71E02000FEF7F7FE6DE02978200000F0FCF992239B006343344A2978D318832292009A181170314A0D20991800220A703049591808702F490E30591808802E4959180A708521890059180A608421890059180A808621890059180A708722082192009A181160882292009B18012252421A800A3134E092239B0063431B4A2978D318832292009A1828792E7B1170174A0F27991801220A701649103559180F70154959180E801449591808708521890059180D60842100208900591808808621890059180A708722802192009A1809021160882292009B180122122152421A802000CA +:0001370100FEF764FEF8BDC046300B00200D0200000E020000120200000F020000F0B585B00400FEF76BFB0300A2331B780500002B00D197E00600A4363368002B00D191E033689B0507D5030084331B78052B02D12000FEF7A1FE31001120FEF73BFC0700012801D0062840D1FEF79CFA0290200000F062FC0021202300910A000600FFF7A5FB00280CD02B0066331A78012320215A401340F2705A0133798B43134333713378002B0CD12B0066331A78F3789A4206D10298FEF77AFA2000FFF797F951E092239B00634303930398274B4322C0583100FBF797FD0298FEF768FA224B039A0C21D2582000FEF7FBFC2000FEF706FB002F03D12000FEF731FE2AE0012F1ED174 +:0001380100A23003780C3B032B03D82000FEF744FE1FE0922300269B006343134A2000D318124A30219B181E70FEF75EFC31002000FEF79EFD0F212000FEF7C8FD09E0092F07D1A2300378112B03D000212000FEF78FFDA2352B78064A9B00D3185B6939002000984705B0F0BD300B00200B020000B4B90000F0B50B7889B00293AE235B0043430E004F490792CA18039010000025FC3085650298022800D991E05132FF321278012A00D18BE003244443E318CC18A379454FDBB2059363792A000693802300979B0129003000FFF700FB0497A84200D0A571AE24039964006143394D72796B1812074533520FFF331A7003230298D7B25843411869188879002802D0497914 +:0001390100B9425DD0029930004B4303994C4301211B19EB185A7100229971049B110000932023FFF7D3FA002805D02C194834FF342378012B44D0029B013B012B1AD9AE24039D640065431F4F6A467D192B00127A4633FF331A70049B00220093802311009B013000FFF7B2FAFC350223002816D1402314E0049B002200930721134B3000FFF7A4FA00281BD10F4B0122009307210F4B3000FFF79AFA0028D0D010E0AB65079B002B0CD1029A03335343039A54431C196B461B7D3F19BB716B461B7E7B7109B0F0BD7C0D0020FFFF0000F7FFFEFFFF7FFFFF10B504000220002C08D1002906D0044B200019600349FBF741FC200010BDC0467C0D00205587000003000220BD +:00013A0100002B04D1482218000149FF328B5470477C0D002010B504000220002C03D12000FBF7F4FB200010BD02000220002A09D10323594346230448FF334118C25410008A710A717047C0467C0D002070B504000225002817D10100FFF7E6FF01212000FFF7E2FF29002000FFF7DEFF074B25001A00FC329465AC2252009C54083A9C544822FF329C54280070BDC0467C0D002002000220002A05D1032310005943024B59188A717047C0467C0D0020AE235B004343F7B5174C1F00E3181A004832FF32019111780500012922D14933FF331E780023033113700522FDF7FCFE032E08D8032307217343DB19E3181A7901320A401A71AE235B006B431F00E3184E33FF331E +:00013B01001E702800FBF712FAE359019928009847F7BDC0467C0D002010B50400FEF76EF9A4300268094B1A4205D020001021FFF7BDFF012009E0AE2040006043044B1818FC30806D431E9841C0B210BD43C000007C0D0020F8B50400082900D9D9E0080002F0CEFC050C1A1F27404565C3002000FBF744FB674B0F22052154E020000521FDF7DCFE2000FFF7C7FF002800D0C0E02000FBF751FABCE02000FBF72FFB202103E02000FBF72AFB08212000FFF77EFFAFE0AE235B0063435749CA184932FF321578052D0BD107212000FDF769FE002800D19EE029002000FBF78CF999E05B58102194E007212000FDF7A8FEDCE72000FBF704FBAE235B006343474A0421D318B6 +:00013C010001225933FF331A7020000432FDF762FE2000FBF765F9002201002000FFF72AFE032206213B4B2000FDF7ACFE71E006212000FDF783FEAE235B006343364DEB185933FF331B78002B07D02000FBF748F9012201002000FFF70DFEAE235B006343EB181A004832FF321278012A16D11A004932FF321278022A10D8FC339B6D002B04D010212000FFF711FF07E02000FFF743FF002802D12000FBF7CEF9AE277F006743EE1933005933FF331B78002B13D0FC36B36D002B0FD02000FBF711F93B00383301004322E818FBF71CFBEB59B16D200098470023B365AE235B005C4300232D195935FF352B7013E010212000FFF7DDFEAE235B00634307490020CA18150023 +:00013D01005B5801215932FC35FF32A865107020009847F8BD1D8900007C0D002010B50400081F03282FD802F0EBFB022A1E15AE235B006343144AD3184833FF331B78012B21D12000FFF7E8FE00281CD12000FBF773F918E0AE235B0063430B4A08219B58200098470FE0AE235B006343064AD318190000225931FF31FC330A709A6520212000FFF793FE10BD7C0D0020F0B589B00400FEF733F8AE2252006243414903278A1813004933FF3347321D78FF3207331B78167804930597012E02D10026167005960026B54208D102006732167866303702067872013E001643AE220320520062436843049B801808180779180340237F02074388184F30FF3000781843074351 +:00013E01000020049B37439B000793264BBC469F18079B984209D03B6986181B5804300693204B9E19069B7361F2E7AE22520062438E18310063460022143173632000029101920093059A049B2900FBF7A5F9FDF729FF330001224833FF3307001A702000FFF75AFE002818D133004633FF331B78013B012B04D94E36FF363378062B09D1013D012D06D8084B022204212000FDF779FD02E02000FBF7CFF83800FDF706FF09B0F0BD7C0D00201D890000F7B5050008A8068809A8077801930220002D20D14820104CFF30205C844663460F20012B17D03A30FF302154A72149006254072250210A9B3A40FF3162542361A5226B4652001B79A65202322800A354FFF746FF35 +:00013F01002800FEBD7C0D00201FB500236C46029301932380FFF7CAFF04B010BD30B51C0085B0019400236C46089D02952380FFF7BDFF05B030BD0000F8B504000220002C2ED1FDF7AFFE052106002000FDF7F6FC04212000FDF7F2FC07212000FDF7EEFC2000FAF7E3FF0F4D48272B00FF37FC33EC559C65AC235B003000EC54FDF796FEA42305265B00EE540721074B14222000FDF7F8FC01233100EB552000FAF7AAFFF8BDC0467C0D00201D890000F7B505000220002D1BD148260D4CFF36A35D0D30012B14D0A42306275B00E754FDF76AFE01230190A3552800FFF79EFD002802D13900FAF787FF0198FDF760FE0020FEBD7C0D002010B5FBF713FB10BD10B5FAF758 +:0001400100AFFF10BD0223002805D101214F33034AFF33D154030018007047C0467C0D002003000220002B04D1A8221800014952008B5470477C0D0020AE235B005843024B383018187047C0467C0D00200A235843024B1818002343727047C046D80E00207047F8B506000F00FDF7C8FE020086321378012B0AD10025C830036804001570AB4203D03900300098472560F8BD10B51021FEF73DF810BD10B50400142909D10C31FEF735F80A206043054B18180023037104E0152902D12B31FEF729F810BDD80E002010B50400FDF798FE0200094B923213802B3A1278002A00D0064B020090308E3213800F21038012222000FDF7F1FB10BD0404000002020000F0B587B07C +:000141010005AF060039800092FDF778FE0A237343009C294A0F3CE4B2D3181B19029300230500029A3000D3713F5DFAF7C7FE2B008E33049300283CD12C19230022008E3303931B7890320192BB4208D1137000993000FDF7F3FB0123029AD37128E0019B1B78BB421AD02B00713319788C2201290DD1290074310978032908D81B78813A012B04D167352B78012B00D1083A009930009034FDF76AFC277009E000993000FDF77EFB002803D1019B039A1B781370049B188807B0F0BDD80E002070B504000D00FDF71BFE030001226E3383301A70142105702000FDF7B1FB20002021FDF7CDFF02212000FDF793FF70BD70B505000E00032920D1FDF701FE030080228E3351 +:00014201001B8804005200934233D004D8002B19D0012B0FD00DE00222FF32934206D00132934206D1023A0023FF3A24E0300005210AE0002300221EE001291FD12121FDF7C1FF1BE00420010000231A0026006F3632700126724026007036327022007432107013712800FFF7A9FF00236E34237004E001231A0001200621E7E770BD0000F7B504000191FDF7B9FD030005000198C0331E680138593B1F78052800D9CBE002F02EF90396CA5041202B0073331F7023212000FDF786FF2B0001227D331A700D3B19782000FAF733FDFDF763FD002808D0FDF75FFD594B020015212000FDF751FBA9E0012F00D0A6E02B0078331B78012B04D1703529782000736998472000D4 +:00014301004F49736898472000F3684E4998474B4BFA2220001421FDF735FB0A2301225C43494BE25488E00A236343474A9B5C012B16D1AB7C0321012B00D101212000FFF73DFF79E014212000FDF7F8FA20212000FDF714FF0A2363433B4A9F5C012F08D020000321FFF72AFF03212000FDF72AFF62E01422324952422000336A98470028DBD0336A14222E49200098470028D4D12000FDF733FD0300050072331F7002212000FDF70FFFAB7B012B0ED16F35297820004B1E9941C9B2FAF782FC2000FAF71FFD2000FEF776FB36E077352F7033E000212000B369984701212000B36998472B0000270122B4331F6072354A3B1F701A712F700A2520006543FEF76EFB134A41 +:000144010013212000FDF732FB0F4B1421EF542000FDF794FA30212000FDF7B0FE074B142101222000FDF7AEFA074B09495D19012320006B7233699847F7BDC046998C0000881300008F8C0000D80E0020D50200004D8C000010B50400FBF7F6F82000FAF707FD10BD70B50500FDF7C8FC04002800FBF7B8F8230001226E3328001A70FEF72CFB2300032283331A700223A834280023601B21FDF796FE70BD70B504000D00FDF7ACFC030067331E78012E16D124331D701A3B1978C9B2002906D12A002000FAF748FC2A00310002E02A006F3001782000FAF73FFC3220FCF7A6F970BD70B505000E00FDF78AFC0400012E1FD1030072331E705E7102331B78042B0DD10300D5 +:00014501008B331B78002B03D000212800FFF7C5FF703421782800FAF70BFC28000221FDF751FE142213212800FDF7A0FA0FE0022E0DD102000023723277341370032128002370FDF73FFE03212800FFF737FE70BDF8B5050017000C00FDF750FC030006008B331F703A0028002100FAF7F3FB210028003419FAF7B4FB220002238E32903413702370F8BD0000F8B50400012938D1FDF734FC0A2262431D4B05009A18527A1E00002A05D10300C0331B6820009B6A98470A2363432A00F318002601275E709A325E71134B16703100320020001F55FFF7BEFF320039002000FFF7B9FFC820FCF722F92B0067331F70013B1F702000FFF768FD2B0072356E331E70DE702E70B9 +:000146010004E0052902D10239FFF7D8FDF8BDC046D80E00207410002070B50D000400FDF7EDFB290082782000FFF792FF70BD70B504000D000220002C07D12000FAF778FB20002900FAF74CFB200070BD70B50500FDF7D4FB03000400C03328001E68FEF73CFA28000021FFF7E2FF01212800FFF7DEFF2800FAF750FB28003369002198472800B36900219847B369280001219847280018220F21FDF71DF92200002383321370253213600E3A1370283A1370013A13706E340133237070BD0000F8B504000E00FDF79BFB0500012E1BD10300C0331F680A236343274AD3189B78002B06D102007232137031002000FDF76BFD01236E352B703B692049200098471F4B204ADA +:0001470100142128E0331F012B29D82000FFF79EFF0A236343174AD3189A78012A15D100229A702B00A1331B78934202D12000FAF781FB01212000FFF794FC1A212000FDF741FD002387352B7012E001233222152183352B70094B2000FDF714F908E0062E06D120000121FFF77CFC2000FFF77AFEF8BDC046D80E00208F8C0000998C00007102000010B50400FAF754FB2000FFF75DFF00212000FFF764FC10BDF0B587B00400FDF72BFB01902000FDF727FB03006E331B780500DBB2009303007A331B78012B74D00300C0331F683D3B1B78029303006F331B7820000393FAF747FE2B008C331880029B061C032B09D0011C0F222000FFF783FC1022311C2000FFF77EFC0D +:0001480100F2B21300012A08D03204120E1300012A03D0B6B273427341DBB229002E008E31098805AA11807136317800292DD1009900293CD1029903291DD1002B37D0C8213B6A009A89002000984700282FD100992000FFF7E1FE20000121FFF7DDFE20000221FFF7ABFC6B461B786E352B702000FFF728FC1BE01188C8B201285DD0080A01285AD0002958D0A2E0009B002B0ED1039BD35C022B0AD16B461B78042120003370FDF735FC15212000FDF747F801990820A831FDF78EFB0100072800D9A1E02AD12000FDF79AFA0600FDF7EBF933008A331B780500042B1AD8180001F010FE0303030E1400484A2000D15CB170FFF7D4FD01212000FFF7B4FB09E00A236343A6 +:0001490100424AD31801229A7001212000FDF700FC2800FDF7CBF975E0002804D101312000FFF74CFC6EE0019B374A83331B7820009B00D3185B68984764E02B00903312881B889A42B3D1C8210022890020003B6A9847002816D1BB6A2000984712212000FCF7ECFF012333702B00A1331B78002B03D0062383352B7099E708212000FDF7C7FB94E70A256543204B5D196B79002B0AD101336B7120007B6A9847322212212000FDF763F882E712212000FCF778FF002800D07BE7BB6A200098476978002900D074E72000FDF7FDFB01236B706EE7002B00D06BE72000FDF710FA83300378022B04D103212000FFF7E8FB05E014212000FCF755FF0028F4D022212000FDF7A8 +:00014A0100E1FB54E707B0F0BD14BA0000D80E002070B504000E0015000021AC2202F088F82300A834A4331E60256070BDF0B50C00050089B005A8039200F095FD21006A6805A800F055FE041E1BD12E000836310005A800F0F3FF002811DA2A0005A900941432330008006F6801F0D4FB041E08D13A00039905A800F072FE040001E00424644205A800F07EFD0020844201D0024BE01809B0F0BDC04680BDFFFFF0B5C9B046684EAB1D783300103BF02B01D9474889E008AC22005199FFF7B8FF2378002B01D043487FE01A2302AA9B1804936378012BF6D1731EE31804980278002A06D09842EED2FF2AECD101300490F4E701304F9B041B0490341B9C4209D1002D07D1AF +:00014B01001A00509901F0FCFF00285BD031485AE0280001F08BFC0028C9D001F095FC049B07001E1903AA3023310004A800F0E5FA0028EBD1039B02339C42E7D1302303AA310004A800F0D9FA0028DFD1039B0633DB199C42DAD1062306AA310004A800F0CCFA0028D2D1049B069A07939B18049302ABDC1C210005A8019201F0A1FC0028C4D12378AB42C1D1052303AA310004A800F0B3FA0028B9D1042303AA310004A800F0ABFA0028B1D1039B9F42AED1049C3A005099200001F0A3FF0028A6D1E719BE42A3D1002049B0F0BDC04680BFFFFF00BFFFFF80BCFFFFF0B589B0079200220EAB80CB1D4C1D880590069120001100FFF70EFF1A4EAA08D2B23900300000F0FA +:00014C0100BAFC79190122174800F0B5FC300000F045FD154D07302B78C0086060002B09D1124F380000F09FFC3900300001F0E8FA01232B70079B20000393059B0293069B01930623009300231A001900FFF726FF43425841C0B209B0F0BDC046841000208C10002098100020E20E00207810002010B56C22002101F05BFF10BD002807D0030000226C33984202D002700130FAE7704710B56C2201F042FF10BD00230360436099420FD1114B8360114BC360114B0361114B4361114B8361114BC361114B0362114B0EE0114B8360114BC360114B0361114B4361114B8361114BC361114B0362114B436281667047C04667E6096A85AE67BB72F36E3C3AF54FA57F520E5152 +:00014D01008C68059BABD9831F19CDE05BD89E05C107D57C3617DD703039590EF7310BC0FF11155868A78FF964A44FFABE0023F0B5D1B00790079AD21892680092009808AA98500433202BF5D120220F9B524206930E9B0C9C01930D9B089802930B9B05930A9B0393099B9C4608ABD21800230093009B0F2B0BD80D784B782D061B041D43CB781D438B781B022B4313641BE0956B11262F005368F74104932E001323DE41AD0A7E406E40536A1568049F5D1907237519049EDF410B33DE41049B7E40DB085E40AE191664062325002600DD410533DE41192375402600DE41009B75409E002A4B0700F358166C04319B19ED18019E029B04325E40019B26405E40069BAD1995 +:00014E0100EB18059D06005D1904950225EE410B35EF4116257E400700EF417E406746039D07432F40654605403D437519ED18009B01330093019B0693039B0593009B402B08D063460393029B8446029428000193049C8DE7019B0D940F93049B08950C93029B09900E9363460A93039B0B930023079AD118886808AA8446D2580433009262448A60202BF3D151B0F0BD34BA0000F7B5050003683F2018409B180E0014002B609A4202D96B6801336B60002811D040273F1AA7421CD82B002833310018183A00019301F02BFE01992800FFF72EFFF619E41B2700E11B71183F2F04D92800FFF724FF403FF6E70020A3099B01F618E41A002C05D0283528182200310001F01A +:00014F01000EFEF7BD10B5002A01D0FFF7C1FF10BD73B504006E46006863680D00DA00430F13431A0E32701A0C72701A0AB2703F22C100F3700B0E33710B0C73710B0AB371F17102403823372A00D978239A1A32492000FFF7D7FF082269462000FFF798FFA3681B0E2B70A3681B0C6B70A3681B0AAB70237AEB70E3681B0E2B71E3681B0C6B71E3681B0AAB71237BEB7123691B0E2B7223691B0C6B7223691B0AAB72237CEB7263691B0E2B7363691B0C6B7363691B0AAB73237DEB73A3691B0E2B74A3691B0C6B74A3691B0AAB74237EEB74E3691B0E2B75E3691B0C6B75E3691B0AAB75237FEB75236A1B0E2B76236A1B0C6B76236A1B0AAB76236AEB76A36E002B0AD1F2 +:0001500100636A1B0E2B77636A1B0C6B77636A1B0AAB77636AEB7773BD34BB0000F0B51F000E00050014009DB001A8FFF721FE390001A8FFF733FE3200290001A8FFF762FF210001A8FFF764FF01A8FFF717FE1DB0F0BD70B503680400CD1A002D01DC602049E01E7870B2002804DB581C20601B78136038E07F203040013803283AD801F03FFA02091421012DE9D05B7813602368023327E0022DE2DD5D7898782D022B0003431360236803331CE0032DD7DD587805049878DB780002284318431060236804330FE0042DCADD587805069878000428431D790543D8782B0000020343136023680533236023680020C91A13688B4202D9B4E76420404270BD70B504680D1BE1 +:0001510100002D07DD25789D4206D101340460FFF7A0FF03E0602000E06220404270BD0023F0B516001C00844211D035689D42BF41ED1A3560A300CB587F429C469D429B415B42DB196746ED1B20C60134EBE7A4001219002B06D01168C81A99429B4101C25B42F6E7F0BDF0B50E001500002487B003900491059201930290029B0F2B00D825E100233068019A190001F063FB2B682018A042A441C01898429B41644267185B42DF19002328607068019A190001F051FB3818B8429B415F426B687F18C01898429B415B42DC1900236860B068019A190001F03FFB2018A0429B415C42AB686418C01898429B415B421F190023A860F068019A190001F02DFB3818B8429B41D3 +:00015201005F42EB687F18C01898429B415B42DC190023E8603069019A190001F01BFB2018A0429B415C422B696418C01898429B415B421F19002328617069019A190001F009FB3818B8429B415F426B697F18C01898429B415B42DC1900236861B069019A190001F0F7FA2018A0429B415C42AB696418C01898429B415B421F190023A861019AF069190001F0E5FA3818B8429B415F42EB697F18C01898429B415B42DC190023E8611900306A019A01F0D3FA2018A0429B415C422B6A6418C01898429B415B421F1900232862706A019A190001F0C1FA3818B8429B415F426B6A7F18C01898429B415B42DC1900236862B06A019A190001F0AFFA2018A0429B415C42AB6A06 +:00015301006418C01898429B415B421F190023A862F06A019A190001F09DFA3818B8429B415F42EB6A7F18C01898429B415B42DC190023E862306B019A190001F08BFA2018A0429B415C422B6B6418C01898429B415B421F1900232863706B019A190001F079FA3818B8429B415F426B6B7F18C01898429B415B42DC1900236863B06B019A190001F067FA2018A0429B415C42AB6B6418C01898429B415B421F190023A863F06B019A190001F055FA3818B8429B415F42EB6B7F18C01898429B415B42E863DC19029B4036103B02934035D5E6039B1F093D015D1B049BBF01DE19059BDF19072D00D88FE000233068019A190001F031FA2018A0429B415C423B686418C018B4 +:000154010098429B415B421C19002338607068019A190001F01FFA2018A0429B415C427B686418C01898429B415B421C1900237860B068019A190001F00DFA2018A0429B415C42BB686418C01898429B415B421C190023B860F068019A190001F0FBF92018A0429B415C42FB686418C01898429B415B421C190023F8603069019A190001F0E9F92018A0429B415C423B696418C01898429B415B421C19002338617069019A190001F0D7F92018A0429B415C427B696418C01898429B415B421C1900237861019AB069190001F0C5F92018A0429B415C42BB696418C01898429B415B421C190023B861019AF069190001F0B3F92018A0429B415C42FB696418C01898429B412C +:00015501005B421C19F861EB08DA00AA1A5D017B191F007519160003920293002E13D0002301CD1900019A01F095F92018A0429B415C423B686418C01898429B415B421C1901C7013EE9E7039B029A9B00D3181A68A218A242894104C34942944201D90C00F5E707B0F0BD002804D0012303600023436083607047002803D00123426003608160704710B5041E11D08368002B09D000214268013A02D319600433FAE7A06801F0A4FA0123236000236360A36010BD164BF7B505000F00994202D91024644221E043680024009399421CD90421380001F056FA0190A042F0D0AE68A6420ED0009B31009A0001F09AFA009B5A1E009202D334600436F8E7A86801F077FA002408 +:0001560100019B6F60AB602000FEBDC04610270000F8B505000E000027884223D08F68002F02D1FFF7AFFF1DE04B685A1E002A05D09300FB58002B01D1013AF7E73368541C2B6021002800FFF7B3FF071E0AD16B6801009A00A86801F06BFAA868A200B16801F05DFA3800F8BD70B50C0001210500FFF79EFF061E0ED16B6801009A00A86801F056FAE117AB6862184A401A600123E4171C432C60300070BD000010B50400406800281AD00E4B421EC3189B00A168002A05D0C858043B002801D1013AF6E79300C858802100230906014203D101334908202BF9D152012032D01A10BDC046FFFFFF3F10B5FFF7D9FF0730C00810BDF7B50600150000240191AC4203D0019B85 +:00015701001B5D002B0CD003212B1B19404A1E91419B08C9183000FFF74BFF00281ED101E00134EAE701003000FFF79EFF2900002814D16B1AA14211D9B7689A089200BA18019F01397F5CDB00BC4618273B4067469F403B0017683B431360EAE7FEBDF8B505000E001700FFF7BDFF0400B84218D83A000021300001F0DBF9182322009C463F1BA31A013A0AD361469808DB000B40A96880004058F119D8408854F1E7002001E008204042F8BDF7B51F2604000F004D090E40FFF772FF63683F185B019F4202D8002D0FD10BE01F2139404B1E99417F09C9192000FFF7EBFE0028F1D036E0002E1BD118E06368194AA9009A1892004942AB4206D9A068013B87187F588750FF +:0001580100043AF6E7124A9B1800229B00191DE7D0A168CA50043BF9E7002018E0202100208A1BAB00019262689542F5D2A2680135D21817683900B1401160A268D21811680433084310603800019AD040EBE7FEBDFFFFFF3F1F23F7B54A09194043689A4202D805D1002915D00021FFF7FDFE3BE00023002A02D100291BD118E04468A41AA3420AD285689C18A40066599C0066510133F3E7002A0AD00B0000249A004568AB42E8D285680133AC500432F7E700201AE02025002642680C4B6C1AD3189B000194002AF3D08468013AE41827683D00CD4025608468E4182568043B2E4326603E00019CA640ECE7FEBDC046FFFFFF3F30B5050043681C4A9A189200002B06D051 +:0001590100A8688058043A002801D1013BF6E74A6815481418A400002A06D088680059043C002801D1013AF6E71C0000201443844219D00130934216D813D30B4A9A189200002B0AD0A868845888688058844206D8043A844205D3013BF2E7180003E0012001E00120404230BDFFFFFF3FF0B5150089B007930E9B07005A686B68059101339A4256D30E9B9868002852D09200002101F0CEF80E9B9B6804936B680093059B009A5B680193934200D901920026009B049C01339B000393009BB8689E4220D0B300C35801980293059B029A996801360B68534322689B18079A5A43029B06922200FFF7C0FB2200069BA9680098FFF7BAFB0434029A231F1A600023039AA35006 +:00015A0100DAE7039B039A191F049B591801F087F829003800FFF76CFF002802DBBA68A96802E00E9BB9689A683000FFF778FB002001E00420404209B0F0BD000070B5244A43689A189200002B06D08468A458043A002C01D1013BF6E74C681D4AA2189200002C06D08D68AD58043A002D01D1013CF6E71D0000222543954226D0A34201D9026822E00D686A42A3421ED30268002A01DD002D15DB002D01DD002A13DB0C4C1C19A400002B0AD085682E598D682D59AE420AD8043CAE4206D3013BF2E71A0003E0012201E001225242100070BDC046FFFFFF3F1FB5CA178B18534000930123C917194302936B46019101A90393FFF7A5FF05B000BD0000F7B5050014009042FB +:00015B010006D0884205D0FFF783FD071E01D04FE00C0001232B606668264BF3189B00002E06D0A268D258043B002A01D1013EF6E731002800FFF73CFD071E39D1A36839000093AB683C0018000193B14210D0009A8B00D35801319C460368E318A342A441634408C063459B4162425C42A418ECE7019AB3000093D218002C19D0731C01936B689E4208D301992800FFF711FD00280DD1AB68009A9A181368019EE318A342A44108C2009B644204330093E4E707003800FEBDFFFFFF3FF0B50F0085B00600110038001500FFF793FE00282FDB01230193002302930393B54206D1290001A8FFF716FD041E1DD101ADB74206D1012333606868104BC3189B000CE0390030004F +:00015C0100FFF706FD041E0DD1F1E7AA68D258043B002A02D101380028F7D1B268A968FFF77EFA002401A8FFF7ADFC200001E00A20404205B0F0BDC046FFFFFF3FF8B50D68136804006B430E001700002B14DA11003000FFF74DFE002805DB3A0031002000FFF7AAFF0AE0320039002000FFF7A4FF6D42002804D004E0FFF73EFF002800D12560F8BDF8B50D68136804006B430E001700002B14DD11003000FFF729FE002805DB3A0031002000FFF786FF0AE0320039002000FFF780FF6D42002804D004E0FFF71AFF002800D12560F8BDF0B50023160001228BB005000F00049205930693079208930993884206D1010004A8FFF78FFC041E55D104AFB54206D1290007A888 +:00015D0100FFF786FC041E4CD107AE7B68294A02939B189B00029A002A08D0BA68D258043B002A03D1029A013A0292F3E77368214A01939B189B00019A002A08D0B268D258043B002A03D1019A013A0192F3E7029B019A28009918FFF72BFC041E21D101002800FFF781FC041E1BD1019B114A9B189B000393019B002B0FD0AB68039A03999A18B36802985B58B968FFF7ECF9019B013B0193039B043BEBE73A68336853432B6007A8FFF7EEFB04A8FFF7EBFB20000BB0F0BDFFFFFF3F1FB50123019302936B46009201AA0393FFF780FF05B000BDF0B507009BB00E001800002103920193FFF778FE002800D1D0E101250023290008A8089509930A930B950C930D9311955F +:00015E0100129313931495159316931795189319930E950F931093FFF727FC041E00D0B0E1802108A84901FFF7BFFC041E00D0A8E184210EA8FFF7BCFB041E00D0A1E101990BA8FFF7E5FB041E00D09AE10EA80B950895FFF797FB0BA8FFF720FC1F2318400790079A1E2A11D8079A08A89B1A07930799FFF799FC041E00D082E107990BA8FFF792FC041E00D07BE100E00794099B0BA8013B05930C9B0293013B0693059B0699591A4901FFF77FFC0400051E00D067E10BA908A8FFF7C1FD002808DB08A90BAA0800FFF7DEFE0135041EF1D058E1059B06990BA8591A4901FFF7BBFC041E00D04EE10BA90EA8FFF792FB041E00D047E10BA8FFF746FB412111A8FFF758FB8F +:00015F0100041E00D03DE1010011A8FFF7ADFB041E00D036E1812114A8FFF74AFB041E00D02FE1032117A8FFF743FB041E00D028E1059B069A9B1A139A9B009D50059B0493049A069B9A4200D8E8E0049806990A9B109A80008900C058895888420AD3049B8C49069A5B1801219B1A139A9B004942995020E0049D874806992D186D1A1399AD0049190291834D04990498890040198000C958C058069B9B009A58002A06D0914204D2002300F035FC002901D001204042029B1860049B7649069A5B189B1A139A9B00D3181A6801321A60049B7149069A5B189B1A139A9B00D3181A680021013A1A6014A8FFF73FFB002800D0C5E0069B169A002B05D06649069B5B18109904 +:00016001009B0058581060069B10999B005B58169A60495360049B069A5B189B1A139A14A99B0008009A58FFF7C7FE011E00D0A7E017A8FFF719FB002800D09FE0049B199A012B05D95449049B5B180A999B005858002304991060199A994205D04D49049B5B180A999B005B585360049B0A999B005B58199A0291936017A914A8FFF7DEFC0028A3DC049B4349069A5B189B1A139A9B0002920EA99A5814A8FFF78DFE00286CD104993D4A069B8918C91A490114A8FFF77AFB002861D108A9080014AAFFF7E1FD011E5CD108A8FFF704FD002822DA0EA914A8FFF79CFA00284FD104992F4A069B8918C91A490114A8FFF75DFB002844D108A914AA0800FFF7A0FD00283DD1F1 +:0001610100049B2449069A5B189B1A139A9B00D3181A68013A1A60049B013B10E7002F0BD011A93800FFF774FA002827D1039B1A68019B1B6853433B600EA8FFF723FA11A8FFF720FA14A8FFF71DFA17A8FFF71AFA002E16D0079908A8FFF77CFB00280DD1012508A930000895FFF752FA011E07D13000FFF7AFFC002803D13560040000E00C0008A8FFF7FEF9200001E00C2040421BB0F0BDFFFFFF3FFEFFFF3FFFFFFF0770B504000E00100000211500FFF792FC002822DB2B00320021000020FFF708FE00281CD100212000FFF784FC00280CDA2A0021002000FFF731FDF1E72A0021002000FFF74FFD002809D129002000FFF725FC0028F2DA002001E00A20404270BD56 +:000162010010B502000800FFF7CBFF002800D1013010BD0000F0B5A1B002900E001800002107921F00FFF756FC002800DAF7E0BB681C68E30700D4F2E000210798FFF74AFC002800DAEBE008220321A31C5B0013401D19063A2B0063430139D31A5D430029F8D10123302214A80B930C910D910E930F91109100F05CFC7B680298013319000393FFF795F9041E00D0BAE0039917A8FFF78EF9041E00D0B3E0039B0BA85900FFF786F9041E00D0ABE033680693013309D131000EA8FFF7ABF9041E00D0A0E001230EAE0E93269B002B0AD09B68564803930C222699002B01D10100269800F01EFC39003000FFF7A9FB002814DB3A00310017A8FFF754FF041E00D081E06B4222 +:0001630100494D0BAE00963A00290017A80393FFF72DFB041E75D104E0310017A8FFF778F9EAE729000298FFF773F9041E69D101250AAB13930096039B3A0011A902980A9511951295FFF712FB041E5AD1079B04905B6809950593049B002B06D1059B002B33D0013B059320230493049B013B0493079B9B680893059B089A9B009E58049BDE40099B1E402300334301D11C00E2E702990BAD0095039B3A000800002E07D1012C05D1FFF7E2FA041E2AD10124D2E7FFF7DCFA041E24D10C21714314AB59180095039B3A000298ECE701230A93119312930AAB13930BAB00933A00039B11A90298FFF7C3FA041E0BD1069B013308D1029B069A39001A6018001A00FFF71EFCB5 +:0001640100040017A8FFF7BEF817A8FFF7BBF80BA8FFF7B8F80EA8FFF7B5F8200001E00420404221B0F0BDC04678100020044B052803D0044B062800D0002318007047C046A4BB000074BB0000002801D08068C0B2704710B5FEF76AFC10BD10B5FEF719FC10BD10B50400FEF709FC200000F03EFB10BD10B56C21012000F002FB041E01D0FEF7F6FB200010BD10B50123FEF7C6FD10BD10B50023FEF7C1FD10BD10B5FEF737FD10BD10B5FEF72DFD10BD10B50121FEF7F4FB10BD10B50021FEF7EFFB10BD70B505000E00002811D00C4C2034206800280AD062686B689A4204D1A96800F00FFB002806D01434F1E72E3804E02E20404201E0237C337070BDC04664BC0000A0 +:000165010002B4714649084900095C49008E4402BC7047C04603B47146490840004900095A49008E4403BC7047002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B8B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01AF5 +:0001660100524183088B4201D38B00C01A524143088B4201D34B00C01A5241411A00D20146524110467047FFE701B5002000F0F0F802BDC0460029F7D076E7704703460B437FD4002243088B4274D303098B425FD3030A8B4244D3030B8B4228D3030C8B420DD3FF22090212BA030C8B4202D31212090265D0030B8B4219D300E0090AC30B8B4201D3CB03C01A5241830B8B4201D38B03C01A5241430B8B4201D34B03C01A5241030B8B4201D30B03C01A5241C30A8B4201D3CB02C01A5241830A8B4201D38B02C01A5241430A8B4201D34B02C01A5241030A8B4201D30B02C01A5241CDD2C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B0120 +:0001670100C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A524143088B4201D34B00C01A5241411A00D201465241104670475DE0CA0F00D04942031000D34042534000229C4603098B422DD3030A8B4212D3FC22890112BA030A8B420CD3890192118B4208D3890192118B4204D389013AD0921100E08909C3098B4201D3CB01C01A524183098B4201D38B01C01A524143098B4201D34B01C01A524103098B4201D30B01C01A5241C3088B4201D3CB00C01A524183088B4201D38B00C01A5241D9D243088B4201D34B00C01A5241411A00D20146634652415B10104601D34042002B00D54942704763465B1000D3404201B529 +:0001680100002000F005F802BD0029F8D016E770477047C046002B11D1002A0FD1002900D1002802D00021C943081C07B4024802A14018029003BDC046D9FFFFFF03B4684601B5029800F032F8019B9E4602B00CBC7047C046F0B54F464646C0B41604360C9946330005042C0C070C150C63437E436F4365431C0CAD1964199C46A64203D980235B02984647446346250CEF191D044B464A4343432D0C240464199918C91920000CBC90469946F0BDC046F0B54D46564644465F46F0B4924683B004000D0099468B422FD82CD04946504600F0AEF829000600200000F0A9F8331A9846203B9B4600D574E053465A4693401F005346424693401E00AF4229D826D05B46A41B76 +:0001690100BD41002B00DA79E0002200230092019301235A4693400193012342469340009319E08242D0D900220023009201930C9B002B01D01C605D600098019903B03CBC90469946A246AB46F0BDA342D6D900220023009201934346002BE8D0FB0772081A4346467B080EE0AB4201D1A2420CD8A41A9D41012024196D410021013E24184D41002E06D0AB42EED9013E24196D41002EF8D15B460098019900196941002B22DB2B005A46D3402A004446E2401C005B461500002B2CDB26009E40330026004746BE403200801A994100900191AEE7424620239B1A5246DA40414613004A468A4017001F4382E7424620239B1A2A0046469A402300F3401343D5E74246202353 +:00016A010000219B1A0022009101920122DA40019282E74246202326009B1ADE402F00B446974066463B003343C9E7C04610B5002903D100F007F8203002E0081C00F002F810BDC0461C2101231B04984201D3000C10391B0A984201D3000A08391B09984201D30009043902A2105C40187047C0460403020201010101000000000000000010B5034B0A000100186800F059F810BD14010020014B18687047C046140100200E4B70B500251E000D4CE41AA410A54204D0AB00F35898470135F8E700F086FB084B00251E00084CE41AA410A54204D0AB00F35898470135F8E770BDD8BD0000D8BD0000D8BD0000E0BD000010B5034B0100186800F032F810BDC04614010020B6 +:00016B010030B50024A24208D0035D651C0C5DA34201D0181B02E02C00F4E7002030BD002310B59A4203D0CC5CC4540133F9E710BD03008218934202D019700133FAE770474A4370B51100140000F054F8051E03D022000021FFF7ECFF280070BD70B50500002944D00C1F2368002B00DAE418280000F0B2F81E4A13681100002B02D16360146031E0A3420DD92268A018834203D118685B688218226063600C6024E0A24203D813005A68002AF9D11E689819A0420BD12168711858181960824214D110685268411819605A600EE0A04202D90C232B6009E021686018824203D1106852684118216062605C60280000F076F870BDE80E0020032370B5CD1C9D430835060010 +:00016C01000C2D01D20C2501E0002D01DBA94202D90C23336048E0300000F05EF8234B1C681A002100002913D00B685B1B0DD40B2B02D90B60CC181EE08C4202D1636813601AE04B6863600C0016E00C004968E9E7174C2368002B03D1300000F02BF820602900300000F026F8431C18D00323C41C9C43A0420DD12560300000F02EF8200007220B30231D9043C31A0ED05A42E2500BE0211A300000F00DF8431CEBD10C233000336000F019F8002070BDE80E0020E40E0020002370B5064C050008002360F7F788FF431C03D12368002B00D02B6070BDC046301100207047704700000000CCFBFF7F0100000000010203B52500009D230000B11D0000ED2700005127000025 +:00016D01008D240000151E000079230000B9280000C91D0000B51D00002124000041210000000000005124000091200000351E00002D4700004D480000AD4E0000054A0000B94600004D48000001FF000018E30800181B0300D8600300984F0300789A080093730E008C0F0E0000060000010600000407000000030507000005400000064000000740000008400000024000010240000202400003024000040240000004400001044000020440000304400004044000000A400010002000000000000000000000000000010000FD6D0000E179000029790000E1740000997800003F740000F77300006575000051700000FD7B000001750000D5720000817100002577000087 +:00016E0100417B000051760000D9700000E5810000457F000000010200618C0000BD920000ED8D000089910000DF900000DF900000818E0000982F8A4291443771CFFBC0B5A5DBB5E95BC25639F111F159A4823F92D55E1CAB98AA07D8015B8312BE853124C37D0C55745DBE72FEB1DE80A706DC9B74F19BC1C1699BE48647BEEFC69DC10FCCA10C246F2CE92DAA84744ADCA9B05CDA88F97652513E986DC631A8C82703B0C77F59BFF30BE0C64791A7D55163CA0667292914850AB72738211B2EFC6D2C4D130D385354730A65BB0A6A762EC9C281852C7292A1E8BFA24B661AA8708B4BC2A3516CC719E892D1240699D685350EF470A06A1016C1A419086C371E4C774827C2 +:00016F0100B5BCB034B30C1C394AAAD84E4FCA9C5BF36F2E68EE828F746F63A5781478C8840802C78CFAFFBE90EB6C50A4F7A3F9BEF27871C68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000D4BB00002000000040000000B7B00000A5B000009DB0000093B0000073B0000063B000005BB0000053B0000005000000DBBB00001C00000040000000ADB00000A5B000009DB0000089B0000073B0000063B000005BB0000053B00000534841323536005348413232340000004EBD00000900000058BD000070BD00000501000081BD000009000000E1 +:00017001008BBD0000A3BD000006010000B4BD000009000000BEBD0000BEBD0000000600000000000000000000000000000000000000000000EEBC000009000000F8BC000006BD0000010000000ABD00000700000012BD000021BD00000200000030BD00000500000036BD00003EBD0000030000000000000000000000000000000000000000000000C6BC000009000000D0BC000079BD000005000000DABC000009000000E4BC0000ACBD000006000000000000000000000000000000000000000000000025642E2564006086480165030402040069642D736861323234006086480165030402010069642D736861323536002A864886F70D01010100727361456E637279F2 +:00017101007074696F6E00525341002A8648CE3D02010069642D65635075626C69634B65790047656E65726963204543206B6579002B8104010C0069642D65634448004543206B657920666F722045434448002A864886F70D01010E0073686132323457697468525341456E6372797074696F6E005253412077697468205348412D323234002A864886F70D01010B0073686132353657697468525341456E6372797074696F6E005253412077697468205348412D323536002A864886F70D01010A005253415353412D50535300430000F8B5C046F8BC08BC9E467047491D00007D540000F8B5C046F8BC08BC9E467047211D000000BE0000900000208800000020100000AD +:0001720100000000001300080000000020EE020B0000000020381100200001030000020002000200020000000000000000000000000000000000000000000000000000000000000000C9BD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B400002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067 +:000173010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015011D00001700000000A700000000000000000059435943020000000200000000000000000000000000000000000000000000000000000000000000000000005E +:000174010010B5044B83F30888034A044B1A6000F013FBC046002000206588EDAC3800034010B5064C2378002B07D1054B002B02D0044800E000BF0123237010BD08010020000000001C7B0100084B10B5002B03D00749084800E000BF07480368002B00D110BD064B002BFBD09847F9E7000000000C0100201C7B0100900000200000000010B50A4B01001A780E20002A0DD0084A073812888A4208D2064A914205D80902181DFF3A00F028FB002010BD2401002094000020FF010000F7B51E4B1E4AD15800920193CB0334D5012300251B4C23710C236B43E318997CC9B2FF291BD09A68013A9A609868002815D17C27FF22BC469A74134A9444674666463F787D32013FBC +:0001750100FFB237701778013FFFB21770DA68002A01D0DB68984701351F2DD9D100232371074B7D331B78DBB2002B02D1009A01995350F7BD10D00000001000E02402002024030020302230B51A4CC3B0A36A05009343203A1343A362F03202A800F0CCFA154B6A460093FF230193144B9A60144A5A60C046C046C0469968090F0A070A2910D110492D040D436946009599600E495960C046C046C0469B6800201B0F1B07934200D00C203022A36A9343A36243B030BDC04600000340B6D700000000104004000080B6D800000500008070B51D4B7E331B78002B2FD030241B4B9A6AA243203C22430C009A62184A083C2260FF2204390A60164A174994605160C046C0467F +:0001760100C04695682D0F29070A2D0FD1124D000428432060114894605060C046C046C04692680020120F12078A4200D00C2030219A6A8A439A6201E0FFF784FF002800D0052070BD2403002000000340B6D700000000104004000080B6D800000500008010B514490E230A78002A20D0124A073B548884421BD89488844202D2D288824215D10E4A0723904211D804D10B00FE3AE033FF3A06E0FF235B00984203D10B000022E0331A600431FFF790FF0300180010BDC0462401002094000020FF010000802210B50400C0B052000021684600F01CFA69462000FFF779FF40B010BD000010B500F0DDF903680C2B00D1FEE78023044A9B055A60044A044913689BB20B4305 +:00017701001360FEE70C3003C00CED00E00400FA05F7B501224B4C4C4D23684C4E9343236000234B489A002900032B00D8B15801338150222BF6D172B6FF22464B00271A60FF22454B12021A600322444B07261F60434B444D1A60444B21321A60434B64321A60434A434B1A60434A444B1A600C22434B1A60434A444B1A601222434B1A6000F087F901902B68414AB3432B60414B41491B78DBB21360404A1368B34313603F4B0A6818787F239A43034013430B60322000F065F905222B683220B34313432B6000F05DF906222B68B34313432B60019800F062F99E22BC21324BD2011A60314B324A89011A60314A11609021314A09011A60304A1160C021304A89001A6009 +:00017801002F4A1160E8212F4A49011A602E4A116080212E4A49001A602D4A11602D4A1A6003222D4B1F602D4B1A602D4B1F602D4B1A68BA4200D11A600122236813432360F7BDC04600001040E176010000C700000000002000000240000302400001024000000440080F034008000440000104404080C0000801044000081B0008020440000304403519140008030440300010400C0F03407DF3FF0F180F0340100F034064F3FF0F140201400000014005FF00801002014004FF00800802014002FF00800402014001FF00800C02014003FF00800002014000FF0080280003400C010140000101408800002001223E4BF0B55A6204329A62013ADA623B4A3C4B11680C24C0 +:00017901000B40C021C9030B431360394BFF211B68384B39481B68002385B022005A430133821891741F2BF8D1344E002533007C331D7033007D331D70314A324B32499D50324A9950324A334B1A6062B61823324C324A6380053B2380123B13703300304F7E3330481D70A780E78000F089F83800FFF7A6FEA7222C4B12025A639D63274B02960393284FBB6B0193019A274B9A4210D825892800FFF773FD668901353000FFF75EFE019B01360133FF3366812581BB63E7E72089FFF763FD1948FFF750FEFF204000FFF77CFE0023039A029E13707E36174A3370136816499BB20B431360FEE7C046FC00014000010240FFFF0FFFE80F00F0EC0F00F0240200202403002032 +:00017A010010D00000001000E07FBB000014D00000B97401003C0000209400002024010020FF01000000A60E00A4040020FFA600000CED00E00400FA05F8B500250E490F4B01394A1C14D000221F685C689E68A018B24203D0B858A0500432F8E70200DE68141AA64201D020C2FAE710330139E8E700F01CF8FFF738FF01000000487B01000230800803D00138FDD1C046C046C0467047EFF3108072B6704780F310887047014B18687047C046040100200E4B70B500251E000D4CE41AA410A54204D0AB00F35898470135F8E700F02CF8084B00251E00084CE41AA410A54204D0AB00F35898470135F8E770BD307B0100307B0100307B0100387B0100002310B59A4203D074 +:00017B0100CC5CC4540133F9E710BD03008218934202D019700133FAE7704700000000000043000000F8B5C046F8BC08BC9E4670474974010011770100F8B5C046F8BC08BC9E46704721740100587B01009000002078000000F0030000000000000002000200020002CC0018003200EE020000000000000000000000000000000000000000000000000000000000000000207B0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C0 +:0001FE01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007901740100C600000000B5000000000000000000FFFF594302000000000000000000000000000000000000000000000000000000000000000000000000000000FA +FWCTHٹ5FƪjQ2vn 1 O5ܟ +CזQC?Y^ +"pw t :Eb=d~^SCOT-x2*!50Wz]/*p[`֍*83X\`g`E1Գ?Q*KOY>(<; jQ}JBp#^'|8w»=M5Z8EWnZ6!}[ +?&K rKn,M܇^<Q +DB&LyQ\{ k;8Wm^ވ~֮.϶iEq6k ? +:¼\&A,2 tڒerf¯6"82_VMAȕD}36Ռxm8(#dR,"j;a"ے <=_ /lb?_2u휘ISNr(L\|0jSwOɛUq|#NJx̣۰(X \ No newline at end of file diff --git a/nvidia/tu116/acr/bl.bin b/nvidia/tu116/acr/bl.bin new file mode 100644 index 0000000..788100b Binary files /dev/null and b/nvidia/tu116/acr/bl.bin differ diff --git a/nvidia/tu116/acr/ucode_ahesasc.bin b/nvidia/tu116/acr/ucode_ahesasc.bin new file mode 100644 index 0000000..1c870e7 Binary files /dev/null and b/nvidia/tu116/acr/ucode_ahesasc.bin differ diff --git a/nvidia/tu116/acr/ucode_asb.bin b/nvidia/tu116/acr/ucode_asb.bin new file mode 100644 index 0000000..f596ecb Binary files /dev/null and b/nvidia/tu116/acr/ucode_asb.bin differ diff --git a/nvidia/tu116/acr/ucode_unload.bin b/nvidia/tu116/acr/ucode_unload.bin new file mode 100644 index 0000000..0c95ca7 Binary files /dev/null and b/nvidia/tu116/acr/ucode_unload.bin differ diff --git a/nvidia/tu116/acr/unload_bl.bin b/nvidia/tu116/acr/unload_bl.bin new file mode 100644 index 0000000..0cb7635 Binary files /dev/null and b/nvidia/tu116/acr/unload_bl.bin differ diff --git a/nvidia/tu116/gr/fecs_bl.bin b/nvidia/tu116/gr/fecs_bl.bin new file mode 100644 index 0000000..b2b9a25 Binary files /dev/null and b/nvidia/tu116/gr/fecs_bl.bin differ diff --git a/nvidia/tu116/gr/fecs_data.bin b/nvidia/tu116/gr/fecs_data.bin new file mode 100644 index 0000000..51d2c17 Binary files /dev/null and b/nvidia/tu116/gr/fecs_data.bin differ diff --git a/nvidia/tu116/gr/fecs_inst.bin b/nvidia/tu116/gr/fecs_inst.bin new file mode 100644 index 0000000..310f23c Binary files /dev/null and b/nvidia/tu116/gr/fecs_inst.bin differ diff --git a/nvidia/tu116/gr/fecs_sig.bin b/nvidia/tu116/gr/fecs_sig.bin new file mode 100644 index 0000000..a0af415 Binary files /dev/null and b/nvidia/tu116/gr/fecs_sig.bin differ diff --git a/nvidia/tu116/gr/gpccs_bl.bin b/nvidia/tu116/gr/gpccs_bl.bin new file mode 100644 index 0000000..e924af4 Binary files /dev/null and b/nvidia/tu116/gr/gpccs_bl.bin differ diff --git a/nvidia/tu116/gr/gpccs_data.bin b/nvidia/tu116/gr/gpccs_data.bin new file mode 100644 index 0000000..823b4f4 Binary files /dev/null and b/nvidia/tu116/gr/gpccs_data.bin differ diff --git a/nvidia/tu116/gr/gpccs_inst.bin b/nvidia/tu116/gr/gpccs_inst.bin new file mode 100644 index 0000000..b56da8f Binary files /dev/null and b/nvidia/tu116/gr/gpccs_inst.bin differ diff --git a/nvidia/tu116/gr/gpccs_sig.bin b/nvidia/tu116/gr/gpccs_sig.bin new file mode 100644 index 0000000..88221ab Binary files /dev/null and b/nvidia/tu116/gr/gpccs_sig.bin differ diff --git a/nvidia/tu116/gr/sw_bundle_init.bin b/nvidia/tu116/gr/sw_bundle_init.bin new file mode 100644 index 0000000..8f8ccd9 Binary files /dev/null and b/nvidia/tu116/gr/sw_bundle_init.bin differ diff --git a/nvidia/tu116/gr/sw_ctx.bin b/nvidia/tu116/gr/sw_ctx.bin new file mode 100644 index 0000000..cf297b9 Binary files /dev/null and b/nvidia/tu116/gr/sw_ctx.bin differ diff --git a/nvidia/tu116/gr/sw_method_init.bin b/nvidia/tu116/gr/sw_method_init.bin new file mode 100644 index 0000000..641c132 Binary files /dev/null and b/nvidia/tu116/gr/sw_method_init.bin differ diff --git a/nvidia/tu116/gr/sw_nonctx.bin b/nvidia/tu116/gr/sw_nonctx.bin new file mode 100644 index 0000000..69219c0 Binary files /dev/null and b/nvidia/tu116/gr/sw_nonctx.bin differ diff --git a/nvidia/tu116/gr/sw_veid_bundle_init.bin b/nvidia/tu116/gr/sw_veid_bundle_init.bin new file mode 100644 index 0000000..a8d59ef Binary files /dev/null and b/nvidia/tu116/gr/sw_veid_bundle_init.bin differ diff --git a/nvidia/tu116/nvdec/scrubber.bin b/nvidia/tu116/nvdec/scrubber.bin new file mode 100644 index 0000000..485b910 Binary files /dev/null and b/nvidia/tu116/nvdec/scrubber.bin differ diff --git a/nvidia/tu116/sec2/desc.bin b/nvidia/tu116/sec2/desc.bin new file mode 100644 index 0000000..61d7d4c Binary files /dev/null and b/nvidia/tu116/sec2/desc.bin differ diff --git a/nvidia/tu116/sec2/image.bin b/nvidia/tu116/sec2/image.bin new file mode 100644 index 0000000..5efca79 Binary files /dev/null and b/nvidia/tu116/sec2/image.bin differ diff --git a/nvidia/tu116/sec2/sig.bin b/nvidia/tu116/sec2/sig.bin new file mode 100644 index 0000000..ebe4dfc Binary files /dev/null and b/nvidia/tu116/sec2/sig.bin differ diff --git a/nvidia/tu117/gr/fecs_data.bin b/nvidia/tu117/gr/fecs_data.bin new file mode 100644 index 0000000..ec6b3a1 Binary files /dev/null and b/nvidia/tu117/gr/fecs_data.bin differ diff --git a/nvidia/tu117/gr/fecs_inst.bin b/nvidia/tu117/gr/fecs_inst.bin new file mode 100644 index 0000000..1d93764 Binary files /dev/null and b/nvidia/tu117/gr/fecs_inst.bin differ diff --git a/nvidia/tu117/gr/fecs_sig.bin b/nvidia/tu117/gr/fecs_sig.bin new file mode 100644 index 0000000..f16cffb Binary files /dev/null and b/nvidia/tu117/gr/fecs_sig.bin differ diff --git a/nvidia/tu117/gr/gpccs_data.bin b/nvidia/tu117/gr/gpccs_data.bin new file mode 100644 index 0000000..90e5710 Binary files /dev/null and b/nvidia/tu117/gr/gpccs_data.bin differ diff --git a/nvidia/tu117/gr/gpccs_inst.bin b/nvidia/tu117/gr/gpccs_inst.bin new file mode 100644 index 0000000..c1e5f6a Binary files /dev/null and b/nvidia/tu117/gr/gpccs_inst.bin differ diff --git a/nvidia/tu117/gr/gpccs_sig.bin b/nvidia/tu117/gr/gpccs_sig.bin new file mode 100644 index 0000000..66ac559 Binary files /dev/null and b/nvidia/tu117/gr/gpccs_sig.bin differ diff --git a/nvidia/tu117/gr/sw_bundle_init.bin b/nvidia/tu117/gr/sw_bundle_init.bin new file mode 100644 index 0000000..8f8ccd9 Binary files /dev/null and b/nvidia/tu117/gr/sw_bundle_init.bin differ diff --git a/nvidia/tu117/gr/sw_ctx.bin b/nvidia/tu117/gr/sw_ctx.bin new file mode 100644 index 0000000..cf297b9 Binary files /dev/null and b/nvidia/tu117/gr/sw_ctx.bin differ diff --git a/nvidia/tu117/gr/sw_method_init.bin b/nvidia/tu117/gr/sw_method_init.bin new file mode 100644 index 0000000..641c132 Binary files /dev/null and b/nvidia/tu117/gr/sw_method_init.bin differ diff --git a/nvidia/tu117/gr/sw_nonctx.bin b/nvidia/tu117/gr/sw_nonctx.bin new file mode 100644 index 0000000..69219c0 Binary files /dev/null and b/nvidia/tu117/gr/sw_nonctx.bin differ diff --git a/nvidia/tu117/gr/sw_veid_bundle_init.bin b/nvidia/tu117/gr/sw_veid_bundle_init.bin new file mode 100644 index 0000000..a8d59ef Binary files /dev/null and b/nvidia/tu117/gr/sw_veid_bundle_init.bin differ diff --git a/nxp/helper_uart_3000000.bin b/nxp/helper_uart_3000000.bin new file mode 100644 index 0000000..9b34d29 Binary files /dev/null and b/nxp/helper_uart_3000000.bin differ diff --git a/nxp/sr150_fw.bin b/nxp/sr150_fw.bin new file mode 100644 index 0000000..54501bd Binary files /dev/null and b/nxp/sr150_fw.bin differ diff --git a/nxp/uartiw416_bt_v0.bin b/nxp/uartiw416_bt_v0.bin new file mode 100644 index 0000000..eb2a3ff Binary files /dev/null and b/nxp/uartiw416_bt_v0.bin differ diff --git a/nxp/uartspi_n61x_v1.bin.se b/nxp/uartspi_n61x_v1.bin.se new file mode 100644 index 0000000..83d5511 Binary files /dev/null and b/nxp/uartspi_n61x_v1.bin.se differ diff --git a/nxp/uartuart8987_bt.bin b/nxp/uartuart8987_bt.bin new file mode 100644 index 0000000..8613533 Binary files /dev/null and b/nxp/uartuart8987_bt.bin differ diff --git a/nxp/uartuart8997_bt_v4.bin b/nxp/uartuart8997_bt_v4.bin new file mode 100644 index 0000000..0005710 Binary files /dev/null and b/nxp/uartuart8997_bt_v4.bin differ diff --git a/nxp/uartuart9098_bt_v1.bin b/nxp/uartuart9098_bt_v1.bin new file mode 100644 index 0000000..859c686 Binary files /dev/null and b/nxp/uartuart9098_bt_v1.bin differ diff --git a/phanfw.bin b/phanfw.bin new file mode 100644 index 0000000..1649473 Binary files /dev/null and b/phanfw.bin differ diff --git a/qat_4xxx.bin b/qat_4xxx.bin new file mode 100644 index 0000000..66dd803 Binary files /dev/null and b/qat_4xxx.bin differ diff --git a/qat_4xxx_mmp.bin b/qat_4xxx_mmp.bin new file mode 100644 index 0000000..7b7c560 Binary files /dev/null and b/qat_4xxx_mmp.bin differ diff --git a/qat_895xcc.bin b/qat_895xcc.bin new file mode 100644 index 0000000..ef9317b Binary files /dev/null and b/qat_895xcc.bin differ diff --git a/qat_895xcc_mmp.bin b/qat_895xcc_mmp.bin new file mode 100644 index 0000000..f2c0abe Binary files /dev/null and b/qat_895xcc_mmp.bin differ diff --git a/qat_c3xxx.bin b/qat_c3xxx.bin new file mode 100644 index 0000000..1f4d29d Binary files /dev/null and b/qat_c3xxx.bin differ diff --git a/qat_c3xxx_mmp.bin b/qat_c3xxx_mmp.bin new file mode 100644 index 0000000..0f1f811 Binary files /dev/null and b/qat_c3xxx_mmp.bin differ diff --git a/qat_c62x.bin b/qat_c62x.bin new file mode 100644 index 0000000..6e79de6 Binary files /dev/null and b/qat_c62x.bin differ diff --git a/qat_c62x_mmp.bin b/qat_c62x_mmp.bin new file mode 100644 index 0000000..3c334a5 Binary files /dev/null and b/qat_c62x_mmp.bin differ diff --git a/qca/NOTICE.txt b/qca/NOTICE.txt new file mode 100644 index 0000000..9313020 --- /dev/null +++ b/qca/NOTICE.txt @@ -0,0 +1,426 @@ + +This Notice.txt file contains certain notices of software components included +with the software that Qualcomm Atheros, Inc. ("Qualcomm Atheros") is required +to provide you. Except where prohibited by the open source license, the content +of this notices file is only provided to satisfy Qualcomm Atheros's attribution +and notice requirement; your use of these software components together with the +Qualcomm Atheros software (Qualcomm Atheros software hereinafter referred to +as "Software") is subject to the terms of your agreement from Qualcomm Atheros. +Compliance with all copyright laws and software license agreements included in +the notice section of this file are the responsibility of the user. Except as +may be granted by separate express written agreement, this file provides no +license to any patents, trademarks, copyrights, or other intellectual property +of Qualcomm Incorporated or any of its subsidiaries. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States +and other countries. All Qualcomm Incorporated trademarks are used with permission. +Other products and brand names may be trademarks or registered trademarks of their +respective owners. + +NOTICES: + +=============================================================================== + + 1. + +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $ + */ +File: LLM_sp_sha2.c + + +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $ + */ +File: LLM_sp_sha2.h + +=============================================================================== + + 2. + +/* utility to create the register check tables +* this includes inlined list.h safe for userspace. +* +* Copyright 2009 Jerome Glisse +* Copyright 2009 Red Hat Inc. +* +* Authors: +* Jerome Glisse +* Dave Airlie +*/ +/*All rights reserved. +Redistribution and use in source and binary forms, with or without modification +are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +File: comm_lib.h + +=============================================================================== + + 3. + +/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ +File Name list: aes.h, aes_locl.h + +=============================================================================== + + 4. + +/* crypto/aes/aes_core.c -*- mode:C; c-file-style: "eay" -*- */ +/** + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) + * + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto + * + * This code is hereby placed in the public domain. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +File: aes_core.c + +=============================================================================== + + 5. + +/*=========================================================================== + + EDIT HISTORY FOR FILE + + $Header: //depot/asic/msmshared/sec/sec/MSM_SEC.03.03.08.xx/aes.h#1 $ + $DateTime: 2006/12/11 00:43:21 $ $Author: davidf $ + +when who what, where, why +-------- --- ---------------------------------------------------------- +11/12/04 rv changes to correct LINT errors +02/02/04 rwh Small mods to open source. + +===========================================================================*/ + + /* + I retain copyright in this code but I encourage its free use provided + that I don't carry any responsibility for the results. I am especially + happy to see it used in free and open source software. If you do use + it I would appreciate an acknowledgement of its origin in the code or + the product that results and I would also appreciate knowing a liitle + about the use to which it is being put. + + Dr B. R. Gladman 1st June 2001. + +*/ +File: aes.h + +/*=========================================================================== + + EDIT HISTORY FOR FILE + + $Header: //depot/asic/msmshared/sec/sec/MSM_SEC.03.03.08.xx/aes_tab.h#1 $ + $DateTime: 2006/12/11 00:43:21 $ $Author: davidf $ + +when who what, where, why +-------- --- ---------------------------------------------------------- +11/12/04 rv changes to correct LINT errors +02/02/04 rwh Small mods to open source. + +===========================================================================*/ +/*lint -e146 -e303 */ +/* 146: Assuming a binary constant */ +/* 303: String too long (try +macros) */ + + + /* + I retain copyright in this code but I encourage its free use provided + that I don't carry any responsibility for the results. I am especially + happy to see it used in free and open source software. If you do use + it I would appreciate an acknowledgement of its origin in the code or + the product that results and I would also appreciate knowing a liitle + about the use to which it is being put. + + Dr B. R. Gladman 1st June 2001. + */ +File: aes_tab.h + +=============================================================================== +6. +=============================================================================== +#FILE:Conftest.py +# Copyright (c) 2003 Stichting NLnet Labs +# Copyright (c) 2001, 2002, 2003 Steven Knight +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# +# +=============================================================================== +File: Conftest.py + +=============================================================================== +7. +=============================================================================== +/ *** + * + * Fowler/Noll/Vo- hash + * + * The basis of this hash algorithm was taken from an idea sent + * as reviewer comments to the IEEE POSIX P1003.2 committee by: + * + * Phong Vo (http://www.research.att.com/info/kpv/) + * Glenn Fowler (http://www.research.att.com/~gsf/) + * + * In a subsequent ballot round: + * + * Landon Curt Noll (http://www.isthe.com/chongo/) + * + * improved on their algorithm. Some people tried this hash + * and found that it worked rather well. In an EMail message + * to Landon, they named it the ``Fowler/Noll/Vo'' or FNV hash. + * + * FNV hashes are designed to be fast while maintaining a low + * collision rate. The FNV speed allows one to quickly hash lots + * of data while maintaining a reasonable collision rate. See: + * + * http://www.isthe.com/chongo/tech/comp/fnv/index.html + * + * for more details as well as other forms of the FNV hash. + * + * + * Please do not copyright this code. This code is in the public domain. + * + * LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + * EVENT SHALL LANDON CURT NOLL BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * By: + * chongo /\oo/\ + * http://www.isthe.com/chongo/ + * + * Share and Enjoy! :-) + */ +File: fm_fnv_hash.h, fm_fnv_hash.c + +=============================================================================== +8. +=============================================================================== + +/* + * $Header: //source/qcom/qct/core/api/kernel/main/latest/libstd/stringl/stringl.h#13 $ + * $DateTime: 2013/07/24 11:35:54 $ + */ + +/* $OpenBSD: string.h,v 1.17 2006/01/06 18:53:04 millert Exp $ */ +/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)string.h 5.10 (Berkeley) 3/9/91 + */ +File: stringl.h + +=============================================================================== +9. +=============================================================================== +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +File: wcslcpy.c, wcslcat.c, wstrlcpy.c, strlcat.c, strlcpy.c, wstrlcat.c diff --git a/qca/crbtfw21.tlv b/qca/crbtfw21.tlv new file mode 100644 index 0000000..2d5ef8d Binary files /dev/null and b/qca/crbtfw21.tlv differ diff --git a/qca/crbtfw32.tlv b/qca/crbtfw32.tlv new file mode 100644 index 0000000..af6fe01 Binary files /dev/null and b/qca/crbtfw32.tlv differ diff --git a/qca/crnv21.bin b/qca/crnv21.bin new file mode 100644 index 0000000..7f48ef1 Binary files /dev/null and b/qca/crnv21.bin differ diff --git a/qca/crnv32.bin b/qca/crnv32.bin new file mode 100644 index 0000000..6416335 Binary files /dev/null and b/qca/crnv32.bin differ diff --git a/qca/crnv32u.bin b/qca/crnv32u.bin new file mode 100644 index 0000000..478facb Binary files /dev/null and b/qca/crnv32u.bin differ diff --git a/qca/hpbtfw21.tlv b/qca/hpbtfw21.tlv new file mode 100755 index 0000000..41e727c Binary files /dev/null and b/qca/hpbtfw21.tlv differ diff --git a/qca/hpnv21.301 b/qca/hpnv21.301 new file mode 100755 index 0000000..6553547 Binary files /dev/null and b/qca/hpnv21.301 differ diff --git a/qca/hpnv21.302 b/qca/hpnv21.302 new file mode 100755 index 0000000..6553547 Binary files /dev/null and b/qca/hpnv21.302 differ diff --git a/qca/hpnv21.bin b/qca/hpnv21.bin new file mode 100755 index 0000000..c48adf3 Binary files /dev/null and b/qca/hpnv21.bin differ diff --git a/qca/hpnv21g.301 b/qca/hpnv21g.301 new file mode 100755 index 0000000..6805cdc Binary files /dev/null and b/qca/hpnv21g.301 differ diff --git a/qca/hpnv21g.302 b/qca/hpnv21g.302 new file mode 100755 index 0000000..6805cdc Binary files /dev/null and b/qca/hpnv21g.302 differ diff --git a/qca/hpnv21g.bin b/qca/hpnv21g.bin new file mode 100755 index 0000000..f86245e Binary files /dev/null and b/qca/hpnv21g.bin differ diff --git a/qca/htbtfw20.tlv b/qca/htbtfw20.tlv new file mode 100644 index 0000000..f7d8aa9 Binary files /dev/null and b/qca/htbtfw20.tlv differ diff --git a/qca/htnv20.bin b/qca/htnv20.bin new file mode 100644 index 0000000..61732d4 Binary files /dev/null and b/qca/htnv20.bin differ diff --git a/qca/msbtfw11.mbn b/qca/msbtfw11.mbn new file mode 100644 index 0000000..1599e90 Binary files /dev/null and b/qca/msbtfw11.mbn differ diff --git a/qca/msbtfw11.tlv b/qca/msbtfw11.tlv new file mode 100644 index 0000000..21b0dee Binary files /dev/null and b/qca/msbtfw11.tlv differ diff --git a/qca/msnv11.b09 b/qca/msnv11.b09 new file mode 100755 index 0000000..55a5036 Binary files /dev/null and b/qca/msnv11.b09 differ diff --git a/qca/msnv11.b0a b/qca/msnv11.b0a new file mode 100755 index 0000000..d1a9b43 Binary files /dev/null and b/qca/msnv11.b0a differ diff --git a/qca/msnv11.bin b/qca/msnv11.bin new file mode 100644 index 0000000..4c46745 Binary files /dev/null and b/qca/msnv11.bin differ diff --git a/qca/nvm_00130300.bin b/qca/nvm_00130300.bin new file mode 100644 index 0000000..5e07a8d Binary files /dev/null and b/qca/nvm_00130300.bin differ diff --git a/qca/nvm_00130302.bin b/qca/nvm_00130302.bin new file mode 100644 index 0000000..7bd474d Binary files /dev/null and b/qca/nvm_00130302.bin differ diff --git a/qca/nvm_00230302.bin b/qca/nvm_00230302.bin new file mode 100644 index 0000000..944c9a5 Binary files /dev/null and b/qca/nvm_00230302.bin differ diff --git a/qca/nvm_00440302.bin b/qca/nvm_00440302.bin new file mode 100644 index 0000000..b14b72d Binary files /dev/null and b/qca/nvm_00440302.bin differ diff --git a/qca/nvm_00440302_eu.bin b/qca/nvm_00440302_eu.bin new file mode 100644 index 0000000..a3bc79d Binary files /dev/null and b/qca/nvm_00440302_eu.bin differ diff --git a/qca/nvm_00440302_i2s_eu.bin b/qca/nvm_00440302_i2s_eu.bin new file mode 100644 index 0000000..af6ca70 Binary files /dev/null and b/qca/nvm_00440302_i2s_eu.bin differ diff --git a/qca/nvm_usb_00000200.bin b/qca/nvm_usb_00000200.bin new file mode 100644 index 0000000..caff732 Binary files /dev/null and b/qca/nvm_usb_00000200.bin differ diff --git a/qca/nvm_usb_00000201.bin b/qca/nvm_usb_00000201.bin new file mode 100644 index 0000000..caff732 Binary files /dev/null and b/qca/nvm_usb_00000201.bin differ diff --git a/qca/nvm_usb_00000300.bin b/qca/nvm_usb_00000300.bin new file mode 100644 index 0000000..177297c Binary files /dev/null and b/qca/nvm_usb_00000300.bin differ diff --git a/qca/nvm_usb_00000302.bin b/qca/nvm_usb_00000302.bin new file mode 100644 index 0000000..0b7698d Binary files /dev/null and b/qca/nvm_usb_00000302.bin differ diff --git a/qca/nvm_usb_00000302_eu.bin b/qca/nvm_usb_00000302_eu.bin new file mode 100644 index 0000000..b692c9a Binary files /dev/null and b/qca/nvm_usb_00000302_eu.bin differ diff --git a/qca/nvm_usb_00130200.bin b/qca/nvm_usb_00130200.bin new file mode 100644 index 0000000..d7fa88c Binary files /dev/null and b/qca/nvm_usb_00130200.bin differ diff --git a/qca/nvm_usb_00130200_0104.bin b/qca/nvm_usb_00130200_0104.bin new file mode 100644 index 0000000..7e380d0 Binary files /dev/null and b/qca/nvm_usb_00130200_0104.bin differ diff --git a/qca/nvm_usb_00130200_0105.bin b/qca/nvm_usb_00130200_0105.bin new file mode 100644 index 0000000..7e380d0 Binary files /dev/null and b/qca/nvm_usb_00130200_0105.bin differ diff --git a/qca/nvm_usb_00130200_0106.bin b/qca/nvm_usb_00130200_0106.bin new file mode 100644 index 0000000..d7fa88c Binary files /dev/null and b/qca/nvm_usb_00130200_0106.bin differ diff --git a/qca/nvm_usb_00130200_0107.bin b/qca/nvm_usb_00130200_0107.bin new file mode 100644 index 0000000..a0563a4 Binary files /dev/null and b/qca/nvm_usb_00130200_0107.bin differ diff --git a/qca/nvm_usb_00130200_0109.bin b/qca/nvm_usb_00130200_0109.bin new file mode 100644 index 0000000..d7fa88c Binary files /dev/null and b/qca/nvm_usb_00130200_0109.bin differ diff --git a/qca/nvm_usb_00130200_0110.bin b/qca/nvm_usb_00130200_0110.bin new file mode 100644 index 0000000..7e380d0 Binary files /dev/null and b/qca/nvm_usb_00130200_0110.bin differ diff --git a/qca/nvm_usb_00130201.bin b/qca/nvm_usb_00130201.bin new file mode 100644 index 0000000..a72f933 Binary files /dev/null and b/qca/nvm_usb_00130201.bin differ diff --git a/qca/nvm_usb_00130201_010a.bin b/qca/nvm_usb_00130201_010a.bin new file mode 100644 index 0000000..a72f933 Binary files /dev/null and b/qca/nvm_usb_00130201_010a.bin differ diff --git a/qca/nvm_usb_00130201_010b.bin b/qca/nvm_usb_00130201_010b.bin new file mode 100644 index 0000000..a72f933 Binary files /dev/null and b/qca/nvm_usb_00130201_010b.bin differ diff --git a/qca/nvm_usb_00130201_0303.bin b/qca/nvm_usb_00130201_0303.bin new file mode 100644 index 0000000..a72f933 Binary files /dev/null and b/qca/nvm_usb_00130201_0303.bin differ diff --git a/qca/nvm_usb_00130201_gf.bin b/qca/nvm_usb_00130201_gf.bin new file mode 100644 index 0000000..7211ac4 Binary files /dev/null and b/qca/nvm_usb_00130201_gf.bin differ diff --git a/qca/nvm_usb_00130201_gf_010a.bin b/qca/nvm_usb_00130201_gf_010a.bin new file mode 100644 index 0000000..7211ac4 Binary files /dev/null and b/qca/nvm_usb_00130201_gf_010a.bin differ diff --git a/qca/nvm_usb_00130201_gf_010b.bin b/qca/nvm_usb_00130201_gf_010b.bin new file mode 100644 index 0000000..7211ac4 Binary files /dev/null and b/qca/nvm_usb_00130201_gf_010b.bin differ diff --git a/qca/nvm_usb_00130201_gf_0303.bin b/qca/nvm_usb_00130201_gf_0303.bin new file mode 100644 index 0000000..7211ac4 Binary files /dev/null and b/qca/nvm_usb_00130201_gf_0303.bin differ diff --git a/qca/nvm_usb_00190200.bin b/qca/nvm_usb_00190200.bin new file mode 100644 index 0000000..71329cf Binary files /dev/null and b/qca/nvm_usb_00190200.bin differ diff --git a/qca/rampatch_00130300.bin b/qca/rampatch_00130300.bin new file mode 100644 index 0000000..529a7f9 Binary files /dev/null and b/qca/rampatch_00130300.bin differ diff --git a/qca/rampatch_00130302.bin b/qca/rampatch_00130302.bin new file mode 100644 index 0000000..fed3131 Binary files /dev/null and b/qca/rampatch_00130302.bin differ diff --git a/qca/rampatch_00230302.bin b/qca/rampatch_00230302.bin new file mode 100644 index 0000000..8698a49 Binary files /dev/null and b/qca/rampatch_00230302.bin differ diff --git a/qca/rampatch_00440302.bin b/qca/rampatch_00440302.bin new file mode 100644 index 0000000..c17f5dc Binary files /dev/null and b/qca/rampatch_00440302.bin differ diff --git a/qca/rampatch_usb_00000200.bin b/qca/rampatch_usb_00000200.bin new file mode 100644 index 0000000..d85d16a Binary files /dev/null and b/qca/rampatch_usb_00000200.bin differ diff --git a/qca/rampatch_usb_00000201.bin b/qca/rampatch_usb_00000201.bin new file mode 100644 index 0000000..d85d16a Binary files /dev/null and b/qca/rampatch_usb_00000201.bin differ diff --git a/qca/rampatch_usb_00000300.bin b/qca/rampatch_usb_00000300.bin new file mode 100644 index 0000000..51088ef Binary files /dev/null and b/qca/rampatch_usb_00000300.bin differ diff --git a/qca/rampatch_usb_00000302.bin b/qca/rampatch_usb_00000302.bin new file mode 100644 index 0000000..e561d77 Binary files /dev/null and b/qca/rampatch_usb_00000302.bin differ diff --git a/qca/rampatch_usb_00130200.bin b/qca/rampatch_usb_00130200.bin new file mode 100644 index 0000000..3e3dcf1 Binary files /dev/null and b/qca/rampatch_usb_00130200.bin differ diff --git a/qca/rampatch_usb_00130201.bin b/qca/rampatch_usb_00130201.bin new file mode 100644 index 0000000..3719938 Binary files /dev/null and b/qca/rampatch_usb_00130201.bin differ diff --git a/qca/rampatch_usb_00190200.bin b/qca/rampatch_usb_00190200.bin new file mode 100644 index 0000000..bbf68e4 Binary files /dev/null and b/qca/rampatch_usb_00190200.bin differ diff --git a/qcom/NOTICE.txt b/qcom/NOTICE.txt new file mode 100644 index 0000000..184f88f --- /dev/null +++ b/qcom/NOTICE.txt @@ -0,0 +1,506 @@ +This NOTICE.txt file contains certain notices Qualcomm Technologies, Inc. ("QTI") +is required to provide with certain software components. Notwithstanding anything +in the notices in this file, your use of such software components together with +the QTI software ("Software") is subject to the terms of your separate license +from QTI. Compliance with all copyright laws and software licenses included in +this file are the responsibility of the user. Except as may be granted by +separate express written agreement, this file provides no license to any +patents, trademarks, copyrights, or other intellectual property of QTI or its +affiliates. +Software provided with this notice is NOT A CONTRIBUTION to any open source +project. If alternative licensing is available for any of the components with +licenses or attributions provided below, a license choice is made for receiving +such code by QTI. + +Copyright (c) 2013-2017 Qualcomm Technologies, Inc. All rights reserved. + +Qualcomm is a trademark of Qualcomm Incorporated, registered in the +United States and other countries. All Qualcomm Incorporated trademarks are used +with permission. Other products and brand names may be trademarks or registered +trademarks of their respective owners. + + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + + +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +/* ==================================================================== + * Copyright (C) 1995-2005 Jean-loup Gailly + * Copyright (C) 1995-2009 Mark Adler + * Copyright (C) 1995-2003, 2010 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + + + /* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.3, July 18th, 2005 + + Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt + (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). +*/ + + +------------------------------------------------------------------------------ + + // +// Copyright (c) 2004-2006 Qualphone, Inc. All rights reserved. +// +// +/* + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + */ + + +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + + + +/* + * Written by Aaron D. Gifford + * + * Copyright 2000 Aaron D. Gifford. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +/*- + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + * + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + + + ------------------------------------------------------------------------------ + + /* + The AES algorithm Rijndael implemented for block and key sizes of 128, + 192 and 256 bits (16, 24 and 32 bytes) by Brian Gladman. + + I retain copyright in this code but I encourage its free use provided + that I don't carry any responsibility for the results. I am especially + happy to see it used in free and open source software. If you do use + it I would appreciate an acknowledgement of its origin in the code or + the product that results and I would also appreciate knowing a liitle + about the use to which it is being put. I am grateful to Frank Yellin + for some ideas that are used in this implementation. + + Dr B. R. Gladman 1st June 2001. + + ------------------------------------------------------------------------------ + + /* + * hash_32 - 32 bit Fowler/Noll/Vo hash code + * + * Fowler/Noll/Vo hash + * + * Please do not copyright this code. This code is in the public domain. + * + * LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO + * EVENT SHALL LANDON CURT NOLL BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + ------------------------------------------------------------------------------ + /* + * sha1.c + * + * Originally witten by Steve Reid + * + * Modified by Aaron D. Gifford + * + * NO COPYRIGHT - THIS IS 100% IN THE PUBLIC DOMAIN + * + * The original unmodified version is available at: + * ftp://ftp.funet.fi/pub/crypt/hash/sha/sha1.c + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +------------------------------------------------------------------------------ + +/* + * AES-based functions + * + * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394) + * - One-Key CBC MAC (OMAC1) hash with AES-128 + * - AES-128 CTR mode encryption + * - AES-128 EAX mode encryption/decryption + * - AES-128 CBC + * + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + ------------------------------------------------------------------------------ + /* + * SHA1 hash implementation and interface functions + * Copyright (c) 2003-2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + ------------------------------------------------------------------------------ + /* + * hmac_sha1.c + * + * Version 1.0.0 + * + * Written by Aaron D. Gifford + * + * Copyright 1998, 2000 Aaron D. Gifford. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +/* +* AUTHOR: Aaron D. Gifford +* +* Copyright (c) 2000-2001, Aaron D. Gifford +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* 3. Neither the name of the copyright holder nor the names of contributors +* may be used to endorse or promote products derived from this software +* without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) "AS IS" AND +* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +* SUCH DAMAGE. +*/ + +------------------------------------------------------------------------------ + +/* + * Copyright (c) 1998 Todd C. Miller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + ------------------------------------------------------------------------------ + + /* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ diff --git a/qcom/a300_pfp.fw b/qcom/a300_pfp.fw new file mode 100644 index 0000000..5522677 Binary files /dev/null and b/qcom/a300_pfp.fw differ diff --git a/qcom/a300_pm4.fw b/qcom/a300_pm4.fw new file mode 100644 index 0000000..840e5a9 Binary files /dev/null and b/qcom/a300_pm4.fw differ diff --git a/qcom/a330_pfp.fw b/qcom/a330_pfp.fw new file mode 100644 index 0000000..622f6c0 Binary files /dev/null and b/qcom/a330_pfp.fw differ diff --git a/qcom/a330_pm4.fw b/qcom/a330_pm4.fw new file mode 100644 index 0000000..433dd04 Binary files /dev/null and b/qcom/a330_pm4.fw differ diff --git a/qcom/a420_pfp.fw b/qcom/a420_pfp.fw new file mode 100644 index 0000000..1198af7 Binary files /dev/null and b/qcom/a420_pfp.fw differ diff --git a/qcom/a420_pm4.fw b/qcom/a420_pm4.fw new file mode 100644 index 0000000..0cad62c Binary files /dev/null and b/qcom/a420_pm4.fw differ diff --git a/qcom/a530_pfp.fw b/qcom/a530_pfp.fw new file mode 100644 index 0000000..e991d4f Binary files /dev/null and b/qcom/a530_pfp.fw differ diff --git a/qcom/a530_pm4.fw b/qcom/a530_pm4.fw new file mode 100644 index 0000000..5b487d0 Binary files /dev/null and b/qcom/a530_pm4.fw differ diff --git a/qcom/a530v3_gpmu.fw2 b/qcom/a530v3_gpmu.fw2 new file mode 100644 index 0000000..98b69a2 Binary files /dev/null and b/qcom/a530v3_gpmu.fw2 differ diff --git a/qcom/a630_gmu.bin b/qcom/a630_gmu.bin new file mode 100644 index 0000000..7ab6857 Binary files /dev/null and b/qcom/a630_gmu.bin differ diff --git a/qcom/a630_sqe.fw b/qcom/a630_sqe.fw new file mode 100644 index 0000000..907445d Binary files /dev/null and b/qcom/a630_sqe.fw differ diff --git a/qcom/a650_gmu.bin b/qcom/a650_gmu.bin new file mode 100644 index 0000000..e497a14 Binary files /dev/null and b/qcom/a650_gmu.bin differ diff --git a/qcom/a650_sqe.fw b/qcom/a650_sqe.fw new file mode 100644 index 0000000..6cbef9b Binary files /dev/null and b/qcom/a650_sqe.fw differ diff --git a/qcom/a660_gmu.bin b/qcom/a660_gmu.bin new file mode 100644 index 0000000..ee1b922 Binary files /dev/null and b/qcom/a660_gmu.bin differ diff --git a/qcom/a660_sqe.fw b/qcom/a660_sqe.fw new file mode 100644 index 0000000..63f4f4b Binary files /dev/null and b/qcom/a660_sqe.fw differ diff --git a/qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin b/qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin new file mode 100644 index 0000000..9a8f174 Binary files /dev/null and b/qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin differ diff --git a/qcom/apq8016/mba.mbn b/qcom/apq8016/mba.mbn new file mode 100644 index 0000000..dc45cfb Binary files /dev/null and b/qcom/apq8016/mba.mbn differ diff --git a/qcom/apq8016/modem.mbn b/qcom/apq8016/modem.mbn new file mode 100644 index 0000000..f06875b Binary files /dev/null and b/qcom/apq8016/modem.mbn differ diff --git a/qcom/apq8016/wcnss.mbn b/qcom/apq8016/wcnss.mbn new file mode 100644 index 0000000..97b969d Binary files /dev/null and b/qcom/apq8016/wcnss.mbn differ diff --git a/qcom/apq8096/a530_zap.mbn b/qcom/apq8096/a530_zap.mbn new file mode 100644 index 0000000..2953c4d Binary files /dev/null and b/qcom/apq8096/a530_zap.mbn differ diff --git a/qcom/apq8096/adsp.mbn b/qcom/apq8096/adsp.mbn new file mode 100644 index 0000000..0eca44b Binary files /dev/null and b/qcom/apq8096/adsp.mbn differ diff --git a/qcom/apq8096/adspr.jsn b/qcom/apq8096/adspr.jsn new file mode 100644 index 0000000..6b349cf --- /dev/null +++ b/qcom/apq8096/adspr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "root_pd", + "qmi_instance_id": 4 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/apq8096/adspua.jsn b/qcom/apq8096/adspua.jsn new file mode 100644 index 0000000..0b531c0 --- /dev/null +++ b/qcom/apq8096/adspua.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "audio_pd", + "qmi_instance_id": 4 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/apq8096/mba.mbn b/qcom/apq8096/mba.mbn new file mode 100644 index 0000000..771d89c Binary files /dev/null and b/qcom/apq8096/mba.mbn differ diff --git a/qcom/apq8096/modem.mbn b/qcom/apq8096/modem.mbn new file mode 100644 index 0000000..134c7ce Binary files /dev/null and b/qcom/apq8096/modem.mbn differ diff --git a/qcom/apq8096/modemr.jsn b/qcom/apq8096/modemr.jsn new file mode 100644 index 0000000..9033279 --- /dev/null +++ b/qcom/apq8096/modemr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "modem", + "subdomain": "root_pd", + "qmi_instance_id": 100 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/leia_pfp_470.fw b/qcom/leia_pfp_470.fw new file mode 100644 index 0000000..cb2bdd3 Binary files /dev/null and b/qcom/leia_pfp_470.fw differ diff --git a/qcom/leia_pm4_470.fw b/qcom/leia_pm4_470.fw new file mode 100644 index 0000000..cd0a3ff Binary files /dev/null and b/qcom/leia_pm4_470.fw differ diff --git a/qcom/sc8280xp/LENOVO/21BX/adspr.jsn b/qcom/sc8280xp/LENOVO/21BX/adspr.jsn new file mode 100644 index 0000000..aecae27 --- /dev/null +++ b/qcom/sc8280xp/LENOVO/21BX/adspr.jsn @@ -0,0 +1,28 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "root_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0, + "dcomment": "data can be used to configure ACK timeout.Make data_valid 1 as well.Unit is second" + }, + { + "provider": "tms", + "service": "pdr_enabled", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sc8280xp/LENOVO/21BX/adspua.jsn b/qcom/sc8280xp/LENOVO/21BX/adspua.jsn new file mode 100644 index 0000000..ab4254a --- /dev/null +++ b/qcom/sc8280xp/LENOVO/21BX/adspua.jsn @@ -0,0 +1,29 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "audio_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0, + "dcomment": "data can be used to configure ACK timeout.Make data_valid 1 as well.Unit is second" + }, + { + "provider": "avs", + "service": "audio", + "service_data_valid": 0, + "service_data": 0, + "dcomment": "No comment" + } + ] +} \ No newline at end of file diff --git a/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn b/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn new file mode 100644 index 0000000..504cd31 --- /dev/null +++ b/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn @@ -0,0 +1,22 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "charger_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0, + "dcomment": "data can be used to configure ACK timeout.Make data_valid 1 as well.Unit is second" + } + ] +} \ No newline at end of file diff --git a/qcom/sc8280xp/LENOVO/21BX/cdspr.jsn b/qcom/sc8280xp/LENOVO/21BX/cdspr.jsn new file mode 100644 index 0000000..4491d95 --- /dev/null +++ b/qcom/sc8280xp/LENOVO/21BX/cdspr.jsn @@ -0,0 +1,22 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "cdsp", + "subdomain": "root_pd", + "qmi_instance_id": 76 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0, + "dcomment": "data can be used to configure ACK timeout.Make data_valid 1 as well.Unit is second" + } + ] +} \ No newline at end of file diff --git a/qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn b/qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn new file mode 100755 index 0000000..f949d7f Binary files /dev/null and b/qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn differ diff --git a/qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn b/qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn new file mode 100755 index 0000000..550e07a Binary files /dev/null and b/qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn differ diff --git a/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn b/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn new file mode 100755 index 0000000..766720e Binary files /dev/null and b/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn differ diff --git a/qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn b/qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn new file mode 100755 index 0000000..2afee6b Binary files /dev/null and b/qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn differ diff --git a/qcom/sdm845/a630_zap.mbn b/qcom/sdm845/a630_zap.mbn new file mode 100644 index 0000000..399a81f Binary files /dev/null and b/qcom/sdm845/a630_zap.mbn differ diff --git a/qcom/sdm845/adsp.mbn b/qcom/sdm845/adsp.mbn new file mode 100644 index 0000000..339c028 Binary files /dev/null and b/qcom/sdm845/adsp.mbn differ diff --git a/qcom/sdm845/adspr.jsn b/qcom/sdm845/adspr.jsn new file mode 100644 index 0000000..0964c15 --- /dev/null +++ b/qcom/sdm845/adspr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "root_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sdm845/adspua.jsn b/qcom/sdm845/adspua.jsn new file mode 100644 index 0000000..2d6824e --- /dev/null +++ b/qcom/sdm845/adspua.jsn @@ -0,0 +1,27 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "audio_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "avs", + "service": "audio", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sdm845/cdsp.mbn b/qcom/sdm845/cdsp.mbn new file mode 100644 index 0000000..8158d62 Binary files /dev/null and b/qcom/sdm845/cdsp.mbn differ diff --git a/qcom/sdm845/cdspr.jsn b/qcom/sdm845/cdspr.jsn new file mode 100644 index 0000000..5d976a6 --- /dev/null +++ b/qcom/sdm845/cdspr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "cdsp", + "subdomain": "root_pd", + "qmi_instance_id": 76 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sdm845/mba.mbn b/qcom/sdm845/mba.mbn new file mode 100644 index 0000000..b33324d Binary files /dev/null and b/qcom/sdm845/mba.mbn differ diff --git a/qcom/sdm845/modem_nm.mbn b/qcom/sdm845/modem_nm.mbn new file mode 100644 index 0000000..50539fe Binary files /dev/null and b/qcom/sdm845/modem_nm.mbn differ diff --git a/qcom/sdm845/modemuw.jsn b/qcom/sdm845/modemuw.jsn new file mode 100644 index 0000000..88a400e --- /dev/null +++ b/qcom/sdm845/modemuw.jsn @@ -0,0 +1,33 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "modem", + "subdomain": "wlan_pd", + "qmi_instance_id": 180 + }, + "sr_service": [ + { + "provider": "kernel", + "service": "elf_loader", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "wlan", + "service": "fw", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sm8250/a650_zap.mbn b/qcom/sm8250/a650_zap.mbn new file mode 100644 index 0000000..ef5624c Binary files /dev/null and b/qcom/sm8250/a650_zap.mbn differ diff --git a/qcom/sm8250/adsp.mbn b/qcom/sm8250/adsp.mbn new file mode 100644 index 0000000..274cb40 Binary files /dev/null and b/qcom/sm8250/adsp.mbn differ diff --git a/qcom/sm8250/adspr.jsn b/qcom/sm8250/adspr.jsn new file mode 100644 index 0000000..0964c15 --- /dev/null +++ b/qcom/sm8250/adspr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "root_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sm8250/adspua.jsn b/qcom/sm8250/adspua.jsn new file mode 100644 index 0000000..2d6824e --- /dev/null +++ b/qcom/sm8250/adspua.jsn @@ -0,0 +1,27 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "adsp", + "subdomain": "audio_pd", + "qmi_instance_id": 74 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + }, + { + "provider": "avs", + "service": "audio", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/sm8250/cdsp.mbn b/qcom/sm8250/cdsp.mbn new file mode 100644 index 0000000..f8b6653 Binary files /dev/null and b/qcom/sm8250/cdsp.mbn differ diff --git a/qcom/sm8250/cdspr.jsn b/qcom/sm8250/cdspr.jsn new file mode 100644 index 0000000..5d976a6 --- /dev/null +++ b/qcom/sm8250/cdspr.jsn @@ -0,0 +1,21 @@ +{ + "sr_version": { + "major": 1, + "minor": 1, + "patch": 1 + }, + "sr_domain": { + "soc": "msm", + "domain": "cdsp", + "subdomain": "root_pd", + "qmi_instance_id": 76 + }, + "sr_service": [ + { + "provider": "tms", + "service": "servreg", + "service_data_valid": 0, + "service_data": 0 + } + ] +} \ No newline at end of file diff --git a/qcom/venus-1.8/venus.mbn b/qcom/venus-1.8/venus.mbn new file mode 100644 index 0000000..2417f51 Binary files /dev/null and b/qcom/venus-1.8/venus.mbn differ diff --git a/qcom/venus-4.2/venus.mbn b/qcom/venus-4.2/venus.mbn new file mode 100644 index 0000000..353484c Binary files /dev/null and b/qcom/venus-4.2/venus.mbn differ diff --git a/qcom/venus-5.2/venus.mbn b/qcom/venus-5.2/venus.mbn new file mode 100644 index 0000000..0ea5feb Binary files /dev/null and b/qcom/venus-5.2/venus.mbn differ diff --git a/qcom/venus-5.4/venus.mbn b/qcom/venus-5.4/venus.mbn new file mode 100644 index 0000000..1ce57be Binary files /dev/null and b/qcom/venus-5.4/venus.mbn differ diff --git a/qcom/vpu-1.0/venus.mbn b/qcom/vpu-1.0/venus.mbn new file mode 100644 index 0000000..7a9ddc8 Binary files /dev/null and b/qcom/vpu-1.0/venus.mbn differ diff --git a/qcom/vpu-2.0/venus.mbn b/qcom/vpu-2.0/venus.mbn new file mode 100644 index 0000000..a05d27a Binary files /dev/null and b/qcom/vpu-2.0/venus.mbn differ diff --git a/qcom/yamato_pfp.fw b/qcom/yamato_pfp.fw new file mode 100644 index 0000000..beaa594 Binary files /dev/null and b/qcom/yamato_pfp.fw differ diff --git a/qcom/yamato_pm4.fw b/qcom/yamato_pm4.fw new file mode 100644 index 0000000..bc63846 Binary files /dev/null and b/qcom/yamato_pm4.fw differ diff --git a/qed/qed_init_values_zipped-8.10.10.0.bin b/qed/qed_init_values_zipped-8.10.10.0.bin new file mode 100644 index 0000000..1c9780a Binary files /dev/null and b/qed/qed_init_values_zipped-8.10.10.0.bin differ diff --git a/qed/qed_init_values_zipped-8.33.1.0.bin b/qed/qed_init_values_zipped-8.33.1.0.bin new file mode 100755 index 0000000..aff403b Binary files /dev/null and b/qed/qed_init_values_zipped-8.33.1.0.bin differ diff --git a/qed/qed_init_values_zipped-8.33.11.0.bin b/qed/qed_init_values_zipped-8.33.11.0.bin new file mode 100755 index 0000000..ed50a6e Binary files /dev/null and b/qed/qed_init_values_zipped-8.33.11.0.bin differ diff --git a/qed/qed_init_values_zipped-8.37.2.0.bin b/qed/qed_init_values_zipped-8.37.2.0.bin new file mode 100755 index 0000000..c9cba8f Binary files /dev/null and b/qed/qed_init_values_zipped-8.37.2.0.bin differ diff --git a/qed/qed_init_values_zipped-8.37.7.0.bin b/qed/qed_init_values_zipped-8.37.7.0.bin new file mode 100755 index 0000000..35180a7 Binary files /dev/null and b/qed/qed_init_values_zipped-8.37.7.0.bin differ diff --git a/qed/qed_init_values_zipped-8.42.2.0.bin b/qed/qed_init_values_zipped-8.42.2.0.bin new file mode 100755 index 0000000..48f50f8 Binary files /dev/null and b/qed/qed_init_values_zipped-8.42.2.0.bin differ diff --git a/qed/qed_init_values_zipped-8.59.1.0.bin b/qed/qed_init_values_zipped-8.59.1.0.bin new file mode 100644 index 0000000..0aeac17 Binary files /dev/null and b/qed/qed_init_values_zipped-8.59.1.0.bin differ diff --git a/ql2100_fw.bin b/ql2100_fw.bin new file mode 100644 index 0000000..a2b51b8 Binary files /dev/null and b/ql2100_fw.bin differ diff --git a/ql2200_fw.bin b/ql2200_fw.bin new file mode 100644 index 0000000..87cc832 Binary files /dev/null and b/ql2200_fw.bin differ diff --git a/ql2300_fw.bin b/ql2300_fw.bin new file mode 100644 index 0000000..ac9be2d Binary files /dev/null and b/ql2300_fw.bin differ diff --git a/ql2322_fw.bin b/ql2322_fw.bin new file mode 100644 index 0000000..96f5304 Binary files /dev/null and b/ql2322_fw.bin differ diff --git a/ql2400_fw.bin b/ql2400_fw.bin new file mode 100644 index 0000000..92b50fd Binary files /dev/null and b/ql2400_fw.bin differ diff --git a/ql2500_fw.bin b/ql2500_fw.bin new file mode 100644 index 0000000..999e6f4 Binary files /dev/null and b/ql2500_fw.bin differ diff --git a/qlogic/1040.bin b/qlogic/1040.bin new file mode 100644 index 0000000..01366ea Binary files /dev/null and b/qlogic/1040.bin differ diff --git a/qlogic/12160.bin b/qlogic/12160.bin new file mode 100644 index 0000000..7f7f255 Binary files /dev/null and b/qlogic/12160.bin differ diff --git a/qlogic/1280.bin b/qlogic/1280.bin new file mode 100644 index 0000000..62d2994 Binary files /dev/null and b/qlogic/1280.bin differ diff --git a/qlogic/sd7220.fw b/qlogic/sd7220.fw new file mode 100644 index 0000000..b9ca3cf Binary files /dev/null and b/qlogic/sd7220.fw differ diff --git a/r128/r128_cce.bin b/r128/r128_cce.bin new file mode 100644 index 0000000..18b00b7 Binary files /dev/null and b/r128/r128_cce.bin differ diff --git a/r8a779x_usb3_v1.dlmem b/r8a779x_usb3_v1.dlmem new file mode 100644 index 0000000..d094157 Binary files /dev/null and b/r8a779x_usb3_v1.dlmem differ diff --git a/r8a779x_usb3_v2.dlmem b/r8a779x_usb3_v2.dlmem new file mode 100644 index 0000000..2b85222 Binary files /dev/null and b/r8a779x_usb3_v2.dlmem differ diff --git a/r8a779x_usb3_v3.dlmem b/r8a779x_usb3_v3.dlmem new file mode 100644 index 0000000..1e09014 Binary files /dev/null and b/r8a779x_usb3_v3.dlmem differ diff --git a/radeon/ARUBA_me.bin b/radeon/ARUBA_me.bin new file mode 100644 index 0000000..6817fcb Binary files /dev/null and b/radeon/ARUBA_me.bin differ diff --git a/radeon/ARUBA_pfp.bin b/radeon/ARUBA_pfp.bin new file mode 100644 index 0000000..541dc20 Binary files /dev/null and b/radeon/ARUBA_pfp.bin differ diff --git a/radeon/ARUBA_rlc.bin b/radeon/ARUBA_rlc.bin new file mode 100644 index 0000000..3582fe6 Binary files /dev/null and b/radeon/ARUBA_rlc.bin differ diff --git a/radeon/BARTS_mc.bin b/radeon/BARTS_mc.bin new file mode 100644 index 0000000..5ba9568 Binary files /dev/null and b/radeon/BARTS_mc.bin differ diff --git a/radeon/BARTS_me.bin b/radeon/BARTS_me.bin new file mode 100644 index 0000000..439cefc Binary files /dev/null and b/radeon/BARTS_me.bin differ diff --git a/radeon/BARTS_pfp.bin b/radeon/BARTS_pfp.bin new file mode 100644 index 0000000..2377f17 Binary files /dev/null and b/radeon/BARTS_pfp.bin differ diff --git a/radeon/BARTS_smc.bin b/radeon/BARTS_smc.bin new file mode 100644 index 0000000..a4d1e08 Binary files /dev/null and b/radeon/BARTS_smc.bin differ diff --git a/radeon/BONAIRE_ce.bin b/radeon/BONAIRE_ce.bin new file mode 100644 index 0000000..7d40fbf Binary files /dev/null and b/radeon/BONAIRE_ce.bin differ diff --git a/radeon/BONAIRE_mc.bin b/radeon/BONAIRE_mc.bin new file mode 100644 index 0000000..a3c7047 Binary files /dev/null and b/radeon/BONAIRE_mc.bin differ diff --git a/radeon/BONAIRE_mc2.bin b/radeon/BONAIRE_mc2.bin new file mode 100644 index 0000000..f4f4d30 Binary files /dev/null and b/radeon/BONAIRE_mc2.bin differ diff --git a/radeon/BONAIRE_me.bin b/radeon/BONAIRE_me.bin new file mode 100644 index 0000000..75bff89 Binary files /dev/null and b/radeon/BONAIRE_me.bin differ diff --git a/radeon/BONAIRE_mec.bin b/radeon/BONAIRE_mec.bin new file mode 100644 index 0000000..65fd6fb Binary files /dev/null and b/radeon/BONAIRE_mec.bin differ diff --git a/radeon/BONAIRE_pfp.bin b/radeon/BONAIRE_pfp.bin new file mode 100644 index 0000000..e12a1af Binary files /dev/null and b/radeon/BONAIRE_pfp.bin differ diff --git a/radeon/BONAIRE_rlc.bin b/radeon/BONAIRE_rlc.bin new file mode 100644 index 0000000..7e32235 Binary files /dev/null and b/radeon/BONAIRE_rlc.bin differ diff --git a/radeon/BONAIRE_sdma.bin b/radeon/BONAIRE_sdma.bin new file mode 100644 index 0000000..4766a2a Binary files /dev/null and b/radeon/BONAIRE_sdma.bin differ diff --git a/radeon/BONAIRE_smc.bin b/radeon/BONAIRE_smc.bin new file mode 100644 index 0000000..c735c6f Binary files /dev/null and b/radeon/BONAIRE_smc.bin differ diff --git a/radeon/BONAIRE_uvd.bin b/radeon/BONAIRE_uvd.bin new file mode 100644 index 0000000..2ef1008 Binary files /dev/null and b/radeon/BONAIRE_uvd.bin differ diff --git a/radeon/BONAIRE_vce.bin b/radeon/BONAIRE_vce.bin new file mode 100644 index 0000000..2fcf269 Binary files /dev/null and b/radeon/BONAIRE_vce.bin differ diff --git a/radeon/BTC_rlc.bin b/radeon/BTC_rlc.bin new file mode 100644 index 0000000..e529a72 Binary files /dev/null and b/radeon/BTC_rlc.bin differ diff --git a/radeon/CAICOS_mc.bin b/radeon/CAICOS_mc.bin new file mode 100644 index 0000000..5ba9568 Binary files /dev/null and b/radeon/CAICOS_mc.bin differ diff --git a/radeon/CAICOS_me.bin b/radeon/CAICOS_me.bin new file mode 100644 index 0000000..439cefc Binary files /dev/null and b/radeon/CAICOS_me.bin differ diff --git a/radeon/CAICOS_pfp.bin b/radeon/CAICOS_pfp.bin new file mode 100644 index 0000000..f417d5c Binary files /dev/null and b/radeon/CAICOS_pfp.bin differ diff --git a/radeon/CAICOS_smc.bin b/radeon/CAICOS_smc.bin new file mode 100644 index 0000000..bc8840c Binary files /dev/null and b/radeon/CAICOS_smc.bin differ diff --git a/radeon/CAYMAN_mc.bin b/radeon/CAYMAN_mc.bin new file mode 100644 index 0000000..f3839f0 Binary files /dev/null and b/radeon/CAYMAN_mc.bin differ diff --git a/radeon/CAYMAN_me.bin b/radeon/CAYMAN_me.bin new file mode 100644 index 0000000..07f8dc3 Binary files /dev/null and b/radeon/CAYMAN_me.bin differ diff --git a/radeon/CAYMAN_pfp.bin b/radeon/CAYMAN_pfp.bin new file mode 100644 index 0000000..2e49c4f Binary files /dev/null and b/radeon/CAYMAN_pfp.bin differ diff --git a/radeon/CAYMAN_rlc.bin b/radeon/CAYMAN_rlc.bin new file mode 100644 index 0000000..d7f3ceb Binary files /dev/null and b/radeon/CAYMAN_rlc.bin differ diff --git a/radeon/CAYMAN_smc.bin b/radeon/CAYMAN_smc.bin new file mode 100644 index 0000000..5e1c2e5 Binary files /dev/null and b/radeon/CAYMAN_smc.bin differ diff --git a/radeon/CEDAR_me.bin b/radeon/CEDAR_me.bin new file mode 100644 index 0000000..a526806 Binary files /dev/null and b/radeon/CEDAR_me.bin differ diff --git a/radeon/CEDAR_pfp.bin b/radeon/CEDAR_pfp.bin new file mode 100644 index 0000000..f9b8263 Binary files /dev/null and b/radeon/CEDAR_pfp.bin differ diff --git a/radeon/CEDAR_rlc.bin b/radeon/CEDAR_rlc.bin new file mode 100644 index 0000000..674e580 Binary files /dev/null and b/radeon/CEDAR_rlc.bin differ diff --git a/radeon/CEDAR_smc.bin b/radeon/CEDAR_smc.bin new file mode 100644 index 0000000..1ad1f4e Binary files /dev/null and b/radeon/CEDAR_smc.bin differ diff --git a/radeon/CYPRESS_me.bin b/radeon/CYPRESS_me.bin new file mode 100644 index 0000000..fd6cc24 Binary files /dev/null and b/radeon/CYPRESS_me.bin differ diff --git a/radeon/CYPRESS_pfp.bin b/radeon/CYPRESS_pfp.bin new file mode 100644 index 0000000..b162957 Binary files /dev/null and b/radeon/CYPRESS_pfp.bin differ diff --git a/radeon/CYPRESS_rlc.bin b/radeon/CYPRESS_rlc.bin new file mode 100644 index 0000000..674e580 Binary files /dev/null and b/radeon/CYPRESS_rlc.bin differ diff --git a/radeon/CYPRESS_smc.bin b/radeon/CYPRESS_smc.bin new file mode 100644 index 0000000..69376fa Binary files /dev/null and b/radeon/CYPRESS_smc.bin differ diff --git a/radeon/CYPRESS_uvd.bin b/radeon/CYPRESS_uvd.bin new file mode 100644 index 0000000..570b652 Binary files /dev/null and b/radeon/CYPRESS_uvd.bin differ diff --git a/radeon/HAINAN_ce.bin b/radeon/HAINAN_ce.bin new file mode 100644 index 0000000..497e132 Binary files /dev/null and b/radeon/HAINAN_ce.bin differ diff --git a/radeon/HAINAN_mc.bin b/radeon/HAINAN_mc.bin new file mode 100644 index 0000000..a7b80c3 Binary files /dev/null and b/radeon/HAINAN_mc.bin differ diff --git a/radeon/HAINAN_mc2.bin b/radeon/HAINAN_mc2.bin new file mode 100644 index 0000000..a7b80c3 Binary files /dev/null and b/radeon/HAINAN_mc2.bin differ diff --git a/radeon/HAINAN_me.bin b/radeon/HAINAN_me.bin new file mode 100644 index 0000000..6dc895b Binary files /dev/null and b/radeon/HAINAN_me.bin differ diff --git a/radeon/HAINAN_pfp.bin b/radeon/HAINAN_pfp.bin new file mode 100644 index 0000000..1918d64 Binary files /dev/null and b/radeon/HAINAN_pfp.bin differ diff --git a/radeon/HAINAN_rlc.bin b/radeon/HAINAN_rlc.bin new file mode 100644 index 0000000..df07678 Binary files /dev/null and b/radeon/HAINAN_rlc.bin differ diff --git a/radeon/HAINAN_smc.bin b/radeon/HAINAN_smc.bin new file mode 100644 index 0000000..6bf5b36 Binary files /dev/null and b/radeon/HAINAN_smc.bin differ diff --git a/radeon/HAWAII_ce.bin b/radeon/HAWAII_ce.bin new file mode 100644 index 0000000..7508a89 Binary files /dev/null and b/radeon/HAWAII_ce.bin differ diff --git a/radeon/HAWAII_mc.bin b/radeon/HAWAII_mc.bin new file mode 100644 index 0000000..38051f5 Binary files /dev/null and b/radeon/HAWAII_mc.bin differ diff --git a/radeon/HAWAII_mc2.bin b/radeon/HAWAII_mc2.bin new file mode 100644 index 0000000..9e6b0e0 Binary files /dev/null and b/radeon/HAWAII_mc2.bin differ diff --git a/radeon/HAWAII_me.bin b/radeon/HAWAII_me.bin new file mode 100644 index 0000000..4936b81 Binary files /dev/null and b/radeon/HAWAII_me.bin differ diff --git a/radeon/HAWAII_mec.bin b/radeon/HAWAII_mec.bin new file mode 100644 index 0000000..911247d Binary files /dev/null and b/radeon/HAWAII_mec.bin differ diff --git a/radeon/HAWAII_pfp.bin b/radeon/HAWAII_pfp.bin new file mode 100644 index 0000000..77d0e2f Binary files /dev/null and b/radeon/HAWAII_pfp.bin differ diff --git a/radeon/HAWAII_rlc.bin b/radeon/HAWAII_rlc.bin new file mode 100644 index 0000000..00c4b36 Binary files /dev/null and b/radeon/HAWAII_rlc.bin differ diff --git a/radeon/HAWAII_sdma.bin b/radeon/HAWAII_sdma.bin new file mode 100644 index 0000000..4766a2a Binary files /dev/null and b/radeon/HAWAII_sdma.bin differ diff --git a/radeon/HAWAII_smc.bin b/radeon/HAWAII_smc.bin new file mode 100644 index 0000000..562b81e Binary files /dev/null and b/radeon/HAWAII_smc.bin differ diff --git a/radeon/JUNIPER_me.bin b/radeon/JUNIPER_me.bin new file mode 100644 index 0000000..fd6cc24 Binary files /dev/null and b/radeon/JUNIPER_me.bin differ diff --git a/radeon/JUNIPER_pfp.bin b/radeon/JUNIPER_pfp.bin new file mode 100644 index 0000000..b162957 Binary files /dev/null and b/radeon/JUNIPER_pfp.bin differ diff --git a/radeon/JUNIPER_rlc.bin b/radeon/JUNIPER_rlc.bin new file mode 100644 index 0000000..674e580 Binary files /dev/null and b/radeon/JUNIPER_rlc.bin differ diff --git a/radeon/JUNIPER_smc.bin b/radeon/JUNIPER_smc.bin new file mode 100644 index 0000000..7c2c06a Binary files /dev/null and b/radeon/JUNIPER_smc.bin differ diff --git a/radeon/KABINI_ce.bin b/radeon/KABINI_ce.bin new file mode 100644 index 0000000..7d40fbf Binary files /dev/null and b/radeon/KABINI_ce.bin differ diff --git a/radeon/KABINI_me.bin b/radeon/KABINI_me.bin new file mode 100644 index 0000000..d1da075 Binary files /dev/null and b/radeon/KABINI_me.bin differ diff --git a/radeon/KABINI_mec.bin b/radeon/KABINI_mec.bin new file mode 100644 index 0000000..719e457 Binary files /dev/null and b/radeon/KABINI_mec.bin differ diff --git a/radeon/KABINI_pfp.bin b/radeon/KABINI_pfp.bin new file mode 100644 index 0000000..6efa138 Binary files /dev/null and b/radeon/KABINI_pfp.bin differ diff --git a/radeon/KABINI_rlc.bin b/radeon/KABINI_rlc.bin new file mode 100644 index 0000000..b0cb2bd Binary files /dev/null and b/radeon/KABINI_rlc.bin differ diff --git a/radeon/KABINI_sdma.bin b/radeon/KABINI_sdma.bin new file mode 100644 index 0000000..4766a2a Binary files /dev/null and b/radeon/KABINI_sdma.bin differ diff --git a/radeon/KAVERI_ce.bin b/radeon/KAVERI_ce.bin new file mode 100644 index 0000000..06d92de Binary files /dev/null and b/radeon/KAVERI_ce.bin differ diff --git a/radeon/KAVERI_me.bin b/radeon/KAVERI_me.bin new file mode 100644 index 0000000..543dc67 Binary files /dev/null and b/radeon/KAVERI_me.bin differ diff --git a/radeon/KAVERI_mec.bin b/radeon/KAVERI_mec.bin new file mode 100644 index 0000000..002ac5c Binary files /dev/null and b/radeon/KAVERI_mec.bin differ diff --git a/radeon/KAVERI_pfp.bin b/radeon/KAVERI_pfp.bin new file mode 100644 index 0000000..77590a1 Binary files /dev/null and b/radeon/KAVERI_pfp.bin differ diff --git a/radeon/KAVERI_rlc.bin b/radeon/KAVERI_rlc.bin new file mode 100644 index 0000000..ba84d86 Binary files /dev/null and b/radeon/KAVERI_rlc.bin differ diff --git a/radeon/KAVERI_sdma.bin b/radeon/KAVERI_sdma.bin new file mode 100644 index 0000000..4766a2a Binary files /dev/null and b/radeon/KAVERI_sdma.bin differ diff --git a/radeon/MULLINS_ce.bin b/radeon/MULLINS_ce.bin new file mode 100644 index 0000000..06d92de Binary files /dev/null and b/radeon/MULLINS_ce.bin differ diff --git a/radeon/MULLINS_me.bin b/radeon/MULLINS_me.bin new file mode 100644 index 0000000..543dc67 Binary files /dev/null and b/radeon/MULLINS_me.bin differ diff --git a/radeon/MULLINS_mec.bin b/radeon/MULLINS_mec.bin new file mode 100644 index 0000000..5ae6b38 Binary files /dev/null and b/radeon/MULLINS_mec.bin differ diff --git a/radeon/MULLINS_pfp.bin b/radeon/MULLINS_pfp.bin new file mode 100644 index 0000000..abe62fb Binary files /dev/null and b/radeon/MULLINS_pfp.bin differ diff --git a/radeon/MULLINS_rlc.bin b/radeon/MULLINS_rlc.bin new file mode 100644 index 0000000..8c24a03 Binary files /dev/null and b/radeon/MULLINS_rlc.bin differ diff --git a/radeon/MULLINS_sdma.bin b/radeon/MULLINS_sdma.bin new file mode 100644 index 0000000..4766a2a Binary files /dev/null and b/radeon/MULLINS_sdma.bin differ diff --git a/radeon/OLAND_ce.bin b/radeon/OLAND_ce.bin new file mode 100644 index 0000000..497e132 Binary files /dev/null and b/radeon/OLAND_ce.bin differ diff --git a/radeon/OLAND_mc.bin b/radeon/OLAND_mc.bin new file mode 100644 index 0000000..a7b80c3 Binary files /dev/null and b/radeon/OLAND_mc.bin differ diff --git a/radeon/OLAND_mc2.bin b/radeon/OLAND_mc2.bin new file mode 100644 index 0000000..a7b80c3 Binary files /dev/null and b/radeon/OLAND_mc2.bin differ diff --git a/radeon/OLAND_me.bin b/radeon/OLAND_me.bin new file mode 100644 index 0000000..6dc895b Binary files /dev/null and b/radeon/OLAND_me.bin differ diff --git a/radeon/OLAND_pfp.bin b/radeon/OLAND_pfp.bin new file mode 100644 index 0000000..496a20b Binary files /dev/null and b/radeon/OLAND_pfp.bin differ diff --git a/radeon/OLAND_rlc.bin b/radeon/OLAND_rlc.bin new file mode 100644 index 0000000..9e575ac Binary files /dev/null and b/radeon/OLAND_rlc.bin differ diff --git a/radeon/OLAND_smc.bin b/radeon/OLAND_smc.bin new file mode 100644 index 0000000..44c07f9 Binary files /dev/null and b/radeon/OLAND_smc.bin differ diff --git a/radeon/PALM_me.bin b/radeon/PALM_me.bin new file mode 100644 index 0000000..a03030f Binary files /dev/null and b/radeon/PALM_me.bin differ diff --git a/radeon/PALM_pfp.bin b/radeon/PALM_pfp.bin new file mode 100644 index 0000000..94d779f Binary files /dev/null and b/radeon/PALM_pfp.bin differ diff --git a/radeon/PITCAIRN_ce.bin b/radeon/PITCAIRN_ce.bin new file mode 100644 index 0000000..497e132 Binary files /dev/null and b/radeon/PITCAIRN_ce.bin differ diff --git a/radeon/PITCAIRN_mc.bin b/radeon/PITCAIRN_mc.bin new file mode 100644 index 0000000..b14006b Binary files /dev/null and b/radeon/PITCAIRN_mc.bin differ diff --git a/radeon/PITCAIRN_mc2.bin b/radeon/PITCAIRN_mc2.bin new file mode 100644 index 0000000..9a08f02 Binary files /dev/null and b/radeon/PITCAIRN_mc2.bin differ diff --git a/radeon/PITCAIRN_me.bin b/radeon/PITCAIRN_me.bin new file mode 100644 index 0000000..7806dcb Binary files /dev/null and b/radeon/PITCAIRN_me.bin differ diff --git a/radeon/PITCAIRN_pfp.bin b/radeon/PITCAIRN_pfp.bin new file mode 100644 index 0000000..2f0813e Binary files /dev/null and b/radeon/PITCAIRN_pfp.bin differ diff --git a/radeon/PITCAIRN_rlc.bin b/radeon/PITCAIRN_rlc.bin new file mode 100644 index 0000000..8070f9a Binary files /dev/null and b/radeon/PITCAIRN_rlc.bin differ diff --git a/radeon/PITCAIRN_smc.bin b/radeon/PITCAIRN_smc.bin new file mode 100644 index 0000000..c918c88 Binary files /dev/null and b/radeon/PITCAIRN_smc.bin differ diff --git a/radeon/R100_cp.bin b/radeon/R100_cp.bin new file mode 100644 index 0000000..f1e8a11 Binary files /dev/null and b/radeon/R100_cp.bin differ diff --git a/radeon/R200_cp.bin b/radeon/R200_cp.bin new file mode 100644 index 0000000..8ac88c6 Binary files /dev/null and b/radeon/R200_cp.bin differ diff --git a/radeon/R300_cp.bin b/radeon/R300_cp.bin new file mode 100644 index 0000000..b1b1100 Binary files /dev/null and b/radeon/R300_cp.bin differ diff --git a/radeon/R420_cp.bin b/radeon/R420_cp.bin new file mode 100644 index 0000000..bfeff60 Binary files /dev/null and b/radeon/R420_cp.bin differ diff --git a/radeon/R520_cp.bin b/radeon/R520_cp.bin new file mode 100644 index 0000000..1c93ca9 Binary files /dev/null and b/radeon/R520_cp.bin differ diff --git a/radeon/R600_me.bin b/radeon/R600_me.bin new file mode 100644 index 0000000..3939685 Binary files /dev/null and b/radeon/R600_me.bin differ diff --git a/radeon/R600_pfp.bin b/radeon/R600_pfp.bin new file mode 100644 index 0000000..b1b2e95 Binary files /dev/null and b/radeon/R600_pfp.bin differ diff --git a/radeon/R600_rlc.bin b/radeon/R600_rlc.bin new file mode 100644 index 0000000..4b023f3 Binary files /dev/null and b/radeon/R600_rlc.bin differ diff --git a/radeon/R600_uvd.bin b/radeon/R600_uvd.bin new file mode 100644 index 0000000..db32669 Binary files /dev/null and b/radeon/R600_uvd.bin differ diff --git a/radeon/R700_rlc.bin b/radeon/R700_rlc.bin new file mode 100644 index 0000000..bf028ae Binary files /dev/null and b/radeon/R700_rlc.bin differ diff --git a/radeon/REDWOOD_me.bin b/radeon/REDWOOD_me.bin new file mode 100644 index 0000000..3208c8e Binary files /dev/null and b/radeon/REDWOOD_me.bin differ diff --git a/radeon/REDWOOD_pfp.bin b/radeon/REDWOOD_pfp.bin new file mode 100644 index 0000000..f9b8263 Binary files /dev/null and b/radeon/REDWOOD_pfp.bin differ diff --git a/radeon/REDWOOD_rlc.bin b/radeon/REDWOOD_rlc.bin new file mode 100644 index 0000000..674e580 Binary files /dev/null and b/radeon/REDWOOD_rlc.bin differ diff --git a/radeon/REDWOOD_smc.bin b/radeon/REDWOOD_smc.bin new file mode 100644 index 0000000..5c835de Binary files /dev/null and b/radeon/REDWOOD_smc.bin differ diff --git a/radeon/RS600_cp.bin b/radeon/RS600_cp.bin new file mode 100644 index 0000000..171ecac Binary files /dev/null and b/radeon/RS600_cp.bin differ diff --git a/radeon/RS690_cp.bin b/radeon/RS690_cp.bin new file mode 100644 index 0000000..38f11b4 Binary files /dev/null and b/radeon/RS690_cp.bin differ diff --git a/radeon/RS780_me.bin b/radeon/RS780_me.bin new file mode 100644 index 0000000..67292bf Binary files /dev/null and b/radeon/RS780_me.bin differ diff --git a/radeon/RS780_pfp.bin b/radeon/RS780_pfp.bin new file mode 100644 index 0000000..7d89878 Binary files /dev/null and b/radeon/RS780_pfp.bin differ diff --git a/radeon/RS780_uvd.bin b/radeon/RS780_uvd.bin new file mode 100644 index 0000000..b971e9e Binary files /dev/null and b/radeon/RS780_uvd.bin differ diff --git a/radeon/RV610_me.bin b/radeon/RV610_me.bin new file mode 100644 index 0000000..66d265c Binary files /dev/null and b/radeon/RV610_me.bin differ diff --git a/radeon/RV610_pfp.bin b/radeon/RV610_pfp.bin new file mode 100644 index 0000000..18c3546 Binary files /dev/null and b/radeon/RV610_pfp.bin differ diff --git a/radeon/RV620_me.bin b/radeon/RV620_me.bin new file mode 100644 index 0000000..66d265c Binary files /dev/null and b/radeon/RV620_me.bin differ diff --git a/radeon/RV620_pfp.bin b/radeon/RV620_pfp.bin new file mode 100644 index 0000000..18c3546 Binary files /dev/null and b/radeon/RV620_pfp.bin differ diff --git a/radeon/RV630_me.bin b/radeon/RV630_me.bin new file mode 100644 index 0000000..9ded757 Binary files /dev/null and b/radeon/RV630_me.bin differ diff --git a/radeon/RV630_pfp.bin b/radeon/RV630_pfp.bin new file mode 100644 index 0000000..18c3546 Binary files /dev/null and b/radeon/RV630_pfp.bin differ diff --git a/radeon/RV635_me.bin b/radeon/RV635_me.bin new file mode 100644 index 0000000..9ded757 Binary files /dev/null and b/radeon/RV635_me.bin differ diff --git a/radeon/RV635_pfp.bin b/radeon/RV635_pfp.bin new file mode 100644 index 0000000..18c3546 Binary files /dev/null and b/radeon/RV635_pfp.bin differ diff --git a/radeon/RV670_me.bin b/radeon/RV670_me.bin new file mode 100644 index 0000000..109b675 Binary files /dev/null and b/radeon/RV670_me.bin differ diff --git a/radeon/RV670_pfp.bin b/radeon/RV670_pfp.bin new file mode 100644 index 0000000..18c3546 Binary files /dev/null and b/radeon/RV670_pfp.bin differ diff --git a/radeon/RV710_me.bin b/radeon/RV710_me.bin new file mode 100644 index 0000000..da259e0 Binary files /dev/null and b/radeon/RV710_me.bin differ diff --git a/radeon/RV710_pfp.bin b/radeon/RV710_pfp.bin new file mode 100644 index 0000000..925b36d Binary files /dev/null and b/radeon/RV710_pfp.bin differ diff --git a/radeon/RV710_smc.bin b/radeon/RV710_smc.bin new file mode 100644 index 0000000..5679b82 Binary files /dev/null and b/radeon/RV710_smc.bin differ diff --git a/radeon/RV710_uvd.bin b/radeon/RV710_uvd.bin new file mode 100644 index 0000000..93a931c Binary files /dev/null and b/radeon/RV710_uvd.bin differ diff --git a/radeon/RV730_me.bin b/radeon/RV730_me.bin new file mode 100644 index 0000000..09b8eae Binary files /dev/null and b/radeon/RV730_me.bin differ diff --git a/radeon/RV730_pfp.bin b/radeon/RV730_pfp.bin new file mode 100644 index 0000000..925b36d Binary files /dev/null and b/radeon/RV730_pfp.bin differ diff --git a/radeon/RV730_smc.bin b/radeon/RV730_smc.bin new file mode 100644 index 0000000..4daf985 Binary files /dev/null and b/radeon/RV730_smc.bin differ diff --git a/radeon/RV740_smc.bin b/radeon/RV740_smc.bin new file mode 100644 index 0000000..8f416d9 Binary files /dev/null and b/radeon/RV740_smc.bin differ diff --git a/radeon/RV770_me.bin b/radeon/RV770_me.bin new file mode 100644 index 0000000..ae8c8d9 Binary files /dev/null and b/radeon/RV770_me.bin differ diff --git a/radeon/RV770_pfp.bin b/radeon/RV770_pfp.bin new file mode 100644 index 0000000..e835372 Binary files /dev/null and b/radeon/RV770_pfp.bin differ diff --git a/radeon/RV770_smc.bin b/radeon/RV770_smc.bin new file mode 100644 index 0000000..50955ca Binary files /dev/null and b/radeon/RV770_smc.bin differ diff --git a/radeon/RV770_uvd.bin b/radeon/RV770_uvd.bin new file mode 100644 index 0000000..9ea2b8e Binary files /dev/null and b/radeon/RV770_uvd.bin differ diff --git a/radeon/SUMO2_me.bin b/radeon/SUMO2_me.bin new file mode 100644 index 0000000..0072308 Binary files /dev/null and b/radeon/SUMO2_me.bin differ diff --git a/radeon/SUMO2_pfp.bin b/radeon/SUMO2_pfp.bin new file mode 100644 index 0000000..73690ba Binary files /dev/null and b/radeon/SUMO2_pfp.bin differ diff --git a/radeon/SUMO_me.bin b/radeon/SUMO_me.bin new file mode 100644 index 0000000..0072308 Binary files /dev/null and b/radeon/SUMO_me.bin differ diff --git a/radeon/SUMO_pfp.bin b/radeon/SUMO_pfp.bin new file mode 100644 index 0000000..b3bcb64 Binary files /dev/null and b/radeon/SUMO_pfp.bin differ diff --git a/radeon/SUMO_rlc.bin b/radeon/SUMO_rlc.bin new file mode 100644 index 0000000..61b509f Binary files /dev/null and b/radeon/SUMO_rlc.bin differ diff --git a/radeon/SUMO_uvd.bin b/radeon/SUMO_uvd.bin new file mode 100644 index 0000000..4964c8a Binary files /dev/null and b/radeon/SUMO_uvd.bin differ diff --git a/radeon/TAHITI_ce.bin b/radeon/TAHITI_ce.bin new file mode 100644 index 0000000..497e132 Binary files /dev/null and b/radeon/TAHITI_ce.bin differ diff --git a/radeon/TAHITI_mc.bin b/radeon/TAHITI_mc.bin new file mode 100644 index 0000000..b14006b Binary files /dev/null and b/radeon/TAHITI_mc.bin differ diff --git a/radeon/TAHITI_mc2.bin b/radeon/TAHITI_mc2.bin new file mode 100644 index 0000000..68db0fe Binary files /dev/null and b/radeon/TAHITI_mc2.bin differ diff --git a/radeon/TAHITI_me.bin b/radeon/TAHITI_me.bin new file mode 100644 index 0000000..7806dcb Binary files /dev/null and b/radeon/TAHITI_me.bin differ diff --git a/radeon/TAHITI_pfp.bin b/radeon/TAHITI_pfp.bin new file mode 100644 index 0000000..2f0813e Binary files /dev/null and b/radeon/TAHITI_pfp.bin differ diff --git a/radeon/TAHITI_rlc.bin b/radeon/TAHITI_rlc.bin new file mode 100644 index 0000000..cdb7437 Binary files /dev/null and b/radeon/TAHITI_rlc.bin differ diff --git a/radeon/TAHITI_smc.bin b/radeon/TAHITI_smc.bin new file mode 100644 index 0000000..a6ef51e Binary files /dev/null and b/radeon/TAHITI_smc.bin differ diff --git a/radeon/TAHITI_uvd.bin b/radeon/TAHITI_uvd.bin new file mode 100644 index 0000000..a2dc918 Binary files /dev/null and b/radeon/TAHITI_uvd.bin differ diff --git a/radeon/TAHITI_vce.bin b/radeon/TAHITI_vce.bin new file mode 100644 index 0000000..1a9a8a4 Binary files /dev/null and b/radeon/TAHITI_vce.bin differ diff --git a/radeon/TURKS_mc.bin b/radeon/TURKS_mc.bin new file mode 100644 index 0000000..5ba9568 Binary files /dev/null and b/radeon/TURKS_mc.bin differ diff --git a/radeon/TURKS_me.bin b/radeon/TURKS_me.bin new file mode 100644 index 0000000..439cefc Binary files /dev/null and b/radeon/TURKS_me.bin differ diff --git a/radeon/TURKS_pfp.bin b/radeon/TURKS_pfp.bin new file mode 100644 index 0000000..5d9a63a Binary files /dev/null and b/radeon/TURKS_pfp.bin differ diff --git a/radeon/TURKS_smc.bin b/radeon/TURKS_smc.bin new file mode 100644 index 0000000..d644ab6 Binary files /dev/null and b/radeon/TURKS_smc.bin differ diff --git a/radeon/VERDE_ce.bin b/radeon/VERDE_ce.bin new file mode 100644 index 0000000..497e132 Binary files /dev/null and b/radeon/VERDE_ce.bin differ diff --git a/radeon/VERDE_mc.bin b/radeon/VERDE_mc.bin new file mode 100644 index 0000000..b14006b Binary files /dev/null and b/radeon/VERDE_mc.bin differ diff --git a/radeon/VERDE_mc2.bin b/radeon/VERDE_mc2.bin new file mode 100644 index 0000000..4451e20 Binary files /dev/null and b/radeon/VERDE_mc2.bin differ diff --git a/radeon/VERDE_me.bin b/radeon/VERDE_me.bin new file mode 100644 index 0000000..acb4ecd Binary files /dev/null and b/radeon/VERDE_me.bin differ diff --git a/radeon/VERDE_pfp.bin b/radeon/VERDE_pfp.bin new file mode 100644 index 0000000..d4a2e00 Binary files /dev/null and b/radeon/VERDE_pfp.bin differ diff --git a/radeon/VERDE_rlc.bin b/radeon/VERDE_rlc.bin new file mode 100644 index 0000000..beb17b0 Binary files /dev/null and b/radeon/VERDE_rlc.bin differ diff --git a/radeon/VERDE_smc.bin b/radeon/VERDE_smc.bin new file mode 100644 index 0000000..78a154e Binary files /dev/null and b/radeon/VERDE_smc.bin differ diff --git a/radeon/banks_k_2_smc.bin b/radeon/banks_k_2_smc.bin new file mode 100644 index 0000000..9e033fb Binary files /dev/null and b/radeon/banks_k_2_smc.bin differ diff --git a/radeon/bonaire_ce.bin b/radeon/bonaire_ce.bin new file mode 100644 index 0000000..21d2eba Binary files /dev/null and b/radeon/bonaire_ce.bin differ diff --git a/radeon/bonaire_k_smc.bin b/radeon/bonaire_k_smc.bin new file mode 100644 index 0000000..3d6299f Binary files /dev/null and b/radeon/bonaire_k_smc.bin differ diff --git a/radeon/bonaire_mc.bin b/radeon/bonaire_mc.bin new file mode 100644 index 0000000..7397544 Binary files /dev/null and b/radeon/bonaire_mc.bin differ diff --git a/radeon/bonaire_me.bin b/radeon/bonaire_me.bin new file mode 100644 index 0000000..bd43457 Binary files /dev/null and b/radeon/bonaire_me.bin differ diff --git a/radeon/bonaire_mec.bin b/radeon/bonaire_mec.bin new file mode 100644 index 0000000..af7870a Binary files /dev/null and b/radeon/bonaire_mec.bin differ diff --git a/radeon/bonaire_pfp.bin b/radeon/bonaire_pfp.bin new file mode 100644 index 0000000..ca3af0e Binary files /dev/null and b/radeon/bonaire_pfp.bin differ diff --git a/radeon/bonaire_rlc.bin b/radeon/bonaire_rlc.bin new file mode 100644 index 0000000..69410a8 Binary files /dev/null and b/radeon/bonaire_rlc.bin differ diff --git a/radeon/bonaire_sdma.bin b/radeon/bonaire_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/radeon/bonaire_sdma.bin differ diff --git a/radeon/bonaire_sdma1.bin b/radeon/bonaire_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/radeon/bonaire_sdma1.bin differ diff --git a/radeon/bonaire_smc.bin b/radeon/bonaire_smc.bin new file mode 100644 index 0000000..28b34d4 Binary files /dev/null and b/radeon/bonaire_smc.bin differ diff --git a/radeon/bonaire_uvd.bin b/radeon/bonaire_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/radeon/bonaire_uvd.bin differ diff --git a/radeon/bonaire_vce.bin b/radeon/bonaire_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/radeon/bonaire_vce.bin differ diff --git a/radeon/hainan_ce.bin b/radeon/hainan_ce.bin new file mode 100644 index 0000000..1dd2c23 Binary files /dev/null and b/radeon/hainan_ce.bin differ diff --git a/radeon/hainan_k_smc.bin b/radeon/hainan_k_smc.bin new file mode 100644 index 0000000..c4e84ca Binary files /dev/null and b/radeon/hainan_k_smc.bin differ diff --git a/radeon/hainan_mc.bin b/radeon/hainan_mc.bin new file mode 100644 index 0000000..a4c03f6 Binary files /dev/null and b/radeon/hainan_mc.bin differ diff --git a/radeon/hainan_me.bin b/radeon/hainan_me.bin new file mode 100644 index 0000000..23990d2 Binary files /dev/null and b/radeon/hainan_me.bin differ diff --git a/radeon/hainan_pfp.bin b/radeon/hainan_pfp.bin new file mode 100644 index 0000000..7037022 Binary files /dev/null and b/radeon/hainan_pfp.bin differ diff --git a/radeon/hainan_rlc.bin b/radeon/hainan_rlc.bin new file mode 100644 index 0000000..5cce436 Binary files /dev/null and b/radeon/hainan_rlc.bin differ diff --git a/radeon/hainan_smc.bin b/radeon/hainan_smc.bin new file mode 100644 index 0000000..4a5f9e8 Binary files /dev/null and b/radeon/hainan_smc.bin differ diff --git a/radeon/hawaii_ce.bin b/radeon/hawaii_ce.bin new file mode 100644 index 0000000..9eed128 Binary files /dev/null and b/radeon/hawaii_ce.bin differ diff --git a/radeon/hawaii_k_smc.bin b/radeon/hawaii_k_smc.bin new file mode 100644 index 0000000..1c7513a Binary files /dev/null and b/radeon/hawaii_k_smc.bin differ diff --git a/radeon/hawaii_mc.bin b/radeon/hawaii_mc.bin new file mode 100644 index 0000000..c8bdd10 Binary files /dev/null and b/radeon/hawaii_mc.bin differ diff --git a/radeon/hawaii_me.bin b/radeon/hawaii_me.bin new file mode 100644 index 0000000..6ebfa49 Binary files /dev/null and b/radeon/hawaii_me.bin differ diff --git a/radeon/hawaii_mec.bin b/radeon/hawaii_mec.bin new file mode 100644 index 0000000..9785585 Binary files /dev/null and b/radeon/hawaii_mec.bin differ diff --git a/radeon/hawaii_pfp.bin b/radeon/hawaii_pfp.bin new file mode 100644 index 0000000..ee376c1 Binary files /dev/null and b/radeon/hawaii_pfp.bin differ diff --git a/radeon/hawaii_rlc.bin b/radeon/hawaii_rlc.bin new file mode 100644 index 0000000..56abc51 Binary files /dev/null and b/radeon/hawaii_rlc.bin differ diff --git a/radeon/hawaii_sdma.bin b/radeon/hawaii_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/radeon/hawaii_sdma.bin differ diff --git a/radeon/hawaii_sdma1.bin b/radeon/hawaii_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/radeon/hawaii_sdma1.bin differ diff --git a/radeon/hawaii_smc.bin b/radeon/hawaii_smc.bin new file mode 100644 index 0000000..b0fd7a0 Binary files /dev/null and b/radeon/hawaii_smc.bin differ diff --git a/radeon/hawaii_uvd.bin b/radeon/hawaii_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/radeon/hawaii_uvd.bin differ diff --git a/radeon/hawaii_vce.bin b/radeon/hawaii_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/radeon/hawaii_vce.bin differ diff --git a/radeon/kabini_ce.bin b/radeon/kabini_ce.bin new file mode 100644 index 0000000..c2c0f4a Binary files /dev/null and b/radeon/kabini_ce.bin differ diff --git a/radeon/kabini_me.bin b/radeon/kabini_me.bin new file mode 100644 index 0000000..1e2406a Binary files /dev/null and b/radeon/kabini_me.bin differ diff --git a/radeon/kabini_mec.bin b/radeon/kabini_mec.bin new file mode 100644 index 0000000..e16efdb Binary files /dev/null and b/radeon/kabini_mec.bin differ diff --git a/radeon/kabini_pfp.bin b/radeon/kabini_pfp.bin new file mode 100644 index 0000000..b3b4c60 Binary files /dev/null and b/radeon/kabini_pfp.bin differ diff --git a/radeon/kabini_rlc.bin b/radeon/kabini_rlc.bin new file mode 100644 index 0000000..d1bd91b Binary files /dev/null and b/radeon/kabini_rlc.bin differ diff --git a/radeon/kabini_sdma.bin b/radeon/kabini_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/radeon/kabini_sdma.bin differ diff --git a/radeon/kabini_sdma1.bin b/radeon/kabini_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/radeon/kabini_sdma1.bin differ diff --git a/radeon/kabini_uvd.bin b/radeon/kabini_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/radeon/kabini_uvd.bin differ diff --git a/radeon/kabini_vce.bin b/radeon/kabini_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/radeon/kabini_vce.bin differ diff --git a/radeon/kaveri_ce.bin b/radeon/kaveri_ce.bin new file mode 100644 index 0000000..c2c0f4a Binary files /dev/null and b/radeon/kaveri_ce.bin differ diff --git a/radeon/kaveri_me.bin b/radeon/kaveri_me.bin new file mode 100644 index 0000000..1e2406a Binary files /dev/null and b/radeon/kaveri_me.bin differ diff --git a/radeon/kaveri_mec.bin b/radeon/kaveri_mec.bin new file mode 100644 index 0000000..431630f Binary files /dev/null and b/radeon/kaveri_mec.bin differ diff --git a/radeon/kaveri_mec2.bin b/radeon/kaveri_mec2.bin new file mode 100644 index 0000000..1f7597e Binary files /dev/null and b/radeon/kaveri_mec2.bin differ diff --git a/radeon/kaveri_pfp.bin b/radeon/kaveri_pfp.bin new file mode 100644 index 0000000..b43f47d Binary files /dev/null and b/radeon/kaveri_pfp.bin differ diff --git a/radeon/kaveri_rlc.bin b/radeon/kaveri_rlc.bin new file mode 100644 index 0000000..66b5b10 Binary files /dev/null and b/radeon/kaveri_rlc.bin differ diff --git a/radeon/kaveri_sdma.bin b/radeon/kaveri_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/radeon/kaveri_sdma.bin differ diff --git a/radeon/kaveri_sdma1.bin b/radeon/kaveri_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/radeon/kaveri_sdma1.bin differ diff --git a/radeon/kaveri_uvd.bin b/radeon/kaveri_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/radeon/kaveri_uvd.bin differ diff --git a/radeon/kaveri_vce.bin b/radeon/kaveri_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/radeon/kaveri_vce.bin differ diff --git a/radeon/mullins_ce.bin b/radeon/mullins_ce.bin new file mode 100644 index 0000000..c2c0f4a Binary files /dev/null and b/radeon/mullins_ce.bin differ diff --git a/radeon/mullins_me.bin b/radeon/mullins_me.bin new file mode 100644 index 0000000..1e2406a Binary files /dev/null and b/radeon/mullins_me.bin differ diff --git a/radeon/mullins_mec.bin b/radeon/mullins_mec.bin new file mode 100644 index 0000000..e16efdb Binary files /dev/null and b/radeon/mullins_mec.bin differ diff --git a/radeon/mullins_pfp.bin b/radeon/mullins_pfp.bin new file mode 100644 index 0000000..b3b4c60 Binary files /dev/null and b/radeon/mullins_pfp.bin differ diff --git a/radeon/mullins_rlc.bin b/radeon/mullins_rlc.bin new file mode 100644 index 0000000..0279be1 Binary files /dev/null and b/radeon/mullins_rlc.bin differ diff --git a/radeon/mullins_sdma.bin b/radeon/mullins_sdma.bin new file mode 100644 index 0000000..77b6d9d Binary files /dev/null and b/radeon/mullins_sdma.bin differ diff --git a/radeon/mullins_sdma1.bin b/radeon/mullins_sdma1.bin new file mode 100644 index 0000000..f9efa13 Binary files /dev/null and b/radeon/mullins_sdma1.bin differ diff --git a/radeon/mullins_uvd.bin b/radeon/mullins_uvd.bin new file mode 100644 index 0000000..ff46139 Binary files /dev/null and b/radeon/mullins_uvd.bin differ diff --git a/radeon/mullins_vce.bin b/radeon/mullins_vce.bin new file mode 100644 index 0000000..bea60f1 Binary files /dev/null and b/radeon/mullins_vce.bin differ diff --git a/radeon/oland_ce.bin b/radeon/oland_ce.bin new file mode 100644 index 0000000..1dd2c23 Binary files /dev/null and b/radeon/oland_ce.bin differ diff --git a/radeon/oland_k_smc.bin b/radeon/oland_k_smc.bin new file mode 100644 index 0000000..f5b2bef Binary files /dev/null and b/radeon/oland_k_smc.bin differ diff --git a/radeon/oland_mc.bin b/radeon/oland_mc.bin new file mode 100644 index 0000000..3374eec Binary files /dev/null and b/radeon/oland_mc.bin differ diff --git a/radeon/oland_me.bin b/radeon/oland_me.bin new file mode 100644 index 0000000..23990d2 Binary files /dev/null and b/radeon/oland_me.bin differ diff --git a/radeon/oland_pfp.bin b/radeon/oland_pfp.bin new file mode 100644 index 0000000..611f727 Binary files /dev/null and b/radeon/oland_pfp.bin differ diff --git a/radeon/oland_rlc.bin b/radeon/oland_rlc.bin new file mode 100644 index 0000000..bf3f86f Binary files /dev/null and b/radeon/oland_rlc.bin differ diff --git a/radeon/oland_smc.bin b/radeon/oland_smc.bin new file mode 100644 index 0000000..faab678 Binary files /dev/null and b/radeon/oland_smc.bin differ diff --git a/radeon/pitcairn_ce.bin b/radeon/pitcairn_ce.bin new file mode 100644 index 0000000..1dd2c23 Binary files /dev/null and b/radeon/pitcairn_ce.bin differ diff --git a/radeon/pitcairn_k_smc.bin b/radeon/pitcairn_k_smc.bin new file mode 100644 index 0000000..7c43550 Binary files /dev/null and b/radeon/pitcairn_k_smc.bin differ diff --git a/radeon/pitcairn_mc.bin b/radeon/pitcairn_mc.bin new file mode 100644 index 0000000..269e788 Binary files /dev/null and b/radeon/pitcairn_mc.bin differ diff --git a/radeon/pitcairn_me.bin b/radeon/pitcairn_me.bin new file mode 100644 index 0000000..23990d2 Binary files /dev/null and b/radeon/pitcairn_me.bin differ diff --git a/radeon/pitcairn_pfp.bin b/radeon/pitcairn_pfp.bin new file mode 100644 index 0000000..747995c Binary files /dev/null and b/radeon/pitcairn_pfp.bin differ diff --git a/radeon/pitcairn_rlc.bin b/radeon/pitcairn_rlc.bin new file mode 100644 index 0000000..08f539b Binary files /dev/null and b/radeon/pitcairn_rlc.bin differ diff --git a/radeon/pitcairn_smc.bin b/radeon/pitcairn_smc.bin new file mode 100644 index 0000000..e257551 Binary files /dev/null and b/radeon/pitcairn_smc.bin differ diff --git a/radeon/si58_mc.bin b/radeon/si58_mc.bin new file mode 100644 index 0000000..888398d Binary files /dev/null and b/radeon/si58_mc.bin differ diff --git a/radeon/tahiti_ce.bin b/radeon/tahiti_ce.bin new file mode 100644 index 0000000..1dd2c23 Binary files /dev/null and b/radeon/tahiti_ce.bin differ diff --git a/radeon/tahiti_k_smc.bin b/radeon/tahiti_k_smc.bin new file mode 100644 index 0000000..0b514f9 Binary files /dev/null and b/radeon/tahiti_k_smc.bin differ diff --git a/radeon/tahiti_mc.bin b/radeon/tahiti_mc.bin new file mode 100644 index 0000000..b5824b6 Binary files /dev/null and b/radeon/tahiti_mc.bin differ diff --git a/radeon/tahiti_me.bin b/radeon/tahiti_me.bin new file mode 100644 index 0000000..23990d2 Binary files /dev/null and b/radeon/tahiti_me.bin differ diff --git a/radeon/tahiti_pfp.bin b/radeon/tahiti_pfp.bin new file mode 100644 index 0000000..747995c Binary files /dev/null and b/radeon/tahiti_pfp.bin differ diff --git a/radeon/tahiti_rlc.bin b/radeon/tahiti_rlc.bin new file mode 100644 index 0000000..2bbcc2f Binary files /dev/null and b/radeon/tahiti_rlc.bin differ diff --git a/radeon/tahiti_smc.bin b/radeon/tahiti_smc.bin new file mode 100644 index 0000000..eebf29c Binary files /dev/null and b/radeon/tahiti_smc.bin differ diff --git a/radeon/verde_ce.bin b/radeon/verde_ce.bin new file mode 100644 index 0000000..1dd2c23 Binary files /dev/null and b/radeon/verde_ce.bin differ diff --git a/radeon/verde_k_smc.bin b/radeon/verde_k_smc.bin new file mode 100644 index 0000000..c6572c8 Binary files /dev/null and b/radeon/verde_k_smc.bin differ diff --git a/radeon/verde_mc.bin b/radeon/verde_mc.bin new file mode 100644 index 0000000..235bd57 Binary files /dev/null and b/radeon/verde_mc.bin differ diff --git a/radeon/verde_me.bin b/radeon/verde_me.bin new file mode 100644 index 0000000..cfcc0d6 Binary files /dev/null and b/radeon/verde_me.bin differ diff --git a/radeon/verde_pfp.bin b/radeon/verde_pfp.bin new file mode 100644 index 0000000..cb4a737 Binary files /dev/null and b/radeon/verde_pfp.bin differ diff --git a/radeon/verde_rlc.bin b/radeon/verde_rlc.bin new file mode 100644 index 0000000..e1d3f6f Binary files /dev/null and b/radeon/verde_rlc.bin differ diff --git a/radeon/verde_smc.bin b/radeon/verde_smc.bin new file mode 100644 index 0000000..8d05769 Binary files /dev/null and b/radeon/verde_smc.bin differ diff --git a/rockchip/dptx.bin b/rockchip/dptx.bin new file mode 100644 index 0000000..c22653a Binary files /dev/null and b/rockchip/dptx.bin differ diff --git a/rp2.fw b/rp2.fw new file mode 100644 index 0000000..a571e77 Binary files /dev/null and b/rp2.fw differ diff --git a/rsi/rs9113_ap_bt_dual_mode.rps b/rsi/rs9113_ap_bt_dual_mode.rps new file mode 100644 index 0000000..bffb943 Binary files /dev/null and b/rsi/rs9113_ap_bt_dual_mode.rps differ diff --git a/rsi/rs9113_wlan_bt_dual_mode.rps b/rsi/rs9113_wlan_bt_dual_mode.rps new file mode 100644 index 0000000..d015455 Binary files /dev/null and b/rsi/rs9113_wlan_bt_dual_mode.rps differ diff --git a/rsi/rs9113_wlan_qspi.rps b/rsi/rs9113_wlan_qspi.rps new file mode 100644 index 0000000..fe117bc Binary files /dev/null and b/rsi/rs9113_wlan_qspi.rps differ diff --git a/rsi/rs9116_wlan.rps b/rsi/rs9116_wlan.rps new file mode 100644 index 0000000..46d511a Binary files /dev/null and b/rsi/rs9116_wlan.rps differ diff --git a/rsi/rs9116_wlan_bt_classic.rps b/rsi/rs9116_wlan_bt_classic.rps new file mode 100644 index 0000000..e428415 Binary files /dev/null and b/rsi/rs9116_wlan_bt_classic.rps differ diff --git a/rt2561.bin b/rt2561.bin new file mode 100644 index 0000000..b14bad3 Binary files /dev/null and b/rt2561.bin differ diff --git a/rt2561s.bin b/rt2561s.bin new file mode 100644 index 0000000..b0f7950 Binary files /dev/null and b/rt2561s.bin differ diff --git a/rt2661.bin b/rt2661.bin new file mode 100644 index 0000000..fe52a0b Binary files /dev/null and b/rt2661.bin differ diff --git a/rt2860.bin b/rt2860.bin new file mode 100644 index 0000000..888c20c Binary files /dev/null and b/rt2860.bin differ diff --git a/rt2870.bin b/rt2870.bin new file mode 100644 index 0000000..9ddac4a Binary files /dev/null and b/rt2870.bin differ diff --git a/rt3071.bin b/rt3071.bin new file mode 100644 index 0000000..df12e5f Binary files /dev/null and b/rt3071.bin differ diff --git a/rt3290.bin b/rt3290.bin new file mode 100644 index 0000000..6ca33a5 Binary files /dev/null and b/rt3290.bin differ diff --git a/rt73.bin b/rt73.bin new file mode 100644 index 0000000..1e395dd Binary files /dev/null and b/rt73.bin differ diff --git a/rtl_bt/rtl8192ee_fw.bin b/rtl_bt/rtl8192ee_fw.bin new file mode 100644 index 0000000..7e5bcc0 Binary files /dev/null and b/rtl_bt/rtl8192ee_fw.bin differ diff --git a/rtl_bt/rtl8192eu_fw.bin b/rtl_bt/rtl8192eu_fw.bin new file mode 100644 index 0000000..7a13280 Binary files /dev/null and b/rtl_bt/rtl8192eu_fw.bin differ diff --git a/rtl_bt/rtl8723a_fw.bin b/rtl_bt/rtl8723a_fw.bin new file mode 100644 index 0000000..b736f91 Binary files /dev/null and b/rtl_bt/rtl8723a_fw.bin differ diff --git a/rtl_bt/rtl8723b_fw.bin b/rtl_bt/rtl8723b_fw.bin new file mode 100644 index 0000000..49b2a26 Binary files /dev/null and b/rtl_bt/rtl8723b_fw.bin differ diff --git a/rtl_bt/rtl8723bs_config-OBDA8723.bin b/rtl_bt/rtl8723bs_config-OBDA8723.bin new file mode 100644 index 0000000..c20970a Binary files /dev/null and b/rtl_bt/rtl8723bs_config-OBDA8723.bin differ diff --git a/rtl_bt/rtl8723bs_fw.bin b/rtl_bt/rtl8723bs_fw.bin new file mode 100644 index 0000000..5f77f80 Binary files /dev/null and b/rtl_bt/rtl8723bs_fw.bin differ diff --git a/rtl_bt/rtl8723d_config.bin b/rtl_bt/rtl8723d_config.bin new file mode 100644 index 0000000..bb15fcd Binary files /dev/null and b/rtl_bt/rtl8723d_config.bin differ diff --git a/rtl_bt/rtl8723d_fw.bin b/rtl_bt/rtl8723d_fw.bin new file mode 100644 index 0000000..0997fd7 Binary files /dev/null and b/rtl_bt/rtl8723d_fw.bin differ diff --git a/rtl_bt/rtl8761a_fw.bin b/rtl_bt/rtl8761a_fw.bin new file mode 100644 index 0000000..ee4f201 Binary files /dev/null and b/rtl_bt/rtl8761a_fw.bin differ diff --git a/rtl_bt/rtl8761b_config.bin b/rtl_bt/rtl8761b_config.bin new file mode 100644 index 0000000..99475ee Binary files /dev/null and b/rtl_bt/rtl8761b_config.bin differ diff --git a/rtl_bt/rtl8761b_fw.bin b/rtl_bt/rtl8761b_fw.bin new file mode 100644 index 0000000..aa99594 Binary files /dev/null and b/rtl_bt/rtl8761b_fw.bin differ diff --git a/rtl_bt/rtl8761bu_config.bin b/rtl_bt/rtl8761bu_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8761bu_config.bin differ diff --git a/rtl_bt/rtl8761bu_fw.bin b/rtl_bt/rtl8761bu_fw.bin new file mode 100644 index 0000000..1dc433e Binary files /dev/null and b/rtl_bt/rtl8761bu_fw.bin differ diff --git a/rtl_bt/rtl8812ae_fw.bin b/rtl_bt/rtl8812ae_fw.bin new file mode 100644 index 0000000..8aca8d2 Binary files /dev/null and b/rtl_bt/rtl8812ae_fw.bin differ diff --git a/rtl_bt/rtl8821a_fw.bin b/rtl_bt/rtl8821a_fw.bin new file mode 100644 index 0000000..c7dffe9 Binary files /dev/null and b/rtl_bt/rtl8821a_fw.bin differ diff --git a/rtl_bt/rtl8821c_config.bin b/rtl_bt/rtl8821c_config.bin new file mode 100644 index 0000000..bb15fcd Binary files /dev/null and b/rtl_bt/rtl8821c_config.bin differ diff --git a/rtl_bt/rtl8821c_fw.bin b/rtl_bt/rtl8821c_fw.bin new file mode 100644 index 0000000..e1e7820 Binary files /dev/null and b/rtl_bt/rtl8821c_fw.bin differ diff --git a/rtl_bt/rtl8821cs_config.bin b/rtl_bt/rtl8821cs_config.bin new file mode 100644 index 0000000..99475ee Binary files /dev/null and b/rtl_bt/rtl8821cs_config.bin differ diff --git a/rtl_bt/rtl8821cs_fw.bin b/rtl_bt/rtl8821cs_fw.bin new file mode 100644 index 0000000..657c5c0 Binary files /dev/null and b/rtl_bt/rtl8821cs_fw.bin differ diff --git a/rtl_bt/rtl8822b_config.bin b/rtl_bt/rtl8822b_config.bin new file mode 100644 index 0000000..b00270e Binary files /dev/null and b/rtl_bt/rtl8822b_config.bin differ diff --git a/rtl_bt/rtl8822b_fw.bin b/rtl_bt/rtl8822b_fw.bin new file mode 100644 index 0000000..5a46461 Binary files /dev/null and b/rtl_bt/rtl8822b_fw.bin differ diff --git a/rtl_bt/rtl8822cs_config.bin b/rtl_bt/rtl8822cs_config.bin new file mode 100644 index 0000000..33ee243 Binary files /dev/null and b/rtl_bt/rtl8822cs_config.bin differ diff --git a/rtl_bt/rtl8822cs_fw.bin b/rtl_bt/rtl8822cs_fw.bin new file mode 100644 index 0000000..9bc8f03 Binary files /dev/null and b/rtl_bt/rtl8822cs_fw.bin differ diff --git a/rtl_bt/rtl8822cu_config.bin b/rtl_bt/rtl8822cu_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8822cu_config.bin differ diff --git a/rtl_bt/rtl8822cu_fw.bin b/rtl_bt/rtl8822cu_fw.bin new file mode 100644 index 0000000..457e1cc Binary files /dev/null and b/rtl_bt/rtl8822cu_fw.bin differ diff --git a/rtl_bt/rtl8851bu_config.bin b/rtl_bt/rtl8851bu_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8851bu_config.bin differ diff --git a/rtl_bt/rtl8851bu_fw.bin b/rtl_bt/rtl8851bu_fw.bin new file mode 100644 index 0000000..046fab7 Binary files /dev/null and b/rtl_bt/rtl8851bu_fw.bin differ diff --git a/rtl_bt/rtl8852au_config.bin b/rtl_bt/rtl8852au_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8852au_config.bin differ diff --git a/rtl_bt/rtl8852au_fw.bin b/rtl_bt/rtl8852au_fw.bin new file mode 100644 index 0000000..ef94022 Binary files /dev/null and b/rtl_bt/rtl8852au_fw.bin differ diff --git a/rtl_bt/rtl8852bu_config.bin b/rtl_bt/rtl8852bu_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8852bu_config.bin differ diff --git a/rtl_bt/rtl8852bu_fw.bin b/rtl_bt/rtl8852bu_fw.bin new file mode 100644 index 0000000..2636ae5 Binary files /dev/null and b/rtl_bt/rtl8852bu_fw.bin differ diff --git a/rtl_bt/rtl8852cu_config.bin b/rtl_bt/rtl8852cu_config.bin new file mode 100644 index 0000000..91d3f44 Binary files /dev/null and b/rtl_bt/rtl8852cu_config.bin differ diff --git a/rtl_bt/rtl8852cu_fw.bin b/rtl_bt/rtl8852cu_fw.bin new file mode 100644 index 0000000..61987b7 Binary files /dev/null and b/rtl_bt/rtl8852cu_fw.bin differ diff --git a/rtl_nic/rtl8105e-1.fw b/rtl_nic/rtl8105e-1.fw new file mode 100644 index 0000000..4c2cbd0 Binary files /dev/null and b/rtl_nic/rtl8105e-1.fw differ diff --git a/rtl_nic/rtl8106e-1.fw b/rtl_nic/rtl8106e-1.fw new file mode 100644 index 0000000..85694cb Binary files /dev/null and b/rtl_nic/rtl8106e-1.fw differ diff --git a/rtl_nic/rtl8106e-2.fw b/rtl_nic/rtl8106e-2.fw new file mode 100644 index 0000000..ac04275 Binary files /dev/null and b/rtl_nic/rtl8106e-2.fw differ diff --git a/rtl_nic/rtl8107e-1.fw b/rtl_nic/rtl8107e-1.fw new file mode 100644 index 0000000..c071c2f Binary files /dev/null and b/rtl_nic/rtl8107e-1.fw differ diff --git a/rtl_nic/rtl8107e-2.fw b/rtl_nic/rtl8107e-2.fw new file mode 100644 index 0000000..76fc054 Binary files /dev/null and b/rtl_nic/rtl8107e-2.fw differ diff --git a/rtl_nic/rtl8125a-3.fw b/rtl_nic/rtl8125a-3.fw new file mode 100644 index 0000000..fac6352 Binary files /dev/null and b/rtl_nic/rtl8125a-3.fw differ diff --git a/rtl_nic/rtl8125b-1.fw b/rtl_nic/rtl8125b-1.fw new file mode 100644 index 0000000..90191ab Binary files /dev/null and b/rtl_nic/rtl8125b-1.fw differ diff --git a/rtl_nic/rtl8125b-2.fw b/rtl_nic/rtl8125b-2.fw new file mode 100644 index 0000000..dc753b5 Binary files /dev/null and b/rtl_nic/rtl8125b-2.fw differ diff --git a/rtl_nic/rtl8153a-2.fw b/rtl_nic/rtl8153a-2.fw new file mode 100644 index 0000000..9c90f5d Binary files /dev/null and b/rtl_nic/rtl8153a-2.fw differ diff --git a/rtl_nic/rtl8153a-3.fw b/rtl_nic/rtl8153a-3.fw new file mode 100644 index 0000000..184c2c1 Binary files /dev/null and b/rtl_nic/rtl8153a-3.fw differ diff --git a/rtl_nic/rtl8153a-4.fw b/rtl_nic/rtl8153a-4.fw new file mode 100644 index 0000000..b0c5e02 Binary files /dev/null and b/rtl_nic/rtl8153a-4.fw differ diff --git a/rtl_nic/rtl8153b-2.fw b/rtl_nic/rtl8153b-2.fw new file mode 100644 index 0000000..bb8e16a Binary files /dev/null and b/rtl_nic/rtl8153b-2.fw differ diff --git a/rtl_nic/rtl8153c-1.fw b/rtl_nic/rtl8153c-1.fw new file mode 100644 index 0000000..e2b5d74 Binary files /dev/null and b/rtl_nic/rtl8153c-1.fw differ diff --git a/rtl_nic/rtl8156a-2.fw b/rtl_nic/rtl8156a-2.fw new file mode 100644 index 0000000..5012cd2 Binary files /dev/null and b/rtl_nic/rtl8156a-2.fw differ diff --git a/rtl_nic/rtl8156b-2.fw b/rtl_nic/rtl8156b-2.fw new file mode 100644 index 0000000..417fbd3 Binary files /dev/null and b/rtl_nic/rtl8156b-2.fw differ diff --git a/rtl_nic/rtl8168d-1.fw b/rtl_nic/rtl8168d-1.fw new file mode 100644 index 0000000..99e002d Binary files /dev/null and b/rtl_nic/rtl8168d-1.fw differ diff --git a/rtl_nic/rtl8168d-2.fw b/rtl_nic/rtl8168d-2.fw new file mode 100644 index 0000000..7022ab0 Binary files /dev/null and b/rtl_nic/rtl8168d-2.fw differ diff --git a/rtl_nic/rtl8168e-1.fw b/rtl_nic/rtl8168e-1.fw new file mode 100644 index 0000000..d203bd5 Binary files /dev/null and b/rtl_nic/rtl8168e-1.fw differ diff --git a/rtl_nic/rtl8168e-2.fw b/rtl_nic/rtl8168e-2.fw new file mode 100644 index 0000000..7ea5984 Binary files /dev/null and b/rtl_nic/rtl8168e-2.fw differ diff --git a/rtl_nic/rtl8168e-3.fw b/rtl_nic/rtl8168e-3.fw new file mode 100644 index 0000000..0f888a3 Binary files /dev/null and b/rtl_nic/rtl8168e-3.fw differ diff --git a/rtl_nic/rtl8168f-1.fw b/rtl_nic/rtl8168f-1.fw new file mode 100644 index 0000000..bf78831 Binary files /dev/null and b/rtl_nic/rtl8168f-1.fw differ diff --git a/rtl_nic/rtl8168f-2.fw b/rtl_nic/rtl8168f-2.fw new file mode 100644 index 0000000..c342492 Binary files /dev/null and b/rtl_nic/rtl8168f-2.fw differ diff --git a/rtl_nic/rtl8168fp-3.fw b/rtl_nic/rtl8168fp-3.fw new file mode 100644 index 0000000..cc70384 Binary files /dev/null and b/rtl_nic/rtl8168fp-3.fw differ diff --git a/rtl_nic/rtl8168g-1.fw b/rtl_nic/rtl8168g-1.fw new file mode 100644 index 0000000..2c628b0 Binary files /dev/null and b/rtl_nic/rtl8168g-1.fw differ diff --git a/rtl_nic/rtl8168g-2.fw b/rtl_nic/rtl8168g-2.fw new file mode 100644 index 0000000..944d44e Binary files /dev/null and b/rtl_nic/rtl8168g-2.fw differ diff --git a/rtl_nic/rtl8168g-3.fw b/rtl_nic/rtl8168g-3.fw new file mode 100644 index 0000000..0c97d7e Binary files /dev/null and b/rtl_nic/rtl8168g-3.fw differ diff --git a/rtl_nic/rtl8168h-1.fw b/rtl_nic/rtl8168h-1.fw new file mode 100644 index 0000000..296813a Binary files /dev/null and b/rtl_nic/rtl8168h-1.fw differ diff --git a/rtl_nic/rtl8168h-2.fw b/rtl_nic/rtl8168h-2.fw new file mode 100644 index 0000000..df92848 Binary files /dev/null and b/rtl_nic/rtl8168h-2.fw differ diff --git a/rtl_nic/rtl8402-1.fw b/rtl_nic/rtl8402-1.fw new file mode 100644 index 0000000..82fa35d Binary files /dev/null and b/rtl_nic/rtl8402-1.fw differ diff --git a/rtl_nic/rtl8411-1.fw b/rtl_nic/rtl8411-1.fw new file mode 100644 index 0000000..72772db Binary files /dev/null and b/rtl_nic/rtl8411-1.fw differ diff --git a/rtl_nic/rtl8411-2.fw b/rtl_nic/rtl8411-2.fw new file mode 100644 index 0000000..e3789fe Binary files /dev/null and b/rtl_nic/rtl8411-2.fw differ diff --git a/rtlwifi/rtl8188efw.bin b/rtlwifi/rtl8188efw.bin new file mode 100644 index 0000000..ac9a430 Binary files /dev/null and b/rtlwifi/rtl8188efw.bin differ diff --git a/rtlwifi/rtl8188eufw.bin b/rtlwifi/rtl8188eufw.bin new file mode 100644 index 0000000..8bb12ea Binary files /dev/null and b/rtlwifi/rtl8188eufw.bin differ diff --git a/rtlwifi/rtl8188fufw.bin b/rtlwifi/rtl8188fufw.bin new file mode 100644 index 0000000..0d7fbab Binary files /dev/null and b/rtlwifi/rtl8188fufw.bin differ diff --git a/rtlwifi/rtl8192cfw.bin b/rtlwifi/rtl8192cfw.bin new file mode 100644 index 0000000..77eb1eb Binary files /dev/null and b/rtlwifi/rtl8192cfw.bin differ diff --git a/rtlwifi/rtl8192cfwU.bin b/rtlwifi/rtl8192cfwU.bin new file mode 100644 index 0000000..b231e1d Binary files /dev/null and b/rtlwifi/rtl8192cfwU.bin differ diff --git a/rtlwifi/rtl8192cfwU_B.bin b/rtlwifi/rtl8192cfwU_B.bin new file mode 100644 index 0000000..3a3e386 Binary files /dev/null and b/rtlwifi/rtl8192cfwU_B.bin differ diff --git a/rtlwifi/rtl8192cufw.bin b/rtlwifi/rtl8192cufw.bin new file mode 100644 index 0000000..3aa7506 Binary files /dev/null and b/rtlwifi/rtl8192cufw.bin differ diff --git a/rtlwifi/rtl8192cufw_A.bin b/rtlwifi/rtl8192cufw_A.bin new file mode 100644 index 0000000..fceafc9 Binary files /dev/null and b/rtlwifi/rtl8192cufw_A.bin differ diff --git a/rtlwifi/rtl8192cufw_B.bin b/rtlwifi/rtl8192cufw_B.bin new file mode 100644 index 0000000..06569e7 Binary files /dev/null and b/rtlwifi/rtl8192cufw_B.bin differ diff --git a/rtlwifi/rtl8192cufw_TMSC.bin b/rtlwifi/rtl8192cufw_TMSC.bin new file mode 100644 index 0000000..ec0a0d3 Binary files /dev/null and b/rtlwifi/rtl8192cufw_TMSC.bin differ diff --git a/rtlwifi/rtl8192defw.bin b/rtlwifi/rtl8192defw.bin new file mode 100644 index 0000000..cbb4b88 Binary files /dev/null and b/rtlwifi/rtl8192defw.bin differ diff --git a/rtlwifi/rtl8192eu_ap_wowlan.bin b/rtlwifi/rtl8192eu_ap_wowlan.bin new file mode 100644 index 0000000..f68d10c Binary files /dev/null and b/rtlwifi/rtl8192eu_ap_wowlan.bin differ diff --git a/rtlwifi/rtl8192eu_nic.bin b/rtlwifi/rtl8192eu_nic.bin new file mode 100644 index 0000000..4ee03e8 Binary files /dev/null and b/rtlwifi/rtl8192eu_nic.bin differ diff --git a/rtlwifi/rtl8192eu_wowlan.bin b/rtlwifi/rtl8192eu_wowlan.bin new file mode 100644 index 0000000..4a12a1d Binary files /dev/null and b/rtlwifi/rtl8192eu_wowlan.bin differ diff --git a/rtlwifi/rtl8192fufw.bin b/rtlwifi/rtl8192fufw.bin new file mode 100644 index 0000000..e6aa34b Binary files /dev/null and b/rtlwifi/rtl8192fufw.bin differ diff --git a/rtlwifi/rtl8192sefw.bin b/rtlwifi/rtl8192sefw.bin new file mode 100644 index 0000000..ed4afe8 Binary files /dev/null and b/rtlwifi/rtl8192sefw.bin differ diff --git a/rtlwifi/rtl8710bufw_SMIC.bin b/rtlwifi/rtl8710bufw_SMIC.bin new file mode 100644 index 0000000..63dd71e Binary files /dev/null and b/rtlwifi/rtl8710bufw_SMIC.bin differ diff --git a/rtlwifi/rtl8710bufw_UMC.bin b/rtlwifi/rtl8710bufw_UMC.bin new file mode 100644 index 0000000..6030ddf Binary files /dev/null and b/rtlwifi/rtl8710bufw_UMC.bin differ diff --git a/rtlwifi/rtl8712u.bin b/rtlwifi/rtl8712u.bin new file mode 100644 index 0000000..3f965a6 Binary files /dev/null and b/rtlwifi/rtl8712u.bin differ diff --git a/rtlwifi/rtl8723aufw_A.bin b/rtlwifi/rtl8723aufw_A.bin new file mode 100644 index 0000000..7accded Binary files /dev/null and b/rtlwifi/rtl8723aufw_A.bin differ diff --git a/rtlwifi/rtl8723aufw_B.bin b/rtlwifi/rtl8723aufw_B.bin new file mode 100644 index 0000000..5c37400 Binary files /dev/null and b/rtlwifi/rtl8723aufw_B.bin differ diff --git a/rtlwifi/rtl8723aufw_B_NoBT.bin b/rtlwifi/rtl8723aufw_B_NoBT.bin new file mode 100644 index 0000000..8e9952c Binary files /dev/null and b/rtlwifi/rtl8723aufw_B_NoBT.bin differ diff --git a/rtlwifi/rtl8723befw.bin b/rtlwifi/rtl8723befw.bin new file mode 100644 index 0000000..25e183c Binary files /dev/null and b/rtlwifi/rtl8723befw.bin differ diff --git a/rtlwifi/rtl8723befw_36.bin b/rtlwifi/rtl8723befw_36.bin new file mode 100644 index 0000000..1bb9b9c Binary files /dev/null and b/rtlwifi/rtl8723befw_36.bin differ diff --git a/rtlwifi/rtl8723bs_bt.bin b/rtlwifi/rtl8723bs_bt.bin new file mode 100644 index 0000000..f29df42 Binary files /dev/null and b/rtlwifi/rtl8723bs_bt.bin differ diff --git a/rtlwifi/rtl8723bu_ap_wowlan.bin b/rtlwifi/rtl8723bu_ap_wowlan.bin new file mode 100644 index 0000000..944bc16 Binary files /dev/null and b/rtlwifi/rtl8723bu_ap_wowlan.bin differ diff --git a/rtlwifi/rtl8723bu_nic.bin b/rtlwifi/rtl8723bu_nic.bin new file mode 100644 index 0000000..8d53405 Binary files /dev/null and b/rtlwifi/rtl8723bu_nic.bin differ diff --git a/rtlwifi/rtl8723bu_wowlan.bin b/rtlwifi/rtl8723bu_wowlan.bin new file mode 100644 index 0000000..473e29c Binary files /dev/null and b/rtlwifi/rtl8723bu_wowlan.bin differ diff --git a/rtlwifi/rtl8723defw.bin b/rtlwifi/rtl8723defw.bin new file mode 100644 index 0000000..6d2c953 Binary files /dev/null and b/rtlwifi/rtl8723defw.bin differ diff --git a/rtlwifi/rtl8723fw.bin b/rtlwifi/rtl8723fw.bin new file mode 100644 index 0000000..725f213 Binary files /dev/null and b/rtlwifi/rtl8723fw.bin differ diff --git a/rtlwifi/rtl8723fw_B.bin b/rtlwifi/rtl8723fw_B.bin new file mode 100644 index 0000000..993c7f6 Binary files /dev/null and b/rtlwifi/rtl8723fw_B.bin differ diff --git a/rtlwifi/rtl8812aefw.bin b/rtlwifi/rtl8812aefw.bin new file mode 100644 index 0000000..90a0409 Binary files /dev/null and b/rtlwifi/rtl8812aefw.bin differ diff --git a/rtlwifi/rtl8812aefw_wowlan.bin b/rtlwifi/rtl8812aefw_wowlan.bin new file mode 100644 index 0000000..4d0cc35 Binary files /dev/null and b/rtlwifi/rtl8812aefw_wowlan.bin differ diff --git a/rtlwifi/rtl8821aefw.bin b/rtlwifi/rtl8821aefw.bin new file mode 100644 index 0000000..4f84cf9 Binary files /dev/null and b/rtlwifi/rtl8821aefw.bin differ diff --git a/rtlwifi/rtl8821aefw_29.bin b/rtlwifi/rtl8821aefw_29.bin new file mode 100644 index 0000000..f0acde4 Binary files /dev/null and b/rtlwifi/rtl8821aefw_29.bin differ diff --git a/rtlwifi/rtl8821aefw_wowlan.bin b/rtlwifi/rtl8821aefw_wowlan.bin new file mode 100644 index 0000000..115d49f Binary files /dev/null and b/rtlwifi/rtl8821aefw_wowlan.bin differ diff --git a/rtlwifi/rtl8822befw.bin b/rtlwifi/rtl8822befw.bin new file mode 100644 index 0000000..1fcdbeb Binary files /dev/null and b/rtlwifi/rtl8822befw.bin differ diff --git a/rtw88/README b/rtw88/README new file mode 100644 index 0000000..01449ca --- /dev/null +++ b/rtw88/README @@ -0,0 +1,34 @@ + + rtw88 firmware +================ + +This repository contains firmware images supported by Realtek's wireless +driver rtw88. And some of the devices run with more than one firmware +file. Basically, a "normal" firmware is necessary to be downloaded to +the device. +And another is called "wowlan" firmware, it should be loaded when a +device is going to suspend. Which means driver will "re-download/swap" +the firmware image. The wowlan firmware contains wake up functions that +can recognize specific events and send a wake up signal to device if +needed, and the system will resume to running state. During resume, +driver will then swap the normal firmware back, return to running state. + +If any distros or platforms do not require wowlan feature, they can +_only_ pick the normal firmware. And everything still works fine, +except that the device cannot be waken from the wireless NICs. + +Currently supported devices with corresponding firmwares: + +RTL8822BE + rtw8822b_fw.bin + +RTL8821CE + rtw8821c_fw.bin + +RTL8822CE + rtw8822c_fw.bin + rtw8822c_wow_fw.bin + +RTL8723DE + rtw8723d_fw.bin + diff --git a/rtw88/rtw8723d_fw.bin b/rtw88/rtw8723d_fw.bin new file mode 100644 index 0000000..ac2b925 Binary files /dev/null and b/rtw88/rtw8723d_fw.bin differ diff --git a/rtw88/rtw8821c_fw.bin b/rtw88/rtw8821c_fw.bin new file mode 100644 index 0000000..9beeb38 Binary files /dev/null and b/rtw88/rtw8821c_fw.bin differ diff --git a/rtw88/rtw8822b_fw.bin b/rtw88/rtw8822b_fw.bin new file mode 100644 index 0000000..0934ffc Binary files /dev/null and b/rtw88/rtw8822b_fw.bin differ diff --git a/rtw88/rtw8822c_fw.bin b/rtw88/rtw8822c_fw.bin new file mode 100644 index 0000000..7cad71b Binary files /dev/null and b/rtw88/rtw8822c_fw.bin differ diff --git a/rtw88/rtw8822c_wow_fw.bin b/rtw88/rtw8822c_wow_fw.bin new file mode 100644 index 0000000..1ce74fd Binary files /dev/null and b/rtw88/rtw8822c_wow_fw.bin differ diff --git a/rtw89/rtw8851b_fw.bin b/rtw89/rtw8851b_fw.bin new file mode 100644 index 0000000..6e6bb48 Binary files /dev/null and b/rtw89/rtw8851b_fw.bin differ diff --git a/rtw89/rtw8852a_fw.bin b/rtw89/rtw8852a_fw.bin new file mode 100644 index 0000000..00d139b Binary files /dev/null and b/rtw89/rtw8852a_fw.bin differ diff --git a/rtw89/rtw8852b_fw-1.bin b/rtw89/rtw8852b_fw-1.bin new file mode 100644 index 0000000..7bb0f0c Binary files /dev/null and b/rtw89/rtw8852b_fw-1.bin differ diff --git a/rtw89/rtw8852b_fw.bin b/rtw89/rtw8852b_fw.bin new file mode 100644 index 0000000..1fbf0b8 Binary files /dev/null and b/rtw89/rtw8852b_fw.bin differ diff --git a/rtw89/rtw8852c_fw.bin b/rtw89/rtw8852c_fw.bin new file mode 100644 index 0000000..68acb95 Binary files /dev/null and b/rtw89/rtw8852c_fw.bin differ diff --git a/s5p-mfc-v6-v2.fw b/s5p-mfc-v6-v2.fw new file mode 100644 index 0000000..9d3345f Binary files /dev/null and b/s5p-mfc-v6-v2.fw differ diff --git a/s5p-mfc-v6.fw b/s5p-mfc-v6.fw new file mode 100644 index 0000000..2e1179f Binary files /dev/null and b/s5p-mfc-v6.fw differ diff --git a/s5p-mfc-v7.fw b/s5p-mfc-v7.fw new file mode 100644 index 0000000..e7924a1 Binary files /dev/null and b/s5p-mfc-v7.fw differ diff --git a/s5p-mfc-v8.fw b/s5p-mfc-v8.fw new file mode 100644 index 0000000..43f8d2c Binary files /dev/null and b/s5p-mfc-v8.fw differ diff --git a/s5p-mfc.fw b/s5p-mfc.fw new file mode 100644 index 0000000..f5c8060 Binary files /dev/null and b/s5p-mfc.fw differ diff --git a/sms1xxx-hcw-55xxx-dvbt-02.fw b/sms1xxx-hcw-55xxx-dvbt-02.fw new file mode 100644 index 0000000..2739143 Binary files /dev/null and b/sms1xxx-hcw-55xxx-dvbt-02.fw differ diff --git a/sms1xxx-hcw-55xxx-isdbt-02.fw b/sms1xxx-hcw-55xxx-isdbt-02.fw new file mode 100644 index 0000000..138c55d Binary files /dev/null and b/sms1xxx-hcw-55xxx-isdbt-02.fw differ diff --git a/sms1xxx-nova-a-dvbt-01.fw b/sms1xxx-nova-a-dvbt-01.fw new file mode 100644 index 0000000..2739143 Binary files /dev/null and b/sms1xxx-nova-a-dvbt-01.fw differ diff --git a/sms1xxx-nova-b-dvbt-01.fw b/sms1xxx-nova-b-dvbt-01.fw new file mode 100644 index 0000000..2dc4c98 Binary files /dev/null and b/sms1xxx-nova-b-dvbt-01.fw differ diff --git a/sms1xxx-stellar-dvbt-01.fw b/sms1xxx-stellar-dvbt-01.fw new file mode 100644 index 0000000..e76306a Binary files /dev/null and b/sms1xxx-stellar-dvbt-01.fw differ diff --git a/tdmb_nova_12mhz.inp b/tdmb_nova_12mhz.inp new file mode 100644 index 0000000..eaf3949 Binary files /dev/null and b/tdmb_nova_12mhz.inp differ diff --git a/tehuti/bdx.bin b/tehuti/bdx.bin new file mode 100644 index 0000000..b7d6e23 Binary files /dev/null and b/tehuti/bdx.bin differ diff --git a/ti-connectivity/TIInit_6.2.31.bts b/ti-connectivity/TIInit_6.2.31.bts new file mode 100644 index 0000000..c869e32 Binary files /dev/null and b/ti-connectivity/TIInit_6.2.31.bts differ diff --git a/ti-connectivity/TIInit_6.6.15.bts b/ti-connectivity/TIInit_6.6.15.bts new file mode 100644 index 0000000..771d393 Binary files /dev/null and b/ti-connectivity/TIInit_6.6.15.bts differ diff --git a/ti-connectivity/TIInit_7.2.31.bts b/ti-connectivity/TIInit_7.2.31.bts new file mode 100644 index 0000000..60679f4 Binary files /dev/null and b/ti-connectivity/TIInit_7.2.31.bts differ diff --git a/ti-connectivity/wl1251-fw.bin b/ti-connectivity/wl1251-fw.bin new file mode 100644 index 0000000..f89c983 Binary files /dev/null and b/ti-connectivity/wl1251-fw.bin differ diff --git a/ti-connectivity/wl1251-nvs.bin b/ti-connectivity/wl1251-nvs.bin new file mode 100644 index 0000000..2bf9c50 Binary files /dev/null and b/ti-connectivity/wl1251-nvs.bin differ diff --git a/ti-connectivity/wl127x-fw-5-mr.bin b/ti-connectivity/wl127x-fw-5-mr.bin new file mode 100755 index 0000000..212c94a Binary files /dev/null and b/ti-connectivity/wl127x-fw-5-mr.bin differ diff --git a/ti-connectivity/wl127x-fw-5-plt.bin b/ti-connectivity/wl127x-fw-5-plt.bin new file mode 100755 index 0000000..7ddfb9d Binary files /dev/null and b/ti-connectivity/wl127x-fw-5-plt.bin differ diff --git a/ti-connectivity/wl127x-fw-5-sr.bin b/ti-connectivity/wl127x-fw-5-sr.bin new file mode 100755 index 0000000..5bb2664 Binary files /dev/null and b/ti-connectivity/wl127x-fw-5-sr.bin differ diff --git a/ti-connectivity/wl127x-nvs.bin b/ti-connectivity/wl127x-nvs.bin new file mode 100644 index 0000000..91978f9 Binary files /dev/null and b/ti-connectivity/wl127x-nvs.bin differ diff --git a/ti-connectivity/wl128x-fw-5-mr.bin b/ti-connectivity/wl128x-fw-5-mr.bin new file mode 100755 index 0000000..489bfbc Binary files /dev/null and b/ti-connectivity/wl128x-fw-5-mr.bin differ diff --git a/ti-connectivity/wl128x-fw-5-plt.bin b/ti-connectivity/wl128x-fw-5-plt.bin new file mode 100755 index 0000000..8d53cf8 Binary files /dev/null and b/ti-connectivity/wl128x-fw-5-plt.bin differ diff --git a/ti-connectivity/wl128x-fw-5-sr.bin b/ti-connectivity/wl128x-fw-5-sr.bin new file mode 100755 index 0000000..79dd4e0 Binary files /dev/null and b/ti-connectivity/wl128x-fw-5-sr.bin differ diff --git a/ti-connectivity/wl128x-nvs.bin b/ti-connectivity/wl128x-nvs.bin new file mode 100644 index 0000000..157c936 Binary files /dev/null and b/ti-connectivity/wl128x-nvs.bin differ diff --git a/ti-connectivity/wl18xx-fw-2.bin b/ti-connectivity/wl18xx-fw-2.bin new file mode 100644 index 0000000..e2a56f5 Binary files /dev/null and b/ti-connectivity/wl18xx-fw-2.bin differ diff --git a/ti-connectivity/wl18xx-fw-3.bin b/ti-connectivity/wl18xx-fw-3.bin new file mode 100644 index 0000000..3c799a3 Binary files /dev/null and b/ti-connectivity/wl18xx-fw-3.bin differ diff --git a/ti-connectivity/wl18xx-fw-4.bin b/ti-connectivity/wl18xx-fw-4.bin new file mode 100755 index 0000000..dc081af Binary files /dev/null and b/ti-connectivity/wl18xx-fw-4.bin differ diff --git a/ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin b/ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin new file mode 100644 index 0000000..0232b1d Binary files /dev/null and b/ti-keystone/ks2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin differ diff --git a/ti/vpdma-1b8.bin b/ti/vpdma-1b8.bin new file mode 100644 index 0000000..e36fdc5 Binary files /dev/null and b/ti/vpdma-1b8.bin differ diff --git a/tigon/tg3.bin b/tigon/tg3.bin new file mode 100644 index 0000000..0b8ae5a Binary files /dev/null and b/tigon/tg3.bin differ diff --git a/tigon/tg357766.bin b/tigon/tg357766.bin new file mode 100644 index 0000000..b7816a0 Binary files /dev/null and b/tigon/tg357766.bin differ diff --git a/tigon/tg3_tso.bin b/tigon/tg3_tso.bin new file mode 100644 index 0000000..3c481c9 Binary files /dev/null and b/tigon/tg3_tso.bin differ diff --git a/tigon/tg3_tso5.bin b/tigon/tg3_tso5.bin new file mode 100644 index 0000000..fb77f0f Binary files /dev/null and b/tigon/tg3_tso5.bin differ diff --git a/ueagle-atm/CMV4p.bin.v2 b/ueagle-atm/CMV4p.bin.v2 new file mode 100644 index 0000000..ad788ae Binary files /dev/null and b/ueagle-atm/CMV4p.bin.v2 differ diff --git a/ueagle-atm/DSP4p.bin b/ueagle-atm/DSP4p.bin new file mode 100644 index 0000000..29712c5 Binary files /dev/null and b/ueagle-atm/DSP4p.bin differ diff --git a/ueagle-atm/eagleIV.fw b/ueagle-atm/eagleIV.fw new file mode 100644 index 0000000..26517e5 Binary files /dev/null and b/ueagle-atm/eagleIV.fw differ diff --git a/usbdux/Makefile_dux b/usbdux/Makefile_dux new file mode 100644 index 0000000..16c1c73 --- /dev/null +++ b/usbdux/Makefile_dux @@ -0,0 +1,18 @@ +# (c) Bernd Porr +# GNU public license +# no warranty +# + +all: usbduxfast_firmware.bin usbdux_firmware.bin usbduxsigma_firmware.bin + +usbduxfast_firmware.bin: fx2-include.asm usbduxfast_firmware.asm + as31 -Fbin usbduxfast_firmware.asm + +usbdux_firmware.bin: fx2-include.asm usbdux_firmware.asm + as31 -Fbin usbdux_firmware.asm + +usbduxsigma_firmware.bin: fx2-include.asm usbduxsigma_firmware.asm + as31 -Fbin usbduxsigma_firmware.asm + +clean: + rm -f *.bin *~ *.lst *.bin diff --git a/usbdux/fx2-include.asm b/usbdux/fx2-include.asm new file mode 100644 index 0000000..9877996 --- /dev/null +++ b/usbdux/fx2-include.asm @@ -0,0 +1,164 @@ +; rev 0.91 +; (c) Bernd Porr, BerndPorr@f2s.com +; GPL, GNU public license +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +; +; In conjunction with the as31. +; Include-file for the FX2 by Cypress. The rest of the regs is defined +; by the as31 itself. +; +; from the TRM of the FX2: +; + ;; CPU control + .equ CPUCS,0E600H + .equ REVCTL,0E60BH + ;; interface config + .equ IFCONFIG,0E601H + .equ FIFORESET,0E604H + ;; Endpoint configs + .equ EP1OUTCFG,0E610H + .equ EP1INCFG,0E611H + .equ EP2CFG,0E612H + .equ EP4CFG,0E613H + .equ EP6CFG,0E614H + .equ EP8CFG,0E615H + ;; packets per frame, always one for USB 1.1 + .equ EP2ISOINPKTS,0E640H + .equ EP4ISOINPKTS,0E641H + .equ EP6ISOINPKTS,0E642H + .equ EP8ISOINPKTS,0E643H + ;; endpoint byte counts + .equ EP1OUTBC,0E68DH + .equ EP2BCH,0E690H + .equ EP2BCL,0E691H + .equ EP4BCH,0E694H + .equ EP4BCL,0E695H + .equ EP6BCH,0E698H + .equ EP6BCL,0E699H + .equ EP8BCH,0E69CH + .equ EP8BCL,0E69DH + ;; + .equ EP4AUTOINLENH,0E622H + .equ EP4AUTOINLENL,0E623H + .equ EP6AUTOINLENH,0E624H + .equ EP6AUTOINLENL,0E625H + .equ EP2FIFOCFG,0E618H + .equ EP4FIFOCFG,0E619H + .equ EP6FIFOCFG,0E61AH + .equ EP8FIFOCFG,0E61BH + ;; + .equ INPKTEND,0E648H + .equ OUTPKTEND,0E649H + .equ GPIFCTLCFG,0E6C3H + .equ GPIFABORT,0E6F5H + .equ GPIFIDLECTL,0E6C2H + .equ GPIFWFSELECT,0E6C0H + .equ GPIFREADYCFG,0E6F3H + .equ GPIFIDLECS,0E6C1H + .equ EP6GPIFFLGSEL,0E6E2H + .equ EP6GPIFPDFSTOP,0E6E3H + .equ EP6GPIFTRIG,0E6E4H + .equ GPIFTCB3,0E6CEH + .equ GPIFTCB2,0E6CFH + .equ GPIFTCB1,0E6D0H + .equ GPIFTCB0,0E6D1H + .equ EP4GPIFFLGSEL,0E6DAH + .equ EP4GPIFPFSTOP,0E6DBH + ;; + ;; endpoint control + .equ EP2CS,0E6A3H + .equ EP4CS,0E6A4H + .equ EP6CS,0E6A5H + .equ EP8CS,0E6A6H + ;; endpoint buffers + .equ EP2FIFOBUF,0F000H + .equ EP4FIFOBUF,0F400H + .equ EP6FIFOBUF,0F800H + .equ EP8FIFOBUF,0FC00H + ;; IRQ enable for bulk NAK + .equ IBNIE,0E658H + ;; interrupt requ for NAK + .equ IBNIRQ,0E659H + ;; USB INT enables + .equ USBIE,0E65CH + ;; USB interrupt request + .equ USBIRQ,0E65DH + ;; endpoint IRQ enable + .equ EPIE,0E65EH + ;; endpoint IRQ requests + .equ EPIRQ,0E65FH + ;; USB error IRQ requests + .equ USBERRIE,0E662H + ;; USB error IRQ request + .equ USBERRIRQ,0E663H + ;; USB interrupt 2 autovector + .equ INT2IVEC,0E666H + ;; autovector enable + .equ INTSETUP,0E668H + ;; port cfg + .equ PORTACFG,0E670H + .equ PORTCCFG,0E671H + .equ PORTECFG,0E672H + ;; I2C bus + .equ I2CS,0E678H + .equ I2DAT,0E679H + .equ I2CTL,0E67AH + ;; auto pointers, read/write is directed to the pointed address + .equ XAUTODAT1,0E67BH + .equ XAUTODAT2,0E67CH + ;; USB-control + .equ USBCS,0E680H + + .equ IOA,80H + .equ DPL0,82H + .equ DPH0,83H + .equ DPL1,84H + .equ DPH1,85H + .equ DPS,86H + .equ CKCON,8Eh + .equ IOB,90H + .equ EXIF,91h + .equ MPAGE,92h + .equ AUTOPTRH1,9AH + .equ AUTOPTRL1,9BH + .equ AUTOPTRH2,9DH + .equ AUTOPTRL2,9EH + .equ IOC,0A0H + .equ INT2CLR,0A1H + .equ INT4CLR,0A2H + .equ EP2468STAT,0AAH + .equ EP24FIFOFLGS,0ABH + .equ EP68FIFOFLGS,0ACH + .equ AUTOPTRSETUP,0AFH + .equ IOD,0B0H + .equ IOE,0B1H + .equ OEA,0B2H + .equ OEB,0B3H + .equ OEC,0B4H + .equ OED,0B5H + .equ OEE,0B6H + .equ GPIFTRIG,0BBH + .equ EIE,0E8h + .equ EIP,0F8h + .equ GPIFIE,0E660H + +;;; serial control + .equ SCON0,098h + .equ SBUF0,099h + + ;;; end of file + + diff --git a/usbdux/usbdux_firmware.asm b/usbdux/usbdux_firmware.asm new file mode 100644 index 0000000..b93a895 --- /dev/null +++ b/usbdux/usbdux_firmware.asm @@ -0,0 +1,1184 @@ +; usbdux_firmware.asm +; Copyright (C) 2004,2009 Bernd Porr, Bernd.Porr@f2s.com +; For usbdux.c +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +; +; +; Firmware: usbdux_firmware.asm for usbdux.c +; Description: University of Stirling USB DAQ & INCITE Technology Limited +; Devices: [ITL] USB-DUX (usbdux.o) +; Author: Bernd Porr +; Updated: 17 Apr 2009 +; Status: stable +; +;;; +;;; +;;; + + .inc fx2-include.asm + + .equ CHANNELLIST,80h ; channellist in indirect memory + + .equ CMD_FLAG,90h ; flag if next IN transf is DIO + .equ SGLCHANNEL,91h ; channel for INSN + .equ PWMFLAG,92h ; PWM + + .equ DIOSTAT0,98h ; last status of the digital port + .equ DIOSTAT1,99h ; same for the second counter + + .equ CTR0,0A0H ; counter 0 + .equ CTR1,0A2H ; counter 1 + + .org 0000h ; after reset the processor starts here + ljmp main ; jump to the main loop + + .org 000bh ; timer 0 irq + ljmp timer0_isr + + .org 0043h ; the IRQ2-vector + ljmp jmptbl ; irq service-routine + + .org 0100h ; start of the jump table + +jmptbl: ljmp sudav_isr + nop + ljmp sof_isr + nop + ljmp sutok_isr + nop + ljmp suspend_isr + nop + ljmp usbreset_isr + nop + ljmp hispeed_isr + nop + ljmp ep0ack_isr + nop + ljmp spare_isr + nop + ljmp ep0in_isr + nop + ljmp ep0out_isr + nop + ljmp ep1in_isr + nop + ljmp ep1out_isr + nop + ljmp ep2_isr + nop + ljmp ep4_isr + nop + ljmp ep6_isr + nop + ljmp ep8_isr + nop + ljmp ibn_isr + nop + ljmp spare_isr + nop + ljmp ep0ping_isr + nop + ljmp ep1ping_isr + nop + ljmp ep2ping_isr + nop + ljmp ep4ping_isr + nop + ljmp ep6ping_isr + nop + ljmp ep8ping_isr + nop + ljmp errlimit_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp ep2isoerr_isr + nop + ljmp ep4isoerr_isr + nop + ljmp ep6isoerr_isr + nop + ljmp ep8isoerr_isr + + + ;; dummy isr +sudav_isr: +sutok_isr: +suspend_isr: +usbreset_isr: +hispeed_isr: +ep0ack_isr: +spare_isr: +ep0in_isr: +ep0out_isr: +ep1in_isr: +ibn_isr: +ep0ping_isr: +ep1ping_isr: +ep2ping_isr: +ep4ping_isr: +ep6ping_isr: +ep8ping_isr: +errlimit_isr: +ep2isoerr_isr: +ep4isoerr_isr: +ep6isoerr_isr: +ep8isoerr_isr: +ep6_isr: +ep2_isr: +ep4_isr: + + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + + ;; clear the USB2 irq bit and return + mov a,EXIF + clr acc.4 + mov EXIF,a + + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + + reti + + +;;; main program +;;; basically only initialises the processor and +;;; then engages in an endless loop +main: + mov DPTR,#CPUCS ; CPU control register + mov a,#00010000b ; 48Mhz + lcall syncdelaywr + + mov dptr,#REVCTL + mov a,#00000011b ; allows skip + lcall syncdelaywr + + mov IP,#0 ; all std 8051 int have low priority + mov EIP,#0FFH ; all FX2 interrupts have high priority + + mov dptr,#INTSETUP ; IRQ setup register + mov a,#08h ; enable autovector + lcall syncdelaywr + + lcall initAD ; init the ports to the converters + + lcall initeps ; init the isochronous data-transfer + + lcall init_timer + +mloop2: nop + +;;; pwm + mov r0,#PWMFLAG ; pwm on? + mov a,@r0 ; get info + jz mloop2 ; it's off + + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz mloop2 ; GPIF still busy + + mov a,#01h ; WR,EP4, 01 = EP4 + mov GPIFTRIG,a ; restart it + + sjmp mloop2 ; loop for ever + + +;;; GPIF waveform for PWM +waveform: + ;; 0 1 2 3 4 5 6 7(not used) + ;; len (gives 50.007Hz) + .db 195, 195, 195, 195, 195, 195, 1, 1 + + ;; opcode + .db 002H, 006H, 002H, 002H, 002H, 002H, 002H, 002H + + ;; out + .db 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH + + ;; log + .db 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H + + +stopPWM: + mov r0,#PWMFLAG ; flag for PWM + mov a,#0 ; PWM (for the main loop) + mov @r0,a ; set it + + mov dptr,#IFCONFIG ; switch off GPIF + mov a,#10000000b ; gpif, 30MHz, internal IFCLK + lcall syncdelaywr + ret + + +;;; init PWM +startPWM: + mov dptr,#IFCONFIG ; switch on IFCLK signal + mov a,#10000010b ; gpif, 30MHz, internal IFCLK + lcall syncdelaywr + + mov OEB,0FFH ; output to port B + + mov DPTR,#EP4CFG + mov a,#10100000b ; valid, out, bulk + movx @DPTR,a + + ;; reset the endpoint + mov dptr,#FIFORESET + mov a,#80h ; NAK + lcall syncdelaywr + mov a,#84h ; reset EP4 + NAK + lcall syncdelaywr + mov a,#0 ; normal op + lcall syncdelaywr + + mov dptr,#EP4BCL + mov a,#0H ; discard packets + lcall syncdelaywr ; empty FIFO buffer + lcall syncdelaywr ; empty FIFO buffer + + ;; aborts all transfers by the GPIF + mov dptr,#GPIFABORT + mov a,#0ffh ; abort all transfers + lcall syncdelaywr + + ;; wait for GPIF to finish +wait_f_abort: + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz wait_f_abort ; GPIF busy + + mov dptr,#GPIFCTLCFG + mov a,#10000000b ; tri state for CTRL + lcall syncdelaywr + + mov dptr,#GPIFIDLECTL + mov a,#11110000b ; all CTL outputs low + lcall syncdelaywr + + ;; abort if FIFO is empty + mov a,#00000001b ; abort if empty + mov dptr,#EP4GPIFFLGSEL + lcall syncdelaywr + + ;; + mov a,#00000001b ; stop if GPIF flg + mov dptr,#EP4GPIFPFSTOP + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB3 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB2 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH ; 512 bytes + mov dptr,#GPIFTCB1 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB0 + lcall syncdelaywr + + ;; RDY pins. Not used here. + mov a,#0 + mov dptr,#GPIFREADYCFG + lcall syncdelaywr + + ;; drives the output in the IDLE state + mov a,#1 + mov dptr,#GPIFIDLECS + lcall syncdelaywr + + ;; direct data transfer from the EP to the GPIF + mov dptr,#EP4FIFOCFG + mov a,#00010000b ; autoout=1, byte-wide + lcall syncdelaywr + + ;; waveform 0 is used for FIFO out + mov dptr,#GPIFWFSELECT + mov a,#00000000b + movx @dptr,a + lcall syncdelay + + ;; transfer the delay byte from the EP to the waveform + mov dptr,#0e781h ; EP1 buffer + movx a,@dptr ; get the delay + mov dptr,#waveform ; points to the waveform + mov r2,#6 ; fill 6 bytes +timloop: + movx @dptr,a ; save timing in a xxx + inc dptr + djnz r2,timloop ; fill the 6 delay bytes + + ;; load waveform + mov AUTOPTRH2,#0E4H ; XDATA0H + lcall syncdelay + mov AUTOPTRL2,#00H ; XDATA0L + lcall syncdelay + + mov dptr,#waveform ; points to the waveform + + mov AUTOPTRSETUP,#7 ; autoinc and enable + lcall syncdelay + + mov r2,#20H ; 32 bytes to transfer + +wavetr: + movx a,@dptr + inc dptr + push dpl + push dph + push dpl1 + push dph1 + mov dptr,#XAUTODAT2 + movx @dptr,a + lcall syncdelay + pop dph1 + pop dpl1 + pop dph + pop dpl + djnz r2,wavetr + + mov dptr,#OUTPKTEND + mov a,#084H + lcall syncdelaywr + lcall syncdelaywr + + mov r0,#PWMFLAG ; flag for PWM + mov a,#1 ; PWM (for the main loop) + mov @r0,a ; set it + + ret + + + +;;; initialise the ports for the AD-converter +initAD: + mov OEA,#27H ;PortA0,A1,A2,A5 Outputs + mov IOA,#22H ;/CS = 1, disable transfers to the converters + ret + + +;;; init the timer for the soft counters +init_timer: + ;; init the timer for 2ms sampling rate + mov CKCON,#00000001b; CLKOUT/12 for timer + mov TL0,#010H ; 16 + mov TH0,#0H ; 256 + mov IE,#82H ; switch on timer interrupt (80H for all IRQs) + mov TMOD,#00000000b ; 13 bit counters + setb TCON.4 ; enable timer 0 + ret + + +;;; from here it's only IRQ handling... + +;;; A/D-conversion: +;;; control-byte in a, +;;; result in r3(low) and r4(high) +;;; this routine is optimised for speed +readAD: ; mask the control byte + anl a,#01111100b ; only the channel, gain+pol are left + orl a,#10000001b ; start bit, external clock + ;; set CS to low + clr IOA.1 ; set /CS to zero + ;; send the control byte to the AD-converter + mov R2,#8 ; bit-counter +bitlp: jnb ACC.7,bitzero ; jump if Bit7 = 0? + setb IOA.2 ; set the DIN bit + sjmp clock ; continue with the clock +bitzero:clr IOA.2 ; clear the DIN bit +clock: setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + rl a ; next Bit + djnz R2,bitlp + + ;; continue the aquisition (already started) + clr IOA.2 ; clear the DIN bit + mov R2,#5 ; five steps for the aquision +clockaq:setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + djnz R2,clockaq ; loop + + ;; read highbyte from the A/D-converter + ;; and do the conversion + mov r4,#0 ; Highbyte goes into R4 + mov R2,#4 ; COUNTER 4 data bits in the MSB + mov r5,#08h ; create bit-mask +gethi: ; loop get the 8 highest bits from MSB downw + setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + mov a,IOA ; from port A + jnb ACC.4,zerob ; the in-bit is zero + mov a,r4 ; get the byte + orl a,r5 ; or the bit to the result + mov r4,a ; save it again in r4 +zerob: mov a,r5 ; get r5 in order to shift the mask + rr a ; rotate right + mov r5,a ; back to r5 + djnz R2,gethi + ;; read the lowbyte from the A/D-converter + mov r3,#0 ; Lowbyte goes into R3 + mov r2,#8 ; COUNTER 8 data-bits in the LSB + mov r5,#80h ; create bit-mask +getlo: ; loop get the 8 highest bits from MSB downw + setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + mov a,IOA ; from port A + jnb ACC.4,zerob2 ; the in-bit is zero + mov a,r3 ; get the result-byte + orl a,r5 ; or the bit to the result + mov r3,a ; save it again in r4 +zerob2: mov a,r5 ; get r5 in order to shift the mask + rr a ; rotate right + mov r5,a ; back to r5 + djnz R2,getlo + setb IOA.1 ; set /CS to one + ;; + ret + + + +;;; aquires data from A/D channels and stores them in the EP6 buffer +conv_ad: + mov AUTOPTRH1,#0F8H ; auto pointer on EP6 + mov AUTOPTRL1,#00H + mov AUTOPTRSETUP,#7 + mov r0,#CHANNELLIST ; points to the channellist + + mov a,@r0 ; number of channels + mov r1,a ; counter + + mov DPTR,#XAUTODAT1 ; auto pointer +convloop: + inc r0 + mov a,@r0 ; Channel + lcall readAD + mov a,R3 ; + movx @DPTR,A + mov a,R4 ; + movx @DPTR,A + djnz r1,convloop + + ret + + + + +;;; initilise the transfer +;;; It is assumed that the USB interface is in alternate setting 3 +initeps: + mov dptr,#FIFORESET + mov a,#80H + movx @dptr,a ; reset all fifos + mov a,#2 + movx @dptr,a ; + mov a,#4 + movx @dptr,a ; + mov a,#6 + movx @dptr,a ; + mov a,#8 + movx @dptr,a ; + mov a,#0 + movx @dptr,a ; normal operat + + mov DPTR,#EP2CFG + mov a,#10010010b ; valid, out, double buff, iso + movx @DPTR,a + + mov dptr,#EP2FIFOCFG + mov a,#00000000b ; manual + movx @dptr,a + + mov dptr,#EP2BCL ; "arm" it + mov a,#00h + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + + mov DPTR,#EP1OUTCFG + mov a,#10100000b ; valid + movx @dptr,a + + mov dptr,#EP1OUTBC ; "arm" it + mov a,#00h + movx @DPTR,a ; can receive data + lcall syncdelay ; wait until we can write again + movx @dptr,a ; make shure its really empty + lcall syncdelay ; wait + + mov DPTR,#EP6CFG ; ISO data from here to the host + mov a,#11010010b ; Valid + movx @DPTR,a ; ISO transfer, double buffering + + mov DPTR,#EP8CFG ; EP8 + mov a,#11100000b ; BULK data from here to the host + movx @DPTR,a ; + + mov dptr,#EPIE ; interrupt enable + mov a,#10001000b ; enable irq for ep1out,8 + movx @dptr,a ; do it + + mov dptr,#EPIRQ ; clear IRQs + mov a,#10100000b + movx @dptr,a + + ;; enable interrups + mov DPTR,#USBIE ; USB int enables register + mov a,#2 ; enables SOF (1ms/125us interrupt) + movx @DPTR,a ; + + mov EIE,#00000001b ; enable INT2 in the 8051's SFR + mov IE,#80h ; IE, enable all interrupts + + ret + + +;;; counter +;;; r0: DIOSTAT +;;; r1: counter address +;;; r2: up/down-mask +;;; r3: reset-mask +;;; r4: clock-mask +counter: + mov a,IOB ; actual IOB input state + mov r5,a ; save in r5 + anl a,r3 ; bit mask for reset + jz no_reset ; reset if one + clr a ; set counter to zero + mov @r1,a + inc r4 + mov @r1,a + sjmp ctr_end +no_reset: + mov a,@r0 ; get last state + xrl a,r5 ; has it changed? + anl a,r5 ; is it now on? + anl a,r4 ; mask out the port + jz ctr_end ; no rising edge + mov a,r5 ; get port B again + anl a,r2 ; test if up or down + jnz ctr_up ; count up + mov a,@r1 + dec a + mov @r1,a + cjne a,#0ffh,ctr_end ; underflow? + inc r1 ; high byte + mov a,@r1 + dec a + mov @r1,a + sjmp ctr_end +ctr_up: ; count up + mov a,@r1 + inc a + mov @r1,a + jnz ctr_end + inc r1 ; high byte + mov a,@r1 + inc a + mov @r1,a +ctr_end: + mov a,r5 + mov @r0,a + ret + +;;; implements two soft counters with up/down and reset +timer0_isr: + push dps + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + + mov r0,#DIOSTAT0 ; status of port + mov r1,#CTR0 ; address of counter0 + mov a,#00000001b ; bit 0 + mov r4,a ; clock + rl a ; bit 1 + mov r2,a ; up/down + rl a ; bit 2 + mov r3,a ; reset mask + lcall counter + inc r0 ; to DISTAT1 + inc r1 ; to CTR1 + inc r1 + mov a,r3 + rl a ; bit 3 + rl a ; bit 4 + mov r4,a ; clock + rl a ; bit 5 + mov r2,a ; up/down + rl a ; bit 6 + mov r3,a ; reset + lcall counter + + pop 05h ; R5 + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dps + + reti + +;;; interrupt-routine for SOF +;;; is for full speed +sof_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov a,EP2468STAT + anl a,#20H ; full? + jnz epfull ; EP6-buffer is full + + lcall conv_ad ; conversion + + mov DPTR,#EP6BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr ; wait until we can write again + + mov DPTR,#EP6BCL ; byte count L + mov a,#10H ; is 8x word = 16 bytes + lcall syncdelaywr ; wait until we can write again + +epfull: + ;; do the D/A conversion + mov a,EP2468STAT + anl a,#01H ; empty + jnz epempty ; nothing to get + + mov dptr,#0F000H ; EP2 fifo buffer + lcall dalo ; conversion + + mov dptr,#EP2BCL ; "arm" it + mov a,#00h + lcall syncdelaywr ; wait for the rec to sync + lcall syncdelaywr ; wait for the rec to sync + +epempty: + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#USBIRQ ; points to the SOF + mov a,#2 ; clear the SOF + movx @DPTR,a + +nosof: + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + +reset_ep8: + ;; erase all data in ep8 + mov dptr,#FIFORESET + mov a,#80H ; NAK + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#8 ; reset EP8 + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#0 ; normal operation + lcall syncdelaywr + ret + + +reset_ep6: + ;; throw out old data + mov dptr,#FIFORESET + mov a,#80H ; NAK + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#6 ; reset EP6 + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#0 ; normal operation + lcall syncdelaywr + ret + +;;; interrupt-routine for ep1out +;;; receives the channel list and other commands +ep1out_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov dptr,#0E780h ; FIFO buffer of EP1OUT + movx a,@dptr ; get the first byte + mov r0,#CMD_FLAG ; pointer to the command byte + mov @r0,a ; store the command byte for ep8 + + mov dptr,#ep1out_jmp; jump table for the different functions + rl a ; multiply by 2: sizeof sjmp + jmp @a+dptr ; jump to the jump table + ;; jump table, corresponds to the command bytes defined + ;; in usbdux.c +ep1out_jmp: + sjmp storechannellist; a=0 + sjmp single_da ; a=1 + sjmp config_digital_b; a=2 + sjmp write_digital_b ; a=3 + sjmp storesglchannel ; a=4 + sjmp readcounter ; a=5 + sjmp writecounter ; a=6 + sjmp pwm_on ; a=7 + sjmp pwm_off ; a=8 + +pwm_on: + lcall startPWM + sjmp over_da + +pwm_off: + lcall stopPWM + sjmp over_da + + ;; read the counter +readcounter: + lcall reset_ep8 ; reset ep8 + lcall ep8_ops ; fill the counter data in there + sjmp over_da ; jump to the end + + ;; write zeroes to the counters +writecounter: + mov dptr,#0e781h ; buffer + mov r0,#CTR0 ; r0 points to counter 0 + movx a,@dptr ; channel number + jz wrctr0 ; first channel + mov r1,a ; counter +wrctrl: + inc r0 ; next counter + inc r0 ; next counter + djnz r1,wrctrl ; advance to the right counter +wrctr0: + inc dptr ; get to the value + movx a,@dptr ; get value + mov @r0,a ; save in ctr + inc r0 ; next byte + inc dptr + movx a,@dptr ; get value + mov @r0,a ; save in ctr + sjmp over_da ; jump to the end + +storesglchannel: + mov r0,#SGLCHANNEL ; the conversion bytes are now stored in 80h + mov dptr,#0e781h ; FIFO buffer of EP1OUT + movx a,@dptr ; + mov @r0,a + + lcall reset_ep8 ; reset FIFO + ;; Save new A/D data in EP8. This is the first byte + ;; the host will read during an INSN. If there are + ;; more to come they will be handled by the ISR of + ;; ep8. + lcall ep8_ops ; get A/D data + + sjmp over_da + + +;;; Channellist: +;;; the first byte is zero: +;;; we've just received the channel list +;;; the channel list is stored in the addresses from CHANNELLIST which +;;; are _only_ reachable by indirect addressing +storechannellist: + mov r0,#CHANNELLIST ; the conversion bytes are now stored in 80h + mov r2,#9 ; counter + mov dptr,#0e781h ; FIFO buffer of EP1OUT +chanlloop: + movx a,@dptr ; + mov @r0,a + inc dptr + inc r0 + djnz r2,chanlloop + + lcall reset_ep6 ; reset FIFO + + ;; load new A/D data into EP6 + ;; This must be done. Otherwise the ISR is never called. + ;; The ISR is only called when data has _left_ the + ;; ep buffer here it has to be refilled. + lcall ep6_arm ; fill with the first data byte + + sjmp over_da + +;;; Single DA conversion. The 2 bytes are in the FIFO buffer +single_da: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + lcall dalo ; conversion + sjmp over_da + +;;; configure the port B as input or output (bitwise) +config_digital_b: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + movx a,@dptr ; get the second byte + mov OEB,a ; set the output enable bits + sjmp over_da + +;;; Write one byte to the external digital port B +;;; and prepare for digital read +write_digital_b: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + movx a,@dptr ; get the second byte + mov OEB,a ; output enable + inc dptr ; next byte + movx a,@dptr ; bits + mov IOB,a ; send the byte to the I/O port + + lcall reset_ep8 ; reset FIFO of ep 8 + + ;; fill ep8 with new data from port B + ;; When the host requests the data it's already there. + ;; This must be so. Otherwise the ISR is not called. + ;; The ISR is only called when a packet has been delivered + ;; to the host. Thus, we need a packet here in the + ;; first instance. + lcall ep8_ops ; get digital data + + ;; + ;; for all commands the same +over_da: + mov dptr,#EP1OUTBC + mov a,#00h + lcall syncdelaywr ; arm + lcall syncdelaywr ; arm + lcall syncdelaywr ; arm + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#00001000b ; clear the ep1outirq + movx @DPTR,a + + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + + +;;; all channels +dalo: + movx a,@dptr ; number of channels + inc dptr ; pointer to the first channel + mov r0,a ; 4 channels +nextDA: + movx a,@dptr ; get the first low byte + mov r3,a ; store in r3 (see below) + inc dptr ; point to the high byte + movx a,@dptr ; get the high byte + mov r4,a ; store in r4 (for writeDA) + inc dptr ; point to the channel number + movx a,@dptr ; get the channel number + inc dptr ; get ready for the next channel + lcall writeDA ; write value to the DAC + djnz r0,nextDA ; next channel + ret + + + +;;; D/A-conversion: +;;; control-byte in a, +;;; value in r3(low) and r4(high) +writeDA: ; mask the control byte + anl a,#11000000b ; only the channel is left + orl a,#00110000b ; internal clock, bipolar mode, +/-5V + orl a,r4 ; or the value of R4 to it + ;; set CS to low + clr IOA.5 ; set /CS to zero + ;; send the first byte to the DA-converter + mov R2,#8 ; bit-counter +DA1: jnb ACC.7,zeroda ; jump if Bit7 = 0? + setb IOA.2 ; set the DIN bit + sjmp clkda ; continue with the clock +zeroda: clr IOA.2 ; clear the DIN bit +clkda: setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + rl a ; next Bit + djnz R2,DA1 + + + ;; send the second byte to the DA-converter + mov a,r3 ; low byte + mov R2,#8 ; bit-counter +DA2: jnb ACC.7,zeroda2 ; jump if Bit7 = 0? + setb IOA.2 ; set the DIN bit + sjmp clkda2 ; continue with the clock +zeroda2:clr IOA.2 ; clear the DIN bit +clkda2: setb IOA.0 ; SCLK = 1 + clr IOA.0 ; SCLK = 0 + rl a ; next Bit + djnz R2,DA2 + ;; + setb IOA.5 ; set /CS to one + ;; +noDA: ret + + + +;;; arm ep6 +ep6_arm: + lcall conv_ad + + mov DPTR,#EP6BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr ; wait until the length has arrived + + mov DPTR,#EP6BCL ; byte count L + mov a,#10H ; is one + lcall syncdelaywr ; wait until the length has been proc + ret + + + +;;; converts one analog/digital channel and stores it in EP8 +;;; also gets the content of the digital ports B and D depending on +;;; the COMMAND flag +ep8_ops: + mov dptr,#0fc01h ; ep8 fifo buffer + clr a ; high byte + movx @dptr,a ; set H=0 + mov dptr,#0fc00h ; low byte + mov r0,#CMD_FLAG + mov a,@r0 + movx @dptr,a ; save command byte + + mov dptr,#ep8_jmp ; jump table for the different functions + rl a ; multiply by 2: sizeof sjmp + jmp @a+dptr ; jump to the jump table + ;; jump table, corresponds to the command bytes defined + ;; in usbdux.c +ep8_jmp: + sjmp ep8_err ; a=0, err + sjmp ep8_err ; a=1, err + sjmp ep8_err ; a=2, err + sjmp ep8_dio ; a=3, digital read + sjmp ep8_sglchannel ; a=4, analog A/D + sjmp ep8_readctr ; a=5, read counter + sjmp ep8_err ; a=6, write counter + + ;; reads all counters +ep8_readctr: + mov r0,#CTR0 ; points to counter0 + mov dptr,#0fc02h ; ep8 fifo buffer + mov r1,#8 ; transfer 4 16bit counters +ep8_ctrlp: + mov a,@r0 ; get the counter + movx @dptr,a ; save in the fifo buffer + inc r0 ; inc pointer to the counters + inc dptr ; inc pointer to the fifo buffer + djnz r1,ep8_ctrlp ; loop until ready + + sjmp ep8_send ; send the data + + ;; read one A/D channel +ep8_sglchannel: + mov r0,#SGLCHANNEL ; points to the channel + mov a,@r0 ; Ch0 + + lcall readAD ; start the conversion + + mov DPTR,#0fc02h ; EP8 FIFO + mov a,R3 ; get low byte + movx @DPTR,A ; store in FIFO + inc dptr ; next fifo entry + mov a,R4 ; get high byte + movx @DPTR,A ; store in FIFO + + sjmp ep8_send ; send the data + + ;; read the digital lines +ep8_dio: + mov DPTR,#0fc02h ; store the contents of port B + mov a,IOB ; in the next + movx @dptr,a ; entry of the buffer + + inc dptr + clr a ; high byte is zero + movx @dptr,a ; next byte of the EP + +ep8_send: + mov DPTR,#EP8BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr + + mov DPTR,#EP8BCL ; byte count L + mov a,#10H ; 16 bytes + lcall syncdelaywr ; send the data over to the host + +ep8_err: + ret + + + +;;; EP8 interrupt: gets one measurement from the AD converter and +;;; sends it via EP8. The channel # is stored in address 80H. +;;; It also gets the state of the digital registers B and D. +ep8_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + lcall ep8_ops + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#10000000b ; clear the ep8irq + movx @DPTR,a + + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + +;; need to delay every time the byte counters +;; for the EPs have been changed. + +syncdelay: + nop + nop + nop + nop + nop + nop + nop + nop + nop + ret + +syncdelaywr: + movx @dptr,a + lcall syncdelay + ret + + +.End + + diff --git a/usbdux/usbduxfast_firmware.asm b/usbdux/usbduxfast_firmware.asm new file mode 100644 index 0000000..0d8e7f8 --- /dev/null +++ b/usbdux/usbduxfast_firmware.asm @@ -0,0 +1,547 @@ +; usbduxfast_firmware.asm +; Copyright (C) 2004,2009 Bernd Porr, Bernd.Porr@f2s.com +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +; +; +; Firmware: usbduxfast_firmware.asm for usbdux.c +; Description: Firmware for usbduxfast +; Devices: [ITL] USB-DUX (usbdux.o) +; Author: Bernd Porr +; Updated: 17 Apr 2009 +; Status: stable +; +;;; +;;; +;;; + + .inc fx2-include.asm + + .equ WFLOADED,70H ; waveform is loaded + + .org 0000h ; after reset the processor starts here + ljmp main ; jump to the main loop + + .org 0043h ; the IRQ2-vector + ljmp jmptbl ; irq service-routine + + .org 0100h ; start of the jump table + +jmptbl: ljmp sudav_isr + nop + ljmp sof_isr + nop + ljmp sutok_isr + nop + ljmp suspend_isr + nop + ljmp usbreset_isr + nop + ljmp hispeed_isr + nop + ljmp ep0ack_isr + nop + ljmp spare_isr + nop + ljmp ep0in_isr + nop + ljmp ep0out_isr + nop + ljmp ep1in_isr + nop + ljmp ep1out_isr + nop + ljmp ep2_isr + nop + ljmp ep4_isr + nop + ljmp ep6_isr + nop + ljmp ep8_isr + nop + ljmp ibn_isr + nop + ljmp spare_isr + nop + ljmp ep0ping_isr + nop + ljmp ep1ping_isr + nop + ljmp ep2ping_isr + nop + ljmp ep4ping_isr + nop + ljmp ep6ping_isr + nop + ljmp ep8ping_isr + nop + ljmp errlimit_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp ep2isoerr_isr + nop + ljmp ep4isoerr_isr + nop + ljmp ep6isoerr_isr + nop + ljmp ep8isoerr_isr + + + ;; dummy isr +sof_isr: +sudav_isr: +sutok_isr: +suspend_isr: +usbreset_isr: +hispeed_isr: +ep0ack_isr: +spare_isr: +ep0in_isr: +ep0out_isr: +ep1out_isr: +ep1in_isr: +ibn_isr: +ep0ping_isr: +ep1ping_isr: +ep2ping_isr: +ep4ping_isr: +ep6ping_isr: +ep8ping_isr: +errlimit_isr: +ep2isoerr_isr: +ep4isoerr_isr: +ep6isoerr_isr: +ep8isoerr_isr: +ep6_isr: +ep2_isr: +ep8_isr: + + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + + ;; clear the USB2 irq bit and return + mov a,EXIF + clr acc.4 + mov EXIF,a + + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + + reti + + +;;; main program +;;; basically only initialises the processor and +;;; then engages in an endless loop +main: + mov dptr,#REVCTL + mov a,#00000011b ; allows skip + lcall syncdelaywr + + mov DPTR,#CPUCS ; CPU control register + mov a,#00010000b ; 48Mhz + lcall syncdelaywr + + mov dptr,#IFCONFIG ; switch on IFCLK signal + mov a,#10100010b ; gpif, 30MHz + lcall syncdelaywr + + mov dptr,#FIFORESET + mov a,#80h + lcall syncdelaywr + mov a,#8 + lcall syncdelaywr + mov a,#2 + lcall syncdelaywr + mov a,#4 + lcall syncdelaywr + mov a,#6 + lcall syncdelaywr + mov a,#0 + lcall syncdelaywr + + mov dptr,#INTSETUP ; IRQ setup register + mov a,#08h ; enable autovector + lcall syncdelaywr + + lcall initeps ; init the isochronous data-transfer + + lcall initGPIF + +;;; main loop + +mloop2: + lcall gpif_run + sjmp mloop2 ; do nothing. The rest is done by the IRQs + + +gpif_run: + mov a,WFLOADED + jz no_trig ; do not trigger + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz no_trig ; GPIF busy + +;;; gpif has stopped + mov a,#06h ; RD,EP6 + mov GPIFTRIG,a +no_trig: + ret + + + +initGPIF: + mov DPTR,#EP6CFG ; BLK data from here to the host + mov a,#11100000b ; Valid, quad buffering + lcall syncdelaywr ; write + + mov dptr,#EP6FIFOCFG + mov a,#00001001b ; autoin, wordwide + lcall syncdelaywr + + mov dptr,#EP6AUTOINLENH + mov a,#00000010b ; 512 bytes + lcall syncdelaywr ; write + + mov dptr,#EP6AUTOINLENL + mov a,#00000000b ; 0 + lcall syncdelaywr ; write + + mov dptr,#GPIFWFSELECT + mov a,#11111100b ; waveform 0 for FIFO RD + lcall syncdelaywr + + mov dptr,#GPIFCTLCFG + mov a,#10000000b ; tri state for CTRL + lcall syncdelaywr + + mov dptr,#GPIFIDLECTL + mov a,#11111111b ; all CTL outputs high + lcall syncdelaywr + mov a,#11111101b ; reset counter + lcall syncdelaywr + mov a,#11111111b ; reset to high again + lcall syncdelaywr + + mov a,#00000010b ; abort when full + mov dptr,#EP6GPIFFLGSEL + lcall syncdelaywr + + mov a,#00000001b ; stop when buffer overfl + mov dptr,#EP6GPIFPDFSTOP + lcall syncdelaywr + + mov a,#0 + mov dptr,#GPIFREADYCFG + lcall syncdelaywr + + mov a,#0 + mov dptr,#GPIFIDLECS + lcall syncdelaywr + +; waveform 1 +; this is a dummy waveform which is used +; during the upload of another waveform into +; wavefrom 0 +; it branches directly into the IDLE state + mov dptr,#0E420H + mov a,#00111111b ; branch to IDLE + lcall syncdelaywr + + mov dptr,#0E428H ; opcode + mov a,#00000001b ; deceision point + lcall syncdelaywr + + mov dptr,#0E430H + mov a,#0FFH ; output is high + lcall syncdelaywr + + mov dptr,#0E438H + mov a,#0FFH ; logic function + lcall syncdelaywr + +; signals that no waveform 0 is loaded so far + mov WFLOADED,#0 ; waveform flag + + ret + + + +;;; initilise the transfer +;;; It is assumed that the USB interface is in alternate setting 1 +initeps: + mov DPTR,#EP4CFG + mov a,#10100000b ; valid, bulk, out + lcall syncdelaywr + + mov dptr,#EP4BCL ; "arm" it + mov a,#00h + lcall syncdelaywr ; wait until we can write again + lcall syncdelaywr ; wait + lcall syncdelaywr ; wait + + mov DPTR,#EP8CFG + mov a,#0 ; disable EP8, it overlaps with EP6!! + lcall syncdelaywr + + mov dptr,#EPIE ; interrupt enable + mov a,#00100000b ; enable irq for ep4 + lcall syncdelaywr ; do it + + mov dptr,#EPIRQ ; clear IRQs + mov a,#00100100b + movx @dptr,a + + mov DPTR,#USBIE ; USB int enable register + mov a,#0 ; SOF etc + movx @DPTR,a ; + + mov DPTR,#GPIFIE ; GPIF int enable register + mov a,#0 ; done IRQ + movx @DPTR,a ; + + mov EIE,#00000001b ; enable INT2 in the 8051's SFR + mov IE,#80h ; IE, enable all interrupts + + ret + + +;;; interrupt-routine for ep4 +;;; receives the channel list and other commands +ep4_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov dptr,#0f400h ; FIFO buffer of EP4 + movx a,@dptr ; get the first byte + + mov dptr,#ep4_jmp ; jump table for the different functions + rl a ; multiply by 2: sizeof sjmp + jmp @a+dptr ; jump to the jump table + +ep4_jmp: + sjmp storewaveform ; a=0 + sjmp init_ep6 ; a=1 + +init_ep6: + ; stop ep6 + ; just now do nothing + + ljmp over_wf + + +storewaveform: + mov WFLOADED,#0 ; waveform flag + + mov dptr,#EP6FIFOCFG + mov a,#00000000b ; + lcall syncdelaywr + + mov dptr,#GPIFABORT + mov a,#0ffh ; abort all transfers + lcall syncdelaywr + +wait_f_abort: + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz wait_f_abort ; GPIF busy + + mov dptr,#GPIFWFSELECT + mov a,#11111101b ; select dummy waveform + movx @dptr,a + lcall syncdelay + + mov dptr,#FIFORESET + mov a,#80h ; NAK + lcall syncdelaywr + mov a,#6 ; reset EP6 + lcall syncdelaywr + mov a,#0 ; normal op + lcall syncdelaywr + +; change to dummy waveform 1 + mov a,#06h ; RD,EP6 + mov GPIFTRIG,a + +; wait a bit + mov r2,255 +loopx: + djnz r2,loopx + +; abort waveform if not already so + mov dptr,#GPIFABORT + mov a,#0ffh ; abort all transfers + lcall syncdelaywr + +; wait again + mov r2,255 +loopx2: + djnz r2,loopx2 + +; check for DONE +wait_f_abort2: + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz wait_f_abort2 ; GPIF busy + +; upload the new waveform into waveform 0 + mov AUTOPTRH2,#0E4H ; XDATA0H + lcall syncdelay + mov AUTOPTRL2,#00H ; XDATA0L + lcall syncdelay + + mov AUTOPTRH1,#0F4H ; EP4 high + lcall syncdelay + mov AUTOPTRL1,#01H ; EP4 low + lcall syncdelay + + mov AUTOPTRSETUP,#7 ; autoinc and enable + lcall syncdelay + + mov r2,#20H ; 32 bytes to transfer + +wavetr: + mov dptr,#XAUTODAT1 + movx a,@dptr + lcall syncdelay + mov dptr,#XAUTODAT2 + movx @dptr,a + lcall syncdelay + djnz r2,wavetr + + mov dptr,#EP6FIFOCFG + mov a,#00001001b ; autoin, wordwide + lcall syncdelaywr + + mov dptr,#GPIFWFSELECT + mov a,#11111100b + movx @dptr,a + lcall syncdelay + + mov dptr,#FIFORESET + mov a,#80h ; NAK + lcall syncdelaywr + mov a,#6 ; reset EP6 + lcall syncdelaywr + mov a,#0 ; normal op + lcall syncdelaywr + + mov dptr,#0E400H+10H; waveform 0: first CTL byte + movx a,@dptr ; get it + orl a,#11111011b ; force all bits to one except the range bit + mov dptr,#GPIFIDLECTL + lcall syncdelaywr + + mov WFLOADED,#1 ; waveform flag + +; do the common things here +over_wf: + mov dptr,#EP4BCL + mov a,#00h + movx @DPTR,a ; arm it + lcall syncdelay ; wait + movx @DPTR,a ; arm it + lcall syncdelay ; wait + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#00100000b ; clear the ep4irq + movx @DPTR,a + + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + +;; need to delay every time the byte counters +;; for the EPs have been changed. + +syncdelay: + nop + nop + nop + nop + nop + nop + nop + nop + nop + ret + + +syncdelaywr: + lcall syncdelay + movx @dptr,a + ret + + +.End + + + + + + + + + + + + diff --git a/usbdux/usbduxsigma_firmware.asm b/usbdux/usbduxsigma_firmware.asm new file mode 100644 index 0000000..38f5f0e --- /dev/null +++ b/usbdux/usbduxsigma_firmware.asm @@ -0,0 +1,1394 @@ +; usbdux_firmware.asm +; Copyright (C) 2010,2015 Bernd Porr, mail@berndporr.me.uk +; For usbduxsigma.c 0.5+ +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with this program; if not, write to the Free Software +; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +; +; +; Firmware: usbduxsigma_firmware.asm for usbduxsigma.c +; Description: University of Stirling USB DAQ & INCITE Technology Limited +; Devices: [ITL] USB-DUX-SIGMA (usbduxsigma.ko) +; Author: Bernd Porr +; Updated: 20 Jul 2015 +; Status: testing +; +;;; +;;; +;;; + + .inc fx2-include.asm + +;;; a couple of flags in high memory + .equ CMD_FLAG,80h ; flag for the next in transfer + .equ PWMFLAG,81h ; PWM on or off? + .equ MAXSMPL,82H ; maximum number of samples, n channellist + .equ MUXSG0,83H ; content of the MUXSG0 register + .equ INTERVAL,88h ; uframe/frame interval + .equ INTCTR,89h ; interval counter + .equ DABUFFER,0F0h ; buffer with DA values + +;;; in precious low memory but accessible within one clock cycle + .equ DPTRL,70H + .equ DPTRH,71h + .equ ASYNC_ON,72h + .equ SMPLCTR,73h + +;;; actual code + .org 0000h ; after reset the processor starts here + ljmp main ; jump to the main loop + + .org 0003h + ljmp isr0 ; external interrupt 0: /DRY + + .org 0043h ; the IRQ2-vector + ljmp jmptbl ; irq service-routine + + .org 0100h ; start of the jump table + +jmptbl: ljmp sudav_isr + nop + ljmp sof_isr + nop + ljmp sutok_isr + nop + ljmp suspend_isr + nop + ljmp usbreset_isr + nop + ljmp hispeed_isr + nop + ljmp ep0ack_isr + nop + ljmp spare_isr + nop + ljmp ep0in_isr + nop + ljmp ep0out_isr + nop + ljmp ep1in_isr + nop + ljmp ep1out_isr + nop + ljmp ep2_isr + nop + ljmp ep4_isr + nop + ljmp ep6_isr + nop + ljmp ep8_isr + nop + ljmp ibn_isr + nop + ljmp spare_isr + nop + ljmp ep0ping_isr + nop + ljmp ep1ping_isr + nop + ljmp ep2ping_isr + nop + ljmp ep4ping_isr + nop + ljmp ep6ping_isr + nop + ljmp ep8ping_isr + nop + ljmp errlimit_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp spare_isr + nop + ljmp ep2isoerr_isr + nop + ljmp ep4isoerr_isr + nop + ljmp ep6isoerr_isr + nop + ljmp ep8isoerr_isr + + + ;; dummy isr +sudav_isr: +sutok_isr: +suspend_isr: +usbreset_isr: +hispeed_isr: +ep0ack_isr: +spare_isr: +ep0in_isr: +ep0out_isr: +ibn_isr: +ep0ping_isr: +ep1ping_isr: +ep2ping_isr: +ep4ping_isr: +ep6ping_isr: +ep8ping_isr: +errlimit_isr: +ep2isoerr_isr: +ep4isoerr_isr: +ep6isoerr_isr: +ep8isoerr_isr: +ep6_isr: +ep2_isr: +ep4_isr: + + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + + ;; clear the USB2 irq bit and return + mov a,EXIF + clr acc.4 + mov EXIF,a + + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + + reti + + +ep1in_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + + mov dptr,#0E7C0h ; EP1in + mov a,IOB ; get DIO D + movx @dptr,a ; store it + inc dptr ; next byte + mov a,IOC ; get DIO C + movx @dptr,a ; store it + inc dptr ; next byte + mov a,IOD ; get DIO B + movx @dptr,a ; store it + inc dptr ; next byte + mov a,#0 ; just zero + movx @dptr,a ; pad it up + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#00000100b ; clear the ep1in + movx @DPTR,a + + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + + +;;; this is triggered when DRY goes low +isr0: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov a,ASYNC_ON + jz noepsubmit + + mov DPS,#0 + mov dpl,DPTRL + mov dph,DPTRH + + lcall readADCch ; read one channel + + mov DPTRL,dpl + mov DPTRH,dph + + mov a,SMPLCTR + dec a + mov SMPLCTR,a + jnz noepsubmit + + mov ASYNC_ON,#0 + + clr IOA.7 ; START = 0 + + ;; arm the endpoint and send off the data + mov DPTR,#EP6BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr ; wait until we can write again + + mov r0,#MAXSMPL ; number of samples to transmit + mov a,@r0 ; get them + rl a ; a=a*2 + rl a ; a=a*2 + add a,#4 ; four bytes for DIO + mov DPTR,#EP6BCL ; byte count L + lcall syncdelaywr ; wait until we can write again + +noepsubmit: + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + + reti + + + +;;; main program +;;; basically only initialises the processor and +;;; then engages in an endless loop +main: + mov DPTR,#CPUCS ; CPU control register + mov a,#00010000b ; 48Mhz + lcall syncdelaywr + + mov dptr,#REVCTL + mov a,#00000011b ; allows skip + lcall syncdelaywr + + mov dptr,#INTSETUP ; IRQ setup register + mov a,#08h ; enable autovector + lcall syncdelaywr + + mov dptr,#PORTCCFG + mov a,#0 + lcall syncdelaywr + + mov IP,#01H ; int0 has highest interrupt priority + mov EIP,#0 ; all USB interrupts have low priority + + lcall initAD ; init the ports to the converters + + lcall initeps ; init the isochronous data-transfer + +;;; main loop, rest is done as interrupts +mloop2: nop + +;;; pwm + mov r0,#PWMFLAG ; pwm on? + mov a,@r0 ; get info + jz mloop2 ; it's off + + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz mloop2 ; GPIF still busy + + mov a,#01h ; WR,EP4, 01 = EP4 + mov GPIFTRIG,a ; restart it + + sjmp mloop2 ; loop for ever + + +;;; initialise the ports for the AD-converter +initAD: + mov r0,#MAXSMPL ; length of channellist + mov @r0,#0 ; we don't want to accumlate samples + + mov ASYNC_ON,#0 ; async enable + + mov r0,#DABUFFER + mov @r0,#0 + + mov OEA,#11100000b ; PortA7,A6,A5 Outputs + mov IOA,#01100000b ; /CS = 1 and START = 0 + mov dptr,#IFCONFIG ; switch on clock on IFCLK pin + mov a,#10100000b ; gpif, 30MHz, internal IFCLK -> 15MHz for AD + lcall syncdelaywr + + mov SCON0,#013H ; ser rec en, TX/RX: stop, 48/12MHz=4MHz clock + + mov dptr,#PORTECFG + mov a,#00001000b ; special function for port E: RXD0OUT + lcall syncdelaywr + + ret + + +;;; send a byte via SPI +;;; content in a, dptr1 is changed +;;; the lookup is done in dptr1 so that the normal dptr is not affected +;;; important: /cs needs to be reset to 1 by the caller: IOA.5 +sendSPI: + inc DPS + + ;; bit reverse + mov dptr,#swap_lut ; lookup table + movc a,@a+dptr ; reverse bits + + ;; clear interrupt flag, is used to detect + ;; successful transmission + clr SCON0.1 ; clear interrupt flag + + ;; start transmission by writing the byte + ;; in the transmit buffer + mov SBUF0,a ; start transmission + + ;; wait for the end of the transmission +sendSPIwait: + mov a,SCON0 ; get transmission status + jnb ACC.1,sendSPIwait ; loop until transmitted + + inc DPS + + ret + + + + +;;; receive a byte via SPI +;;; content in a, dptr is changed +;;; the lookup is done in dptr1 so that the normal dptr is not affected +;;; important: the /CS needs to be set to 1 by the caller via "setb IOA.5" +recSPI: + inc DPS + + clr IOA.5 ; /cs to 0 + + ;; clearning the RI bit starts reception of data + clr SCON0.0 + +recSPIwait: + ;; RI goes back to 1 after the reception of the 8 bits + mov a,SCON0 ; get receive status + jnb ACC.0,recSPIwait; loop until all bits received + + ;; read the byte from the buffer + mov a,SBUF0 ; get byte + + ;; lookup: reverse the bits + mov dptr,#swap_lut ; lookup table + movc a,@a+dptr ; reverse the bits + + inc DPS + + ret + + + + +;;; reads a register +;;; register address in a +;;; returns value in a +registerRead: + anl a,#00001111b ; mask out the index to the register + orl a,#01000000b ; 010xxxxx indicates register read + clr IOA.5 ; ADC /cs to 0 + lcall sendSPI ; send the command over + lcall recSPI ; read the contents back + setb IOA.5 ; ADC /cs to 1 + ret + + + +;;; writes to a register +;;; register address in a +;;; value in r0 +registerWrite: + push acc + anl a,#00001111b ; mask out the index to the register + orl a,#01100000b ; 011xxxxx indicates register write + + clr IOA.5 ; ADC /cs to 0 + + lcall sendSPI ; + mov a,r0 + lcall sendSPI + + setb IOA.5 ; ADC /cs to 1 + pop acc + + lcall registerRead ; check if the data has arrived in the ADC + mov 0f0h,r0 ; register B + cjne a,0f0h,registerWrite ; something went wrong, try again + + ret + + + +;;; initilise the endpoints +initeps: + mov dptr,#FIFORESET + mov a,#80H + movx @dptr,a ; reset all fifos + mov a,#2 + movx @dptr,a ; + mov a,#4 + movx @dptr,a ; + mov a,#6 + movx @dptr,a ; + mov a,#8 + movx @dptr,a ; + mov a,#0 + movx @dptr,a ; normal operat + + mov DPTR,#EP2CFG + mov a,#10010010b ; valid, out, double buff, iso + movx @DPTR,a + + mov dptr,#EP2FIFOCFG + mov a,#00000000b ; manual + movx @dptr,a + + mov dptr,#EP2BCL ; "arm" it + mov a,#00h + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + movx @DPTR,a ; can receive data + lcall syncdelay ; wait to sync + + mov DPTR,#EP1OUTCFG + mov a,#10100000b ; valid + movx @dptr,a + + mov dptr,#EP1OUTBC ; "arm" it + mov a,#00h + movx @DPTR,a ; can receive data + lcall syncdelay ; wait until we can write again + movx @dptr,a ; make shure its really empty + lcall syncdelay ; wait + + mov DPTR,#EP6CFG ; ISO data from here to the host + mov a,#11010010b ; Valid + movx @DPTR,a ; ISO transfer, double buffering + + mov DPTR,#EP8CFG ; EP8 + mov a,#11100000b ; BULK data from here to the host + movx @DPTR,a ; + + mov dptr,#PORTACFG + mov a,#1 ; interrupt on pin A0 + lcall syncdelaywr + + ;; enable interrupts + mov dptr,#EPIE ; interrupt enable + mov a,#10001100b ; enable irq for ep1out,8,ep1in + movx @dptr,a ; do it + + mov dptr,#EPIRQ ; clear IRQs + mov a,#10001100b + movx @dptr,a + + mov DPTR,#USBIE ; USB int enables register + mov a,#2 ; enables SOF (1ms/125us interrupt) + movx @DPTR,a ; + + setb TCON.0 ; make INT0 edge triggered, falling edge + + mov EIE,#00000001b ; enable INT2/USBINT in the 8051's SFR + mov IE,#81h ; IE, enable all interrupts and INT0 + + ret + + +;;; Reads one ADC channel from the converter and stores +;;; the result at dptr +readADCch: + ;; reading data is done by just dropping /CS and start reading and + ;; while keeping the IN signal to the ADC inactive + clr IOA.5 ; /cs to 0 + + ;; 1st byte: STATUS + lcall recSPI ; index + movx @dptr,a ; store the byte + inc dptr ; increment pointer + + ;; 2nd byte: MSB + lcall recSPI ; data + movx @dptr,a + inc dptr + + ;; 3rd byte: MSB-1 + lcall recSPI ; data + movx @dptr,a + inc dptr + + ;; 4th byte: LSB + lcall recSPI ; data + movx @dptr,a + inc dptr + + ;; got all bytes + setb IOA.5 ; /cs to 1 + + ret + + + +;;; interrupt-routine for SOF +sof_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov r0,#INTCTR ; interval counter + mov a,@r0 ; get the value + dec a ; decrement + mov @r0,a ; save it again + jz sof_adc ; we do ADC functions + ljmp epfull ; we skip all adc functions + +sof_adc: + mov r1,#INTERVAL ; get the interval + mov a,@r1 ; get it + mov @r0,a ; save it in the counter + mov a,EP2468STAT + anl a,#20H ; full? + jnz epfull ; EP6-buffer is full + + mov a,IOA ; conversion running? + jb ACC.7,epfull + + ;; make sure that we are starting with the first channel + mov r0,#MUXSG0 ; + mov a,@r0 ; get config of MUXSG0 + mov r0,a + mov a,#04H ; MUXSG0 + lcall registerWrite ; this resets the channel sequence + + setb IOA.7 ; start converter, START = 1 + + mov dptr,#0f800h ; EP6 buffer + mov a,IOD ; get DIO D + movx @dptr,a ; store it + inc dptr ; next byte + mov a,IOC ; get DIO C + movx @dptr,a ; store it + inc dptr ; next byte + mov a,IOB ; get DIO B + movx @dptr,a ; store it + inc dptr ; next byte + mov a,#0 ; just zero + movx @dptr,a ; pad it up + inc dptr ; algin along a 32 bit word + mov DPTRL,dpl + mov DPTRH,dph + + mov r0,#MAXSMPL + mov a,@r0 + mov SMPLCTR,a + + mov ASYNC_ON,#1 + +epfull: + ;; do the D/A conversion + mov a,EP2468STAT + anl a,#01H ; empty + jnz epempty ; nothing to get + + mov dptr,#0F000H ; EP2 fifo buffer + lcall dalo ; conversion + + mov dptr,#EP2BCL ; "arm" it + mov a,#00h + lcall syncdelaywr ; wait for the rec to sync + lcall syncdelaywr ; wait for the rec to sync + +epempty: + mov a,IOA ; conversion running? + jb ACC.7,sofend + + lcall DAsend + +sofend: + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#USBIRQ ; points to the SOF + mov a,#2 ; clear the SOF + movx @DPTR,a + +nosof: + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + +reset_ep8: + ;; erase all data in ep8 + mov dptr,#FIFORESET + mov a,#80H ; NAK + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#8 ; reset EP8 + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#0 ; normal operation + lcall syncdelaywr + ret + + +reset_ep6: + ;; throw out old data + mov dptr,#FIFORESET + mov a,#80H ; NAK + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#6 ; reset EP6 + lcall syncdelaywr + mov dptr,#FIFORESET + mov a,#0 ; normal operation + lcall syncdelaywr + ret + + +;;; configure the ADC converter +;;; the dptr points to the init data: +;;; CONFIG 0,1,3,4,5,6 +;;; note that CONFIG2 is omitted +configADC: + clr IOA.7 ; stops ADC: START line of ADC = L + setb IOA.5 ; ADC /cs to 1 + + ;; just in case something has gone wrong + nop + nop + nop + + mov a,#11000000b ; reset the ADC + clr IOA.5 ; ADC /cs to 0 + lcall sendSPI + setb IOA.5 ; ADC /cs to 1 + + movx a,@dptr ; + inc dptr + mov r0,a + mov a,#00H ; CONFIG0 + lcall registerWrite + + movx a,@dptr ; + inc dptr + mov r0,a + mov a,#01H ; CONFIG1 + lcall registerWrite + + movx a,@dptr ; + inc dptr + mov r0,a + mov a,#03H ; MUXDIF + lcall registerWrite + + movx a,@dptr ; + inc dptr + mov r0,#MUXSG0 + mov @r0,a ; store it for reset purposes + mov r0,a + mov a,#04H ; MUXSG0 + lcall registerWrite + + movx a,@dptr ; + inc dptr + mov r0,a + mov a,#05H ; MUXSG1 + lcall registerWrite + + movx a,@dptr ; + inc dptr + mov r0,a + mov a,#06H ; SYSRED + lcall registerWrite + + ret + + +;;; interrupt-routine for ep1out +;;; receives the channel list and other commands +ep1out_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + mov dptr,#0E780h ; FIFO buffer of EP1OUT + movx a,@dptr ; get the first byte + mov r0,#CMD_FLAG ; pointer to the command byte + mov @r0,a ; store the command byte for ep8 + + mov dptr,#ep1out_jmp; jump table for the different functions + rl a ; multiply by 2: sizeof sjmp + jmp @a+dptr ; jump to the jump table + ;; jump table, corresponds to the command bytes defined + ;; in usbdux.c +ep1out_jmp: + sjmp startadc ; a=0 + sjmp single_da ; a=1 + sjmp config_digital_b; a=2 + sjmp write_digital_b ; a=3 + sjmp initsgADchannel ; a=4 + sjmp nothing ; a=5 + sjmp nothing ; a=6 + sjmp pwm_on ; a=7 + sjmp pwm_off ; a=8 + sjmp startadcint ; a=9 + +nothing: + ljmp over_da + +pwm_on: + lcall startPWM + sjmp over_da + +pwm_off: + lcall stopPWM + sjmp over_da + +initsgADchannel: + mov ASYNC_ON,#0 + + mov dptr,#0e781h ; FIFO buffer of EP1OUT + lcall configADC ; configures the ADC esp sel the channel + + lcall reset_ep8 ; reset FIFO: get rid of old bytes + ;; Save new A/D data in EP8. This is the first byte + ;; the host will read during an INSN. If there are + ;; more to come they will be handled by the ISR of + ;; ep8. + lcall ep8_ops ; get A/D data + + sjmp over_da + +startadcint: + mov dptr,#0e781h ; FIFO buffer of EP1OUT from 2nd byte + + movx a,@dptr ; interval is the 1st byte + inc dptr ; data pointer + sjmp startadc2 ; the other paramters as with startadc + +;;; config AD: +;;; we write to the registers of the A/D converter +startadc: + mov dptr,#0e781h ; FIFO buffer of EP1OUT from 2nd byte + + mov a,#1 ; interval is 1 here all the time +startadc2: + mov r0,#INTERVAL ; set it + mov @r0,a + mov r0,#INTCTR ; the counter is also just one + mov @r0,a + + movx a,@dptr ; get length of channel list + inc dptr + mov r0,#MAXSMPL + mov @r0,a ; length of the channel list + mov SMPLCTR,a + + lcall configADC ; configures all registers + + mov ASYNC_ON,#1 ; async enable + + lcall reset_ep6 ; reset FIFO + + ;; load new A/D data into EP6 + ;; This must be done. Otherwise the ISR is never called. + ;; The ISR is only called when data has _left_ the + ;; ep buffer here it has to be refilled. + lcall ep6_arm ; fill with dummy data + + sjmp over_da + +;;; Single DA conversion. The 2 bytes are in the FIFO buffer +single_da: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + lcall dalo ; conversion + sjmp over_da + +;;; configure the port B as input or output (bitwise) +config_digital_b: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + movx a,@dptr ; get the second byte + inc dptr + mov OEB,a ; set the output enable bits + movx a,@dptr ; get the second byte + inc dptr + mov OEC,a + movx a,@dptr ; get the second byte + inc dptr + mov OED,a + sjmp over_da + +;;; Write one byte to the external digital port B +;;; and prepare for digital read +write_digital_b: + mov dptr,#0e781h ; FIFO buffer of EP1OUT + movx a,@dptr ; command[1] + inc dptr + mov OEB,a ; output enable + movx a,@dptr ; command[2] + inc dptr + mov OEC,a + movx a,@dptr ; command[3] + inc dptr + mov OED,a + movx a,@dptr ; command[4] + inc dptr + mov IOB,a ; + movx a,@dptr ; command[5] + inc dptr + mov IOC,a + movx a,@dptr ; command[6] + inc dptr + mov IOD,a + + lcall reset_ep8 ; reset FIFO of ep 8 + + ;; fill ep8 with new data from port B + ;; When the host requests the data it's already there. + ;; This must be so. Otherwise the ISR is not called. + ;; The ISR is only called when a packet has been delivered + ;; to the host. Thus, we need a packet here in the + ;; first instance. + lcall ep8_ops ; get digital data + + ;; + ;; for all commands the same +over_da: + mov dptr,#EP1OUTBC + mov a,#00h + lcall syncdelaywr ; arm + lcall syncdelaywr ; arm + lcall syncdelaywr ; arm + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#00001000b ; clear the ep1outirq + movx @DPTR,a + + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + + +;;; save all DA channels from the endpoint buffer in a local buffer +dalo: + movx a,@dptr ; number of bytes to send out + inc dptr ; pointer to the first byte + mov r1,#DABUFFER ; buffer for DA values + mov @r1,a ; save it + inc r1 ; inc pointer to local buffer + mov r0,a ; counter +nextDAlo: + movx a,@dptr ; get the byte + inc dptr ; point to the high byte + mov @r1,a ; save it in the buffer + inc r1 + movx a,@dptr ; get the channel number + inc dptr ; get ready for the next channel + mov @r1,a ; save it + inc r1 + djnz r0,nextDAlo ; next channel + ret + + +;;; write to the DA converter +DAsend: + mov r1,#DABUFFER ; buffer of the DA values + mov a,@r1 ; get the channel count + jz DAret ; nothing to do + inc r1 ; pointer to the first byte + mov r0,a ; counter +nextDA: + mov a,@r1 ; get the byte + inc r1 ; point to the high byte + mov r3,a ; store in r3 for writeDA + mov a,@r1 ; get the channel number + inc r1 ; get ready for the next channel + push 1 ; is modified in the subroutine + lcall writeDA ; write value to the DAC + pop 1 ; get the pointer back + djnz r0,nextDA ; next channel +DAret: + ret + + + +;;; D/A-conversion: +;;; channel number in a +;;; value in r3 +writeDA: + anl a,#00000011b ; 4 channels + mov r1,#6 ; the channel number needs to be shifted up +writeDA2: + rl a ; bit shift to the left + djnz r1,writeDA2 ; do it 6 times + orl a,#00010000b ; update outputs after write + mov r2,a ; backup + mov a,r3 ; get byte + anl a,#11110000b ; get the upper nibble + mov r1,#4 ; shift it up to the upper nibble +writeDA3: + rr a ; shift to the upper to the lower + djnz r1,writeDA3 + orl a,r2 ; merge with the channel info + clr IOA.6 ; /SYNC (/CS) of the DA to 0 + lcall sendSPI ; send it out to the SPI + mov a,r3 ; get data again + anl a,#00001111b ; get the lower nibble + mov r1,#4 ; shift that to the upper +writeDA4: + rl a + djnz r1,writeDA4 + anl a,#11110000b ; make sure that's empty + lcall sendSPI + setb IOA.6 ; /SYNC (/CS) of the DA to 1 +noDA: ret + + + +;;; arm ep6: this is just a dummy arm to get things going +ep6_arm: + mov DPTR,#EP6BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr ; wait until the length has arrived + + mov DPTR,#EP6BCL ; byte count L + mov a,#1 ; is one + lcall syncdelaywr ; wait until the length has been proc + ret + + + +;;; converts one analog/digital channel and stores it in EP8 +;;; also gets the content of the digital ports B,C and D depending on +;;; the COMMAND flag +ep8_ops: + mov dptr,#0fc01h ; ep8 fifo buffer + clr a ; high byte + movx @dptr,a ; set H=0 + mov dptr,#0fc00h ; low byte + mov r0,#CMD_FLAG + mov a,@r0 + movx @dptr,a ; save command byte + + mov dptr,#ep8_jmp ; jump table for the different functions + rl a ; multiply by 2: sizeof sjmp + jmp @a+dptr ; jump to the jump table + ;; jump table, corresponds to the command bytes defined + ;; in usbdux.c +ep8_jmp: + sjmp ep8_err ; a=0, err + sjmp ep8_err ; a=1, err + sjmp ep8_err ; a=2, err + sjmp ep8_dio ; a=3, digital read + sjmp ep8_sglchannel ; a=4, analog A/D + sjmp ep8_err ; a=5, err + sjmp ep8_err ; a=6, err + + ;; read one A/D channel +ep8_sglchannel: + setb IOA.7 ; start converter, START = 1 + ;; we do polling: we wait until DATA READY is zero +sglchwait: + mov a,IOA ; get /DRDY + jb ACC.0,sglchwait ; wait until data ready (DRDY=0) + mov DPTR,#0fc01h ; EP8 FIFO + lcall readADCch ; get one reading + clr IOA.7 ; stop the converter, START = 0 + + sjmp ep8_send ; send the data + + ;; read the digital lines +ep8_dio: + mov DPTR,#0fc01h ; store the contents of port B + mov a,IOB ; in the next + movx @dptr,a ; entry of the buffer + inc dptr + mov a,IOC ; port C + movx @dptr,a ; next byte of the EP + inc dptr + mov a,IOD + movx @dptr,a ; port D + +ep8_send: + mov DPTR,#EP8BCH ; byte count H + mov a,#0 ; is zero + lcall syncdelaywr + + mov DPTR,#EP8BCL ; byte count L + mov a,#10H ; 16 bytes, bec it's such a great number... + lcall syncdelaywr ; send the data over to the host + +ep8_err: + ret + + + +;;; EP8 interrupt is the endpoint which sends data back after a command +;;; The actual command fills the EP buffer already +;;; but for INSNs we need to deliver more data if the count > 1 +ep8_isr: + push dps + push dpl + push dph + push dpl1 + push dph1 + push acc + push psw + push 00h ; R0 + push 01h ; R1 + push 02h ; R2 + push 03h ; R3 + push 04h ; R4 + push 05h ; R5 + push 06h ; R6 + push 07h ; R7 + + lcall ep8_ops + + ;; clear INT2 + mov a,EXIF ; FIRST clear the USB (INT2) interrupt request + clr acc.4 + mov EXIF,a ; Note: EXIF reg is not 8051 bit-addressable + + mov DPTR,#EPIRQ ; + mov a,#10000000b ; clear the ep8irq + movx @DPTR,a + + pop 07h + pop 06h + pop 05h + pop 04h ; R4 + pop 03h ; R3 + pop 02h ; R2 + pop 01h ; R1 + pop 00h ; R0 + pop psw + pop acc + pop dph1 + pop dpl1 + pop dph + pop dpl + pop dps + reti + + + +;;; GPIF waveform for PWM +waveform: + ;; 0 1 2 3 4 5 6 7(not used) + ;; len (gives 50.007Hz) + .db 195, 195, 195, 195, 195, 195, 1, 1 + + ;; opcode + .db 002H, 006H, 002H, 002H, 002H, 002H, 002H, 002H + + ;; out + .db 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH + + ;; log + .db 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H + + +stopPWM: + mov r0,#PWMFLAG ; flag for PWM + mov a,#0 ; PWM (for the main loop) + mov @r0,a ; set it + + mov dptr,#IFCONFIG ; switch off GPIF + mov a,#10100000b ; gpif, 30MHz, internal IFCLK + lcall syncdelaywr + ret + + +;;; init PWM +startPWM: + mov dptr,#IFCONFIG ; switch on IFCLK signal + mov a,#10100010b ; gpif, 30MHz, internal IFCLK + lcall syncdelaywr + + mov OEB,0FFH ; output to port B + + mov DPTR,#EP4CFG + mov a,#10100000b ; valid, out, bulk + movx @DPTR,a + + ;; reset the endpoint + mov dptr,#FIFORESET + mov a,#80h ; NAK + lcall syncdelaywr + mov a,#84h ; reset EP4 + NAK + lcall syncdelaywr + mov a,#0 ; normal op + lcall syncdelaywr + + mov dptr,#EP4BCL + mov a,#0H ; discard packets + lcall syncdelaywr ; empty FIFO buffer + lcall syncdelaywr ; empty FIFO buffer + + ;; aborts all transfers by the GPIF + mov dptr,#GPIFABORT + mov a,#0ffh ; abort all transfers + lcall syncdelaywr + + ;; wait for GPIF to finish +wait_f_abort: + mov a,GPIFTRIG ; GPIF status + anl a,#80h ; done bit + jz wait_f_abort ; GPIF busy + + mov dptr,#GPIFCTLCFG + mov a,#10000000b ; tri state for CTRL + lcall syncdelaywr + + mov dptr,#GPIFIDLECTL + mov a,#11110000b ; all CTL outputs low + lcall syncdelaywr + + ;; abort if FIFO is empty + mov a,#00000001b ; abort if empty + mov dptr,#EP4GPIFFLGSEL + lcall syncdelaywr + + ;; + mov a,#00000001b ; stop if GPIF flg + mov dptr,#EP4GPIFPFSTOP + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB3 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB2 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH ; 512 bytes + mov dptr,#GPIFTCB1 + lcall syncdelaywr + + ;; transaction counter + mov a,#0ffH + mov dptr,#GPIFTCB0 + lcall syncdelaywr + + ;; RDY pins. Not used here. + mov a,#0 + mov dptr,#GPIFREADYCFG + lcall syncdelaywr + + ;; drives the output in the IDLE state + mov a,#1 + mov dptr,#GPIFIDLECS + lcall syncdelaywr + + ;; direct data transfer from the EP to the GPIF + mov dptr,#EP4FIFOCFG + mov a,#00010000b ; autoout=1, byte-wide + lcall syncdelaywr + + ;; waveform 0 is used for FIFO out + mov dptr,#GPIFWFSELECT + mov a,#00000000b + movx @dptr,a + lcall syncdelay + + ;; transfer the delay byte from the EP to the waveform + mov dptr,#0e781h ; EP1 buffer + movx a,@dptr ; get the delay + mov dptr,#waveform ; points to the waveform + mov r2,#6 ; fill 6 bytes +timloop: + movx @dptr,a ; save timing in a xxx + inc dptr + djnz r2,timloop ; fill the 6 delay bytes + + ;; load waveform + mov AUTOPTRH2,#0E4H ; XDATA0H + lcall syncdelay + mov AUTOPTRL2,#00H ; XDATA0L + lcall syncdelay + + mov dptr,#waveform ; points to the waveform + + mov AUTOPTRSETUP,#7 ; autoinc and enable + lcall syncdelay + + mov r2,#20H ; 32 bytes to transfer + +wavetr: + movx a,@dptr + inc dptr + push dpl + push dph + push dpl1 + push dph1 + mov dptr,#XAUTODAT2 + movx @dptr,a + lcall syncdelay + pop dph1 + pop dpl1 + pop dph + pop dpl + djnz r2,wavetr + + mov dptr,#OUTPKTEND + mov a,#084H + lcall syncdelaywr + lcall syncdelaywr + + mov r0,#PWMFLAG ; flag for PWM + mov a,#1 ; PWM (for the main loop) + mov @r0,a ; set it + + ret + + + +;; need to delay every time the byte counters +;; for the EPs have been changed. + +syncdelay: + nop + nop + nop + nop + nop + nop + nop + nop + nop + ret + +syncdelaywr: + movx @dptr,a + lcall syncdelay + ret + + + + .org 1F00h ; lookup table at the end of memory + +swap_lut: +.db 0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136 +.db 72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100 +.db 228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220 +.db 60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10 +.db 138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166 +.db 102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94 +.db 222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9 +.db 137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165 +.db 101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93 +.db 221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11 +.db 139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167 +.db 103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95 +.db 223,63,191,127,255 + + + + +.End + + diff --git a/usbdux_firmware.bin b/usbdux_firmware.bin new file mode 100644 index 0000000..7f537fc Binary files /dev/null and b/usbdux_firmware.bin differ diff --git a/usbduxfast_firmware.bin b/usbduxfast_firmware.bin new file mode 100644 index 0000000..3a6441d Binary files /dev/null and b/usbduxfast_firmware.bin differ diff --git a/usbduxsigma_firmware.bin b/usbduxsigma_firmware.bin new file mode 100644 index 0000000..b946264 Binary files /dev/null and b/usbduxsigma_firmware.bin differ diff --git a/v4l-cx231xx-avcore-01.fw b/v4l-cx231xx-avcore-01.fw new file mode 100644 index 0000000..78c5e9e Binary files /dev/null and b/v4l-cx231xx-avcore-01.fw differ diff --git a/v4l-cx23418-apu.fw b/v4l-cx23418-apu.fw new file mode 100644 index 0000000..04351f1 Binary files /dev/null and b/v4l-cx23418-apu.fw differ diff --git a/v4l-cx23418-cpu.fw b/v4l-cx23418-cpu.fw new file mode 100644 index 0000000..22227b6 Binary files /dev/null and b/v4l-cx23418-cpu.fw differ diff --git a/v4l-cx23418-dig.fw b/v4l-cx23418-dig.fw new file mode 100644 index 0000000..cfd6e84 Binary files /dev/null and b/v4l-cx23418-dig.fw differ diff --git a/v4l-cx23885-avcore-01.fw b/v4l-cx23885-avcore-01.fw new file mode 100644 index 0000000..5efd51c Binary files /dev/null and b/v4l-cx23885-avcore-01.fw differ diff --git a/v4l-cx25840.fw b/v4l-cx25840.fw new file mode 100644 index 0000000..baa89ff Binary files /dev/null and b/v4l-cx25840.fw differ diff --git a/vntwusb.fw b/vntwusb.fw new file mode 100644 index 0000000..2b5c353 Binary files /dev/null and b/vntwusb.fw differ diff --git a/wfx/LICENCE.wf200 b/wfx/LICENCE.wf200 new file mode 100644 index 0000000..6c2f022 --- /dev/null +++ b/wfx/LICENCE.wf200 @@ -0,0 +1,115 @@ +Copyright (c) 2021, Silicon Laboratories, Inc. + +All rights reserved. + +Your use of any portion of the Software shall constitute your acceptance of the +following terms and conditions. If you do not agree to the following terms and +conditions, do not use, retain or redistribute any portion of the Software. + +Limited Redistribution and Use License. Silicon Laboratories Inc. (“Silicon +Labs”) hereby grants to any person obtaining a copy of this firmware (the +“Software”) a non-exclusive right to use and distribute, in binary form, without +modification, the Software and permit persons to whom the Software is provided +to do the same, subject to the following conditions: + +1) Redistributions must reproduce the above copyright notice, this license + notice and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +2) No reverse engineering, decompilation, or disassembly of this Software is + permitted. + +3) Neither Silicon Labs nor any of the third party contributors endorse or + promote products derived from this Software. + +4) Nothing shall obligate Silicon Labs to provide you with source code for + Software licensed and provided to you in object code. + +Limited patent license. Silicon Labs grants a worldwide, non-exclusive, +no-charge, royalty-free patent license to make, have made, use, offer to sell, +sell, import, and otherwise transfer this Software, where such license applies +only to those patent claims licensable by Silicon Labs that are necessarily +infringed by this Software. This patent license shall not apply to any +combinations that include this Software. No hardware is licensed hereunder. + +If you institute patent litigation against any entity (including a cross-claim +or counterclaim in a lawsuit) alleging that the Software itself infringes your +patent(s), then your rights granted under this license shall terminate as of the +date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY SILICON LABS "AS IS." 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 SILICON LABS 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.IN NO EVENT SHALL SILICON LABS’ TOTAL LIABILITY TO YOU, WHETHER +IN CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, EXCEED THE PRICE PAID BY +YOU FOR THE SOFTWARE. + +------------------------------------------------------------------------------- +The following software may be included in this product: wpa_supplicant + +Use of any of this software is governed by the terms of the license below: + + Copyright (c) 2003-2017, Jouni Malinen and contributors + All Rights Reserved. + +This software may be distributed, used, and modified under the terms of + + BSD license: + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name(s) of the above-listed copyright holder(s) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------- +The following software may be included in this product: jsmn + +Use of any of this software is governed by the terms of the license below: + + Copyright (c) 2010 Serge A. Zaitsev + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/wfx/brd4001a.pds b/wfx/brd4001a.pds new file mode 100644 index 0000000..9765d13 Binary files /dev/null and b/wfx/brd4001a.pds differ diff --git a/wfx/brd8022a.pds b/wfx/brd8022a.pds new file mode 100644 index 0000000..737286f Binary files /dev/null and b/wfx/brd8022a.pds differ diff --git a/wfx/brd8023a.pds b/wfx/brd8023a.pds new file mode 100644 index 0000000..9765d13 Binary files /dev/null and b/wfx/brd8023a.pds differ diff --git a/wfx/wfm_wf200_C0.sec b/wfx/wfm_wf200_C0.sec new file mode 100644 index 0000000..e6e86e2 Binary files /dev/null and b/wfx/wfm_wf200_C0.sec differ diff --git a/wil6210.brd b/wil6210.brd new file mode 100644 index 0000000..7627fbc Binary files /dev/null and b/wil6210.brd differ diff --git a/wil6210.fw b/wil6210.fw new file mode 100644 index 0000000..13cf109 Binary files /dev/null and b/wil6210.fw differ -- cgit v1.2.3