xref: /openbmc/linux/drivers/net/wireless/quantenna/qtnfmac/qtn_hw_ids.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
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 Mitsyanko static 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