1/******************************************************************************
2 *
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17 *
18 *
19 ******************************************************************************/
20#ifndef __HAL_VERSION_DEF_H__
21#define __HAL_VERSION_DEF_H__
22
23enum HAL_CHIP_TYPE {
24	TEST_CHIP	=	0,
25	NORMAL_CHIP	=	1,
26	FPGA		=	2,
27};
28
29enum HAL_CUT_VERSION {
30	A_CUT_VERSION	=	0,
31	B_CUT_VERSION	=	1,
32	C_CUT_VERSION	=	2,
33	D_CUT_VERSION	=	3,
34	E_CUT_VERSION	=	4,
35	F_CUT_VERSION	=	5,
36	G_CUT_VERSION	=	6,
37};
38
39enum HAL_VENDOR {
40	CHIP_VENDOR_TSMC	=	0,
41	CHIP_VENDOR_UMC		=	1,
42};
43
44struct HAL_VERSION {
45	enum HAL_CHIP_TYPE	ChipType;
46	enum HAL_CUT_VERSION	CUTVersion;
47	enum HAL_VENDOR		VendorType;
48};
49
50/*  Get element */
51#define GET_CVID_CHIP_TYPE(version)	(((version).ChipType))
52#define GET_CVID_MANUFACTUER(version)	(((version).VendorType))
53#define GET_CVID_CUT_VERSION(version)	(((version).CUTVersion))
54
55/* Common Macro. -- */
56/* HAL_VERSION VersionID */
57
58/* HAL_CHIP_TYPE_E */
59#define IS_TEST_CHIP(version)				\
60	((GET_CVID_CHIP_TYPE(version) == TEST_CHIP) ? true : false)
61#define IS_NORMAL_CHIP(version)				\
62	((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP) ? true : false)
63
64/* HAL_CUT_VERSION_E */
65#define IS_A_CUT(version)				\
66	((GET_CVID_CUT_VERSION(version) == A_CUT_VERSION) ? true : false)
67#define IS_B_CUT(version)				\
68	((GET_CVID_CUT_VERSION(version) == B_CUT_VERSION) ? true : false)
69#define IS_C_CUT(version)				\
70	((GET_CVID_CUT_VERSION(version) == C_CUT_VERSION) ? true : false)
71#define IS_D_CUT(version)				\
72	((GET_CVID_CUT_VERSION(version) == D_CUT_VERSION) ? true : false)
73#define IS_E_CUT(version)				\
74	((GET_CVID_CUT_VERSION(version) == E_CUT_VERSION) ? true : false)
75
76
77/* HAL_VENDOR_E */
78#define IS_CHIP_VENDOR_TSMC(version)			\
79	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_TSMC) ? true : false)
80#define IS_CHIP_VENDOR_UMC(version)			\
81	((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_UMC) ? true : false)
82
83#endif
84