1 /******************************************************************************
3 * Copyright(c) 2016 Realtek Corporation.
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.
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
14 * The full GNU General Public License is included in this distribution in the
15 * file called LICENSE.
17 * Contact Information:
18 * wlanfae <wlanfae@realtek.com>
19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20 * Hsinchu 300, Taiwan.
22 * Larry Finger <Larry.Finger@lwfinger.net>
24 *****************************************************************************/
25 #ifndef _HAL_H2CEXTRAINFO_H2C_C2H_NIC_H_
26 #define _HAL_H2CEXTRAINFO_H2C_C2H_NIC_H_
27 #define PHY_PARAMETER_INFO_GET_LENGTH(__extra_info) \
28 LE_BITS_TO_4BYTE(__extra_info + 0X00, 0, 8)
29 #define PHY_PARAMETER_INFO_SET_LENGTH(__extra_info, __value) \
30 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 0, 8, __value)
31 #define PHY_PARAMETER_INFO_GET_IO_CMD(__extra_info) \
32 LE_BITS_TO_4BYTE(__extra_info + 0X00, 8, 7)
33 #define PHY_PARAMETER_INFO_SET_IO_CMD(__extra_info, __value) \
34 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 8, 7, __value)
35 #define PHY_PARAMETER_INFO_GET_MSK_EN(__extra_info) \
36 LE_BITS_TO_4BYTE(__extra_info + 0X00, 15, 1)
37 #define PHY_PARAMETER_INFO_SET_MSK_EN(__extra_info, __value) \
38 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 15, 1, __value)
39 #define PHY_PARAMETER_INFO_GET_LLT_PG_BNDY(__extra_info) \
40 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 8)
41 #define PHY_PARAMETER_INFO_SET_LLT_PG_BNDY(__extra_info, __value) \
42 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 8, __value)
43 #define PHY_PARAMETER_INFO_GET_EFUSE_RSVDPAGE_LOC(__extra_info) \
44 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 8)
45 #define PHY_PARAMETER_INFO_SET_EFUSE_RSVDPAGE_LOC(__extra_info, __value) \
46 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 8, __value)
47 #define PHY_PARAMETER_INFO_GET_EFUSE_PATCH_EN(__extra_info) \
48 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 8)
49 #define PHY_PARAMETER_INFO_SET_EFUSE_PATCH_EN(__extra_info, __value) \
50 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 8, __value)
51 #define PHY_PARAMETER_INFO_GET_RF_ADDR(__extra_info) \
52 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 8)
53 #define PHY_PARAMETER_INFO_SET_RF_ADDR(__extra_info, __value) \
54 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 8, __value)
55 #define PHY_PARAMETER_INFO_GET_IO_ADDR(__extra_info) \
56 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 16)
57 #define PHY_PARAMETER_INFO_SET_IO_ADDR(__extra_info, __value) \
58 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 16, __value)
59 #define PHY_PARAMETER_INFO_GET_DELAY_VALUE(__extra_info) \
60 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 16)
61 #define PHY_PARAMETER_INFO_SET_DELAY_VALUE(__extra_info, __value) \
62 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 16, __value)
63 #define PHY_PARAMETER_INFO_GET_RF_PATH(__extra_info) \
64 LE_BITS_TO_4BYTE(__extra_info + 0X00, 24, 8)
65 #define PHY_PARAMETER_INFO_SET_RF_PATH(__extra_info, __value) \
66 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 24, 8, __value)
67 #define PHY_PARAMETER_INFO_GET_DATA(__extra_info) \
68 LE_BITS_TO_4BYTE(__extra_info + 0X04, 0, 32)
69 #define PHY_PARAMETER_INFO_SET_DATA(__extra_info, __value) \
70 SET_BITS_TO_LE_4BYTE(__extra_info + 0X04, 0, 32, __value)
71 #define PHY_PARAMETER_INFO_GET_MASK(__extra_info) \
72 LE_BITS_TO_4BYTE(__extra_info + 0X08, 0, 32)
73 #define PHY_PARAMETER_INFO_SET_MASK(__extra_info, __value) \
74 SET_BITS_TO_LE_4BYTE(__extra_info + 0X08, 0, 32, __value)
75 #define CHANNEL_INFO_GET_CHANNEL(__extra_info) \
76 LE_BITS_TO_4BYTE(__extra_info + 0X00, 0, 8)
77 #define CHANNEL_INFO_SET_CHANNEL(__extra_info, __value) \
78 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 0, 8, __value)
79 #define CHANNEL_INFO_GET_PRI_CH_IDX(__extra_info) \
80 LE_BITS_TO_4BYTE(__extra_info + 0X00, 8, 4)
81 #define CHANNEL_INFO_SET_PRI_CH_IDX(__extra_info, __value) \
82 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 8, 4, __value)
83 #define CHANNEL_INFO_GET_BANDWIDTH(__extra_info) \
84 LE_BITS_TO_4BYTE(__extra_info + 0X00, 12, 4)
85 #define CHANNEL_INFO_SET_BANDWIDTH(__extra_info, __value) \
86 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 12, 4, __value)
87 #define CHANNEL_INFO_GET_TIMEOUT(__extra_info) \
88 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 8)
89 #define CHANNEL_INFO_SET_TIMEOUT(__extra_info, __value) \
90 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 8, __value)
91 #define CHANNEL_INFO_GET_ACTION_ID(__extra_info) \
92 LE_BITS_TO_4BYTE(__extra_info + 0X00, 24, 7)
93 #define CHANNEL_INFO_SET_ACTION_ID(__extra_info, __value) \
94 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 24, 7, __value)
95 #define CHANNEL_INFO_GET_CH_EXTRA_INFO(__extra_info) \
96 LE_BITS_TO_4BYTE(__extra_info + 0X00, 31, 1)
97 #define CHANNEL_INFO_SET_CH_EXTRA_INFO(__extra_info, __value) \
98 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 31, 1, __value)
99 #define CH_EXTRA_INFO_GET_CH_EXTRA_INFO_ID(__extra_info) \
100 LE_BITS_TO_4BYTE(__extra_info + 0X00, 0, 7)
101 #define CH_EXTRA_INFO_SET_CH_EXTRA_INFO_ID(__extra_info, __value) \
102 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 0, 7, __value)
103 #define CH_EXTRA_INFO_GET_CH_EXTRA_INFO(__extra_info) \
104 LE_BITS_TO_4BYTE(__extra_info + 0X00, 7, 1)
105 #define CH_EXTRA_INFO_SET_CH_EXTRA_INFO(__extra_info, __value) \
106 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 7, 1, __value)
107 #define CH_EXTRA_INFO_GET_CH_EXTRA_INFO_SIZE(__extra_info) \
108 LE_BITS_TO_4BYTE(__extra_info + 0X00, 8, 8)
109 #define CH_EXTRA_INFO_SET_CH_EXTRA_INFO_SIZE(__extra_info, __value) \
110 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 8, 8, __value)
111 #define CH_EXTRA_INFO_GET_CH_EXTRA_INFO_DATA(__extra_info) \
112 LE_BITS_TO_4BYTE(__extra_info + 0X00, 16, 1)
113 #define CH_EXTRA_INFO_SET_CH_EXTRA_INFO_DATA(__extra_info, __value) \
114 SET_BITS_TO_LE_4BYTE(__extra_info + 0X00, 16, 1, __value)