File Index
Files and directories
Sign in
FILE

rtw_efuse.h

File preview with syntax highlighting.

linux-6.19.14/drivers/staging/rtl8723bs/include/rtw_efuse.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. */
 3
 4#ifndef __RTW_EFUSE_H__
 5#define __RTW_EFUSE_H__
 6
 7#define	PGPKT_DATA_SIZE		8
 8
 9#define	EFUSE_WIFI				0
10#define	EFUSE_BT				1
11
12enum {
13	TYPE_EFUSE_MAX_SECTION				= 0,
14	TYPE_EFUSE_REAL_CONTENT_LEN			= 1,
15	TYPE_AVAILABLE_EFUSE_BYTES_BANK		= 2,
16	TYPE_AVAILABLE_EFUSE_BYTES_TOTAL	= 3,
17	TYPE_EFUSE_MAP_LEN					= 4,
18	TYPE_EFUSE_PROTECT_BYTES_BANK		= 5,
19	TYPE_EFUSE_CONTENT_LEN_BANK			= 6,
20};
21
22#define		EFUSE_MAX_MAP_LEN		512
23
24#define		EFUSE_MAX_HW_SIZE		512
25#define		EFUSE_MAX_SECTION_BASE	16
26
27#define EXT_HEADER(header) ((header & 0x1F) == 0x0F)
28#define ALL_WORDS_DISABLED(wde)	((wde & 0x0F) == 0x0F)
29#define GET_HDR_OFFSET_2_0(header) ((header & 0xE0) >> 5)
30
31#define		EFUSE_REPEAT_THRESHOLD_			3
32
33/*  */
34/* 	The following is for BT Efuse definition */
35/*  */
36#define		EFUSE_BT_MAX_MAP_LEN		1024
37#define		EFUSE_MAX_BANK			4
38#define		EFUSE_MAX_BT_BANK		(EFUSE_MAX_BANK-1)
39/*  */
40/*--------------------------Define Parameters-------------------------------*/
41#define		EFUSE_MAX_WORD_UNIT			4
42
43/*------------------------------Define structure----------------------------*/
44struct pgpkt_struct {
45	u8 offset;
46	u8 word_en;
47	u8 data[8];
48	u8 word_cnts;
49};
50
51/*------------------------------Define structure----------------------------*/
52struct efuse_hal {
53	u8 fakeEfuseBank;
54	u32 fakeEfuseUsedBytes;
55	u8 fakeEfuseContent[EFUSE_MAX_HW_SIZE];
56	u8 fakeEfuseInitMap[EFUSE_MAX_MAP_LEN];
57	u8 fakeEfuseModifiedMap[EFUSE_MAX_MAP_LEN];
58
59	u16 BTEfuseUsedBytes;
60	u8 BTEfuseUsedPercentage;
61	u8 BTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
62	u8 BTEfuseInitMap[EFUSE_BT_MAX_MAP_LEN];
63	u8 BTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN];
64
65	u16 fakeBTEfuseUsedBytes;
66	u8 fakeBTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
67	u8 fakeBTEfuseInitMap[EFUSE_BT_MAX_MAP_LEN];
68	u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN];
69};
70
71
72/*------------------------Export global variable----------------------------*/
73extern u8 fakeEfuseBank;
74extern u32 fakeEfuseUsedBytes;
75extern u8 fakeEfuseContent[];
76extern u8 fakeEfuseInitMap[];
77extern u8 fakeEfuseModifiedMap[];
78
79extern u32 BTEfuseUsedBytes;
80extern u8 BTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
81extern u8 BTEfuseInitMap[];
82extern u8 BTEfuseModifiedMap[];
83
84extern u32 fakeBTEfuseUsedBytes;
85extern u8 fakeBTEfuseContent[EFUSE_MAX_BT_BANK][EFUSE_MAX_HW_SIZE];
86extern u8 fakeBTEfuseInitMap[];
87extern u8 fakeBTEfuseModifiedMap[];
88/*------------------------Export global variable----------------------------*/
89
90u8 Efuse_CalculateWordCnts(u8 word_en);
91u8 efuse_OneByteRead(struct adapter *padapter, u16 addr, u8 *data);
92
93u8 EFUSE_Read1Byte(struct adapter *padapter, u16 Address);
94void EFUSE_ShadowMapUpdate(struct adapter *padapter, u8 efuseType);
95void EFUSE_ShadowRead(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value);
96void Rtw_Hal_ReadMACAddrFromFile(struct adapter *padapter);
97u32 Rtw_Hal_readPGDataFromConfigFile(struct adapter *padapter);
98
99#endif
~/ Read-only file preview.