1*ff233cb5SSergey Matyukevich /* SPDX-License-Identifier: GPL-2.0+ */ 2*ff233cb5SSergey Matyukevich /* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */ 398f44cb0SIgor Mitsyanko 498f44cb0SIgor Mitsyanko #ifndef _QTN_HW_IDS_H_ 598f44cb0SIgor Mitsyanko #define _QTN_HW_IDS_H_ 698f44cb0SIgor Mitsyanko 798f44cb0SIgor Mitsyanko #include <linux/pci_ids.h> 898f44cb0SIgor Mitsyanko 998f44cb0SIgor Mitsyanko #define PCIE_VENDOR_ID_QUANTENNA (0x1bb5) 1098f44cb0SIgor Mitsyanko 1198f44cb0SIgor Mitsyanko /* PCIE Device IDs */ 1298f44cb0SIgor Mitsyanko 13e401fa25SSergey Matyukevich #define PCIE_DEVICE_ID_QSR (0x0008) 1498f44cb0SIgor Mitsyanko 15033a7599SIgor Mitsyanko #define QTN_REG_SYS_CTRL_CSR 0x14 16033a7599SIgor Mitsyanko #define QTN_CHIP_ID_MASK 0xF0 17033a7599SIgor Mitsyanko #define QTN_CHIP_ID_TOPAZ 0x40 18033a7599SIgor Mitsyanko #define QTN_CHIP_ID_PEARL 0x50 19033a7599SIgor Mitsyanko #define QTN_CHIP_ID_PEARL_B 0x60 20033a7599SIgor Mitsyanko #define QTN_CHIP_ID_PEARL_C 0x70 21033a7599SIgor Mitsyanko 2298f44cb0SIgor Mitsyanko /* FW names */ 2398f44cb0SIgor Mitsyanko 2498f44cb0SIgor Mitsyanko #define QTN_PCI_PEARL_FW_NAME "qtn/fmac_qsr10g.img" 25e401fa25SSergey Matyukevich #define QTN_PCI_TOPAZ_FW_NAME "qtn/fmac_qsr1000.img" 26e401fa25SSergey Matyukevich #define QTN_PCI_TOPAZ_BOOTLD_NAME "qtn/uboot_qsr1000.img" 2798f44cb0SIgor Mitsyanko qtnf_chip_id_get(const void __iomem * regs_base)28033a7599SIgor Mitsyankostatic inline unsigned int qtnf_chip_id_get(const void __iomem *regs_base) 29033a7599SIgor Mitsyanko { 30033a7599SIgor Mitsyanko u32 board_rev = readl(regs_base + QTN_REG_SYS_CTRL_CSR); 31033a7599SIgor Mitsyanko 32033a7599SIgor Mitsyanko return board_rev & QTN_CHIP_ID_MASK; 33033a7599SIgor Mitsyanko } 34033a7599SIgor Mitsyanko 3598f44cb0SIgor Mitsyanko #endif /* _QTN_HW_IDS_H_ */ 36