Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / quantenna / qtnfmac / qtn_hw_ids.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */
3
4 #ifndef _QTN_HW_IDS_H_
5 #define _QTN_HW_IDS_H_
6
7 #include <linux/pci_ids.h>
8
9 #define PCIE_VENDOR_ID_QUANTENNA        (0x1bb5)
10
11 /* PCIE Device IDs */
12
13 #define PCIE_DEVICE_ID_QSR              (0x0008)
14
15 #define QTN_REG_SYS_CTRL_CSR            0x14
16 #define QTN_CHIP_ID_MASK                0xF0
17 #define QTN_CHIP_ID_TOPAZ               0x40
18 #define QTN_CHIP_ID_PEARL               0x50
19 #define QTN_CHIP_ID_PEARL_B             0x60
20 #define QTN_CHIP_ID_PEARL_C             0x70
21
22 /* FW names */
23
24 #define QTN_PCI_PEARL_FW_NAME           "/*(DEBLOBBED)*/"
25 #define QTN_PCI_TOPAZ_FW_NAME           "/*(DEBLOBBED)*/"
26 #define QTN_PCI_TOPAZ_BOOTLD_NAME       "/*(DEBLOBBED)*/"
27
28 static inline unsigned int qtnf_chip_id_get(const void __iomem *regs_base)
29 {
30         u32 board_rev = readl(regs_base + QTN_REG_SYS_CTRL_CSR);
31
32         return board_rev & QTN_CHIP_ID_MASK;
33 }
34
35 #endif  /* _QTN_HW_IDS_H_ */