]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/fwget/pci/pci_network_qca
Merge commit 'acb089b983171667467adc66f56a723b609ed22e' into kbsd/vis
[FreeBSD/FreeBSD.git] / usr.sbin / fwget / pci / pci_network_qca
1 #-
2 # SPDX-License-Identifier: BSD-2-Clause
3 #
4 # Copyright 2023 Bjoern A. Zeeb
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 # SUCH DAMAGE.
26 #
27
28 # ath10k
29 pci_network_qca_ath10k()
30 {
31
32         # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath10k-kmod\"; return 1 ;;\n", tolower($3) }' hw.h
33         # We ignore the ubiquity entry for now.
34         case "$1" in
35         0x003c) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
36         0x0041) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
37         0x003e) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
38         0x0042) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
39         0x0040) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
40         0x0056) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
41         0x0046) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
42         0x0042) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
43         0x0050) addpkg "wifi-firmware-ath10k-kmod"; return 1 ;;
44         esac
45 }
46
47 # ath11k
48 pci_network_qca_ath11k()
49 {
50
51         # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath11k-kmod\"; return 1 ;;\n", tolower($3) }' pci.c
52         case "$1" in
53         0x1101) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;;
54         0x1104) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;;
55         0x1103) addpkg "wifi-firmware-ath11k-kmod"; return 1 ;;
56         esac
57 }
58
59 # ath12k
60 pci_network_qca_ath12k()
61 {
62         # No ath12k firmware package yet
63         return 0
64
65         # awk '/DEVICE_ID[[:space:]]/ { gsub("[()]", "", $3); printf "%s)\taddpkg \"wifi-firmware-ath12k-kmod\"; return 1 ;;\n", tolower($3) }' pci.c
66         case "$1" in
67         0x1109) addpkg "wifi-firmware-ath12k-kmod"; return 1 ;;
68         0x1107) addpkg "wifi-firmware-ath12k-kmod"; return 1 ;;
69         esac
70 }
71
72 pci_network_qca()
73 {
74
75         for _drv in ath10k ath11k; do
76                 pci_network_qca_${_drv} "$1"
77                 case $? in
78                 1)      break ;;
79                 esac
80         done
81 }