1dd8a74e7SBjoern A. Zeeb#- 2dd8a74e7SBjoern A. Zeeb# SPDX-License-Identifier: BSD-2-Clause 3dd8a74e7SBjoern A. Zeeb# 4dd8a74e7SBjoern A. Zeeb# Copyright 2023 Bjoern A. Zeeb 5dd8a74e7SBjoern A. Zeeb# 6dd8a74e7SBjoern A. Zeeb# Redistribution and use in source and binary forms, with or without 7dd8a74e7SBjoern A. Zeeb# modification, are permitted provided that the following conditions 8dd8a74e7SBjoern A. Zeeb# are met: 9dd8a74e7SBjoern A. Zeeb# 1. Redistributions of source code must retain the above copyright 10dd8a74e7SBjoern A. Zeeb# notice, this list of conditions and the following disclaimer. 11dd8a74e7SBjoern A. Zeeb# 2. Redistributions in binary form must reproduce the above copyright 12dd8a74e7SBjoern A. Zeeb# notice, this list of conditions and the following disclaimer in the 13dd8a74e7SBjoern A. Zeeb# documentation and/or other materials provided with the distribution. 14dd8a74e7SBjoern A. Zeeb# 15dd8a74e7SBjoern A. Zeeb# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16dd8a74e7SBjoern A. Zeeb# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17dd8a74e7SBjoern A. Zeeb# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18dd8a74e7SBjoern A. Zeeb# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19dd8a74e7SBjoern A. Zeeb# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20dd8a74e7SBjoern A. Zeeb# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21dd8a74e7SBjoern A. Zeeb# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22dd8a74e7SBjoern A. Zeeb# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23dd8a74e7SBjoern A. Zeeb# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24dd8a74e7SBjoern A. Zeeb# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25dd8a74e7SBjoern A. Zeeb# SUCH DAMAGE. 26dd8a74e7SBjoern A. Zeeb# 27dd8a74e7SBjoern A. Zeeb 28dd8a74e7SBjoern A. Zeeb# ath10k 29dd8a74e7SBjoern A. Zeebpci_network_qca_ath10k() 30dd8a74e7SBjoern A. Zeeb{ 31dd8a74e7SBjoern A. Zeeb 32dd8a74e7SBjoern A. Zeeb case "$1" in 33*d33f5a0aSBjoern A. Zeeb 34*d33f5a0aSBjoern A. Zeeb # The case pattern table below is generated by a script also helping 35*d33f5a0aSBjoern A. Zeeb # to generate the flavor/firmware Makefile definitions for ports. 36*d33f5a0aSBjoern A. Zeeb # { sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh } 37*d33f5a0aSBjoern A. Zeeb ### >>> 38*d33f5a0aSBjoern A. Zeeb 39*d33f5a0aSBjoern A. Zeeb 0x003c) addpkg "wifi-firmware-ath10k-kmod-qca988x_hw20"; return 1 ;; 40*d33f5a0aSBjoern A. Zeeb 0x003e) addpkg "wifi-firmware-ath10k-kmod-qca6174_hw21" 41*d33f5a0aSBjoern A. Zeeb addpkg "wifi-firmware-ath10k-kmod-qca6174_hw30" 42*d33f5a0aSBjoern A. Zeeb return 1 ;; 43*d33f5a0aSBjoern A. Zeeb 0x0040) addpkg "wifi-firmware-ath10k-kmod-qca99x0_hw20"; return 1 ;; 44*d33f5a0aSBjoern A. Zeeb 0x0041) addpkg "wifi-firmware-ath10k-kmod-qca6174_hw21"; return 1 ;; 45*d33f5a0aSBjoern A. Zeeb 0x0042) addpkg "wifi-firmware-ath10k-kmod-qca6174_hw30" 46*d33f5a0aSBjoern A. Zeeb addpkg "wifi-firmware-ath10k-kmod-qca9377_hw10" 47*d33f5a0aSBjoern A. Zeeb return 1 ;; 48*d33f5a0aSBjoern A. Zeeb 0x0046) addpkg "wifi-firmware-ath10k-kmod-qca9984_hw10"; return 1 ;; 49*d33f5a0aSBjoern A. Zeeb 0x0050) addpkg "wifi-firmware-ath10k-kmod-qca9887_hw10"; return 1 ;; 50*d33f5a0aSBjoern A. Zeeb 0x0056) addpkg "wifi-firmware-ath10k-kmod-qca9888_hw20"; return 1 ;; 51*d33f5a0aSBjoern A. Zeeb 52*d33f5a0aSBjoern A. Zeeb ### <<< 53dd8a74e7SBjoern A. Zeeb esac 54dd8a74e7SBjoern A. Zeeb} 55dd8a74e7SBjoern A. Zeeb 56dd8a74e7SBjoern A. Zeeb# ath11k 57dd8a74e7SBjoern A. Zeebpci_network_qca_ath11k() 58dd8a74e7SBjoern A. Zeeb{ 59dd8a74e7SBjoern A. Zeeb 60dd8a74e7SBjoern A. Zeeb case "$1" in 61*d33f5a0aSBjoern A. Zeeb 62*d33f5a0aSBjoern A. Zeeb # The case pattern table below is generated by a script also helping 63*d33f5a0aSBjoern A. Zeeb # to generate the flavor/firmware Makefile definitions for ports. 64*d33f5a0aSBjoern A. Zeeb # { sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh } 65*d33f5a0aSBjoern A. Zeeb ### >>> 66*d33f5a0aSBjoern A. Zeeb 67*d33f5a0aSBjoern A. Zeeb 0x1101) addpkg "wifi-firmware-ath11k-kmod-qca6390_hw20"; return 1 ;; 68*d33f5a0aSBjoern A. Zeeb 0x1103) addpkg "wifi-firmware-ath11k-kmod-wcn6855_hw20"; return 1 ;; 69*d33f5a0aSBjoern A. Zeeb 0x1104) addpkg "wifi-firmware-ath11k-kmod-qcn9074_hw10"; return 1 ;; 70*d33f5a0aSBjoern A. Zeeb 71*d33f5a0aSBjoern A. Zeeb ### <<< 72dd8a74e7SBjoern A. Zeeb esac 73dd8a74e7SBjoern A. Zeeb} 74dd8a74e7SBjoern A. Zeeb 75dd8a74e7SBjoern A. Zeeb# ath12k 76dd8a74e7SBjoern A. Zeebpci_network_qca_ath12k() 77dd8a74e7SBjoern A. Zeeb{ 78dd8a74e7SBjoern A. Zeeb 79dd8a74e7SBjoern A. Zeeb case "$1" in 80*d33f5a0aSBjoern A. Zeeb 81*d33f5a0aSBjoern A. Zeeb # The case pattern table below is generated by a script also helping 82*d33f5a0aSBjoern A. Zeeb # to generate the flavor/firmware Makefile definitions for ports. 83*d33f5a0aSBjoern A. Zeeb # { sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh } 84*d33f5a0aSBjoern A. Zeeb ### >>> 85*d33f5a0aSBjoern A. Zeeb 86*d33f5a0aSBjoern A. Zeeb 0x1107) addpkg "wifi-firmware-ath12k-kmod-wcn7850_hw20"; return 1 ;; 87*d33f5a0aSBjoern A. Zeeb 88*d33f5a0aSBjoern A. Zeeb ### <<< 89dd8a74e7SBjoern A. Zeeb esac 90dd8a74e7SBjoern A. Zeeb} 91dd8a74e7SBjoern A. Zeeb 92dd8a74e7SBjoern A. Zeebpci_network_qca() 93dd8a74e7SBjoern A. Zeeb{ 94dd8a74e7SBjoern A. Zeeb 95*d33f5a0aSBjoern A. Zeeb for _drv in ath10k ath11k ath12k; do 96dd8a74e7SBjoern A. Zeeb pci_network_qca_${_drv} "$1" 97dd8a74e7SBjoern A. Zeeb case $? in 98dd8a74e7SBjoern A. Zeeb 1) break ;; 99dd8a74e7SBjoern A. Zeeb esac 100dd8a74e7SBjoern A. Zeeb done 101dd8a74e7SBjoern A. Zeeb} 102