158391efdSNathan Chancellor /* SPDX-License-Identifier: GPL-2.0 */
2554c0a3aSHans de Goede /******************************************************************************
3554c0a3aSHans de Goede  *
4554c0a3aSHans de Goede  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5554c0a3aSHans de Goede  *
6554c0a3aSHans de Goede  ******************************************************************************/
7554c0a3aSHans de Goede 
8554c0a3aSHans de Goede 
9554c0a3aSHans de Goede #ifndef	__ODM_INTERFACE_H__
10554c0a3aSHans de Goede #define __ODM_INTERFACE_H__
11554c0a3aSHans de Goede 
12554c0a3aSHans de Goede 
13554c0a3aSHans de Goede 
14554c0a3aSHans de Goede /*  =========== Macro Define */
15554c0a3aSHans de Goede 
16554c0a3aSHans de Goede #define _reg_all(_name)			ODM_##_name
17554c0a3aSHans de Goede #define _reg_ic(_name, _ic)		ODM_##_name##_ic
18554c0a3aSHans de Goede #define _bit_all(_name)			BIT_##_name
19554c0a3aSHans de Goede #define _bit_ic(_name, _ic)		BIT_##_name##_ic
20554c0a3aSHans de Goede 
21554c0a3aSHans de Goede /*===================================
22554c0a3aSHans de Goede 
23554c0a3aSHans de Goede #define ODM_REG_DIG_11N		0xC50
24554c0a3aSHans de Goede #define ODM_REG_DIG_11AC	0xDDD
25554c0a3aSHans de Goede 
26554c0a3aSHans de Goede ODM_REG(DIG, _pDM_Odm)
27554c0a3aSHans de Goede =====================================*/
28554c0a3aSHans de Goede 
29554c0a3aSHans de Goede #define _reg_11N(_name)			ODM_REG_##_name##_11N
30554c0a3aSHans de Goede #define _bit_11N(_name)			ODM_BIT_##_name##_11N
31554c0a3aSHans de Goede 
32554c0a3aSHans de Goede #define _cat(_name, _ic_type, _func) _func##_11N(_name)
33554c0a3aSHans de Goede 
34554c0a3aSHans de Goede /*  _name: name of register or bit. */
35554c0a3aSHans de Goede /*  Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)" */
36554c0a3aSHans de Goede /*         gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C", depends on SupportICType. */
37554c0a3aSHans de Goede #define ODM_REG(_name, _pDM_Odm)	_cat(_name, _pDM_Odm->SupportICType, _reg)
38554c0a3aSHans de Goede #define ODM_BIT(_name, _pDM_Odm)	_cat(_name, _pDM_Odm->SupportICType, _bit)
39554c0a3aSHans de Goede 
40554c0a3aSHans de Goede #endif	/*  __ODM_INTERFACE_H__ */
41