net: wireless: rockchip_wlan: add rtl8723cs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723cs / hal / efuse / rtl8703b / HalEfuseMask8703B_SDIO.c
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
21 /* #include "Mp_Precomp.h" */
22 /* #include "../odm_precomp.h" */
23
24 #include <drv_types.h>
25 #include "HalEfuseMask8703B_SDIO.h"
26
27
28
29 /******************************************************************************
30 *                           MSDIO.TXT
31 ******************************************************************************/
32
33 u1Byte Array_MP_8703B_MSDIO[] = {
34         0xFF,
35         0xF3,
36         0x00,
37         0x00,
38         0x00,
39         0x00,
40         0x00,
41         0x00,
42         0x00,
43         0x00,
44         0x00,
45         0x0F,
46         0xF1,
47         0xFF,
48         0xFF,
49         0xFF,
50         0xFF,
51         0xFF,
52         0x00,
53         0x00,
54         0x00,
55         0x00,
56         0x00,
57         0x00,
58         0x00,
59         0x00,
60         0x00,
61         0x00,
62         0x00,
63         0x00,
64         0x00,
65         0x00,
66
67 };
68
69 u2Byte
70 EFUSE_GetArrayLen_MP_8703B_MSDIO(VOID)
71 {
72         return sizeof(Array_MP_8703B_MSDIO) / sizeof(u1Byte);
73 }
74
75 VOID
76 EFUSE_GetMaskArray_MP_8703B_MSDIO(
77         IN      OUT pu1Byte Array
78 )
79 {
80         u2Byte len = EFUSE_GetArrayLen_MP_8703B_MSDIO(), i = 0;
81
82         for (i = 0; i < len; ++i)
83                 Array[i] = Array_MP_8703B_MSDIO[i];
84 }
85 BOOLEAN
86 EFUSE_IsAddressMasked_MP_8703B_MSDIO(
87         IN   u2Byte  Offset
88 )
89 {
90         int r = Offset / 16;
91         int c = (Offset % 16) / 2;
92         int result = 0;
93
94         if (c < 4) /* Upper double word */
95                 result = (Array_MP_8703B_MSDIO[r] & (0x10 << c));
96         else
97                 result = (Array_MP_8703B_MSDIO[r] & (0x01 << (c - 4)));
98
99         return (result > 0) ? 0 : 1;
100 }