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