1/* SPDX-License-Identifier: GPL-2.0 */
2/******************************************************************************
3 *
4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5 *
6 ******************************************************************************/
7#ifndef __HAL_VERSION_DEF_H__
8#define __HAL_VERSION_DEF_H__
9
10/*  hal_ic_type_e */
11enum hal_ic_type_e { /* tag_HAL_IC_Type_Definition */
12	CHIP_8723B	=	8,
13};
14
15/* hal_chip_type_e */
16enum hal_chip_type_e { /* tag_HAL_CHIP_Type_Definition */
17	TEST_CHIP		=	0,
18	NORMAL_CHIP	=	1,
19	FPGA			=	2,
20};
21
22/* hal_cut_version_e */
23enum hal_cut_version_e { /* tag_HAL_Cut_Version_Definition */
24	A_CUT_VERSION		=	0,
25	B_CUT_VERSION		=	1,
26	C_CUT_VERSION		=	2,
27	D_CUT_VERSION		=	3,
28	E_CUT_VERSION		=	4,
29	F_CUT_VERSION		=	5,
30	G_CUT_VERSION		=	6,
31	H_CUT_VERSION		=	7,
32	I_CUT_VERSION		=	8,
33	J_CUT_VERSION		=	9,
34	K_CUT_VERSION		=	10,
35};
36
37/*  HAL_Manufacturer */
38enum hal_vendor_e { /* tag_HAL_Manufacturer_Version_Definition */
39	CHIP_VENDOR_TSMC	=	0,
40	CHIP_VENDOR_UMC		=	1,
41	CHIP_VENDOR_SMIC	=	2,
42};
43
44struct hal_version { /* tag_HAL_VERSION */
45	enum hal_ic_type_e		ICType;
46	enum hal_chip_type_e		ChipType;
47	enum hal_cut_version_e	CUTVersion;
48	enum hal_vendor_e		VendorType;
49	u8 			ROMVer;
50};
51
52/* hal_version			VersionID; */
53
54/*  Get element */
55#define GET_CVID_IC_TYPE(version)			((enum hal_ic_type_e)((version).ICType))
56#define GET_CVID_CHIP_TYPE(version)			((enum hal_chip_type_e)((version).ChipType))
57#define GET_CVID_MANUFACTUER(version)		((enum hal_vendor_e)((version).VendorType))
58#define GET_CVID_CUT_VERSION(version)		((enum hal_cut_version_e)((version).CUTVersion))
59#define GET_CVID_ROM_VERSION(version)		(((version).ROMVer) & ROM_VERSION_MASK)
60
61/*  */
62/* Common Macro. -- */
63/*  */
64/* hal_version VersionID */
65
66/* hal_chip_type_e */
67#define IS_TEST_CHIP(version)			((GET_CVID_CHIP_TYPE(version) == TEST_CHIP) ? true : false)
68#define IS_NORMAL_CHIP(version)			((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP) ? true : false)
69
70/* hal_cut_version_e */
71#define IS_A_CUT(version)				((GET_CVID_CUT_VERSION(version) == A_CUT_VERSION) ? true : false)
72#define IS_B_CUT(version)				((GET_CVID_CUT_VERSION(version) == B_CUT_VERSION) ? true : false)
73#define IS_C_CUT(version)				((GET_CVID_CUT_VERSION(version) == C_CUT_VERSION) ? true : false)
74#define IS_D_CUT(version)				((GET_CVID_CUT_VERSION(version) == D_CUT_VERSION) ? true : false)
75#define IS_E_CUT(version)				((GET_CVID_CUT_VERSION(version) == E_CUT_VERSION) ? true : false)
76#define IS_I_CUT(version)				((GET_CVID_CUT_VERSION(version) == I_CUT_VERSION) ? true : false)
77#define IS_J_CUT(version)				((GET_CVID_CUT_VERSION(version) == J_CUT_VERSION) ? true : false)
78#define IS_K_CUT(version)				((GET_CVID_CUT_VERSION(version) == K_CUT_VERSION) ? true : false)
79
80/* hal_vendor_e */
81#define IS_CHIP_VENDOR_TSMC(version)	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_TSMC) ? true : false)
82#define IS_CHIP_VENDOR_UMC(version)	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_UMC) ? true : false)
83#define IS_CHIP_VENDOR_SMIC(version)	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_SMIC) ? true : false)
84
85#endif
86