GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / staging / rtlwifi / halmac / halmac_h2c_extra_info_nic.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2016  Realtek Corporation.
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  * The full GNU General Public License is included in this distribution in the
15  * file called LICENSE.
16  *
17  * Contact Information:
18  * wlanfae <wlanfae@realtek.com>
19  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20  * Hsinchu 300, Taiwan.
21  *
22  * Larry Finger <Larry.Finger@lwfinger.net>
23  *
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)
115 #endif