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 "qtn/fmac_qsr10g.img" 25 #define QTN_PCI_TOPAZ_FW_NAME "qtn/fmac_qsr1000.img" 26 #define QTN_PCI_TOPAZ_BOOTLD_NAME "qtn/uboot_qsr1000.img" 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_ */ 36