1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2007 - 2011 Realtek Corporation. */
3 #ifndef __HAL_VERSION_DEF_H__
4 #define __HAL_VERSION_DEF_H__
5 
6 enum HAL_CHIP_TYPE {
7 	TEST_CHIP	=	0,
8 	NORMAL_CHIP	=	1,
9 	FPGA		=	2,
10 };
11 
12 enum HAL_CUT_VERSION {
13 	A_CUT_VERSION	=	0,
14 	B_CUT_VERSION	=	1,
15 	C_CUT_VERSION	=	2,
16 	D_CUT_VERSION	=	3,
17 	E_CUT_VERSION	=	4,
18 	F_CUT_VERSION	=	5,
19 	G_CUT_VERSION	=	6,
20 };
21 
22 enum HAL_VENDOR {
23 	CHIP_VENDOR_TSMC	=	0,
24 	CHIP_VENDOR_UMC		=	1,
25 };
26 
27 enum HAL_RF_TYPE {
28 	RF_TYPE_1T1R	=	0,
29 	RF_TYPE_1T2R	=	1,
30 	RF_TYPE_2T2R	=	2,
31 	RF_TYPE_2T3R	=	3,
32 	RF_TYPE_2T4R	=	4,
33 	RF_TYPE_3T3R	=	5,
34 	RF_TYPE_3T4R	=	6,
35 	RF_TYPE_4T4R	=	7,
36 };
37 
38 struct HAL_VERSION {
39 	enum HAL_CHIP_TYPE	ChipType;
40 	enum HAL_CUT_VERSION	CUTVersion;
41 	enum HAL_VENDOR		VendorType;
42 	enum HAL_RF_TYPE	RFType;
43 	u8			ROMVer;
44 };
45 
46 /*  Get element */
47 #define GET_CVID_CHIP_TYPE(version)	(((version).ChipType))
48 #define GET_CVID_MANUFACTUER(version)	(((version).VendorType))
49 #define GET_CVID_CUT_VERSION(version)	(((version).CUTVersion))
50 #define GET_CVID_ROM_VERSION(version)	(((version).ROMVer) & ROM_VERSION_MASK)
51 
52 /* Common Macro. -- */
53 /* HAL_VERSION VersionID */
54 
55 /* HAL_CHIP_TYPE_E */
56 #define IS_TEST_CHIP(version)				\
57 	((GET_CVID_CHIP_TYPE(version) == TEST_CHIP) ? true : false)
58 #define IS_NORMAL_CHIP(version)				\
59 	((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP) ? true : false)
60 
61 /* HAL_CUT_VERSION_E */
62 #define IS_A_CUT(version)				\
63 	((GET_CVID_CUT_VERSION(version) == A_CUT_VERSION) ? true : false)
64 #define IS_B_CUT(version)				\
65 	((GET_CVID_CUT_VERSION(version) == B_CUT_VERSION) ? true : false)
66 #define IS_C_CUT(version)				\
67 	((GET_CVID_CUT_VERSION(version) == C_CUT_VERSION) ? true : false)
68 #define IS_D_CUT(version)				\
69 	((GET_CVID_CUT_VERSION(version) == D_CUT_VERSION) ? true : false)
70 #define IS_E_CUT(version)				\
71 	((GET_CVID_CUT_VERSION(version) == E_CUT_VERSION) ? true : false)
72 
73 /* HAL_VENDOR_E */
74 #define IS_CHIP_VENDOR_TSMC(version)			\
75 	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_TSMC) ? true : false)
76 #define IS_CHIP_VENDOR_UMC(version)			\
77 	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_UMC) ? true : false)
78 
79 #endif
80