@@ -53,6 +53,8 @@ constexpr int SFDP_BASIC_PARAM_TABLE_ERASE_TYPE_3_SIZE_BYTE = 32; ///< Erase Typ
53
53
constexpr int SFDP_BASIC_PARAM_TABLE_ERASE_TYPE_4_SIZE_BYTE = 34 ; // /< Erase Type 4 Size
54
54
constexpr int SFDP_BASIC_PARAM_TABLE_4K_ERASE_TYPE_BYTE = 1 ; // /< 4 Kilobyte Erase Instruction
55
55
56
+ constexpr int SFDP_ERASE_BITMASK_TYPE_4K_ERASE_UNSUPPORTED = 0xFF ;
57
+
56
58
/* * SFDP Header */
57
59
struct sfdp_hdr {
58
60
uint8_t SIG_B0; // /< SFDP Signature, Byte 0
@@ -81,14 +83,14 @@ struct sfdp_prm_hdr {
81
83
int sfdp_parse_sfdp_header (sfdp_hdr *sfdp_hdr_ptr)
82
84
{
83
85
if (!(memcmp (sfdp_hdr_ptr, " SFDP" , 4 ) == 0 && sfdp_hdr_ptr->R_MAJOR == 1 )) {
84
- tr_error (" verify SFDP signature and version Failed" );
86
+ tr_error (" Verify SFDP signature and version Failed" );
85
87
return -1 ;
86
88
}
87
89
88
- tr_debug (" init - verified SFDP Signature and version Successfully " );
90
+ tr_debug (" Verified SFDP Signature and version successfully " );
89
91
90
92
int hdr_cnt = sfdp_hdr_ptr->NPH + 1 ;
91
- tr_debug (" number of Param Headers : %d" , hdr_cnt);
93
+ tr_debug (" Number of parameter headers : %d" , hdr_cnt);
92
94
93
95
return hdr_cnt;
94
96
}
@@ -101,22 +103,22 @@ int sfdp_parse_sfdp_header(sfdp_hdr *sfdp_hdr_ptr)
101
103
int sfdp_parse_single_param_header (sfdp_prm_hdr *phdr_ptr, sfdp_hdr_info &hdr_info)
102
104
{
103
105
if (phdr_ptr->P_MAJOR != 1 ) {
104
- tr_error (" Param Header: - Major Version should be 1!" );
106
+ tr_error (" Parameter header: Major Version must be 1!" );
105
107
return -1 ;
106
108
}
107
109
108
110
if ((phdr_ptr->PID_LSB == 0 ) && (sfdp_get_param_id_msb (phdr_ptr->DWORD2 ) == 0xFF )) {
109
- tr_debug (" Parameter Header : Basic Parameter Header" );
111
+ tr_debug (" Parameter header : Basic Parameter Header" );
110
112
hdr_info.bptbl .addr = sfdp_get_param_tbl_ptr (phdr_ptr->DWORD2 );
111
113
hdr_info.bptbl .size = std::min ((phdr_ptr->P_LEN * 4 ), SFDP_BASIC_PARAMS_TBL_SIZE);
112
114
113
115
} else if ((phdr_ptr->PID_LSB == 0x81 ) && (sfdp_get_param_id_msb (phdr_ptr->DWORD2 ) == 0xFF )) {
114
- tr_debug (" Parameter Header : Sector Map Parameter Header" );
116
+ tr_debug (" Parameter header : Sector Map Parameter Header" );
115
117
hdr_info.smptbl .addr = sfdp_get_param_tbl_ptr (phdr_ptr->DWORD2 );
116
118
hdr_info.smptbl .size = phdr_ptr->P_LEN * 4 ;
117
119
118
120
} else {
119
- tr_debug (" Parameter Header vendor specific or unknown. Parameter ID LSB: 0x%" PRIX8 " ; MSB: 0x%" PRIX8 " " ,
121
+ tr_debug (" Parameter header: header vendor specific or unknown. Parameter ID LSB: 0x%" PRIX8 " ; MSB: 0x%" PRIX8 " " ,
120
122
phdr_ptr->PID_LSB ,
121
123
sfdp_get_param_id_msb (phdr_ptr->DWORD2 ));
122
124
}
@@ -136,7 +138,7 @@ int sfdp_parse_headers(Callback<int(bd_addr_t, void *, bd_size_t)> sfdp_reader,
136
138
137
139
int status = sfdp_reader (addr, sfdp_header, data_length);
138
140
if (status < 0 ) {
139
- tr_error (" retrieving SFDP Header failed" );
141
+ tr_error (" Retrieving SFDP Header failed" );
140
142
return -1 ;
141
143
}
142
144
@@ -158,7 +160,7 @@ int sfdp_parse_headers(Callback<int(bd_addr_t, void *, bd_size_t)> sfdp_reader,
158
160
for (int i_ind = 0 ; i_ind < number_of_param_headers; i_ind++) {
159
161
status = sfdp_reader (addr, param_header, data_length);
160
162
if (status < 0 ) {
161
- tr_error (" retrieving Parameter Header %d failed" , i_ind + 1 );
163
+ tr_error (" Retrieving a parameter header %d failed" , i_ind + 1 );
162
164
return -1 ;
163
165
}
164
166
@@ -185,19 +187,19 @@ int sfdp_parse_sector_map_table(Callback<int(bd_addr_t, void *, bd_size_t)> sfdp
185
187
186
188
int status = sfdp_reader (smptbl.addr , sector_map_table, smptbl.size );
187
189
if (status < 0 ) {
188
- tr_error (" table retrieval failed" );
190
+ tr_error (" Sector Map: Table retrieval failed" );
189
191
return -1 ;
190
192
}
191
193
192
194
// Currently we support only Single Map Descriptor
193
195
if (!((sector_map_table[0 ] & 0x3 ) == 0x03 ) && (sector_map_table[1 ] == 0x0 )) {
194
- tr_error (" Sector Map - Supporting Only Single! Map Descriptor (not map commands)" );
196
+ tr_error (" Sector Map: Supporting Only Single Map Descriptor (not map commands)" );
195
197
return -1 ;
196
198
}
197
199
198
200
smptbl.region_cnt = sector_map_table[2 ] + 1 ;
199
201
if (smptbl.region_cnt > SFDP_SECTOR_MAP_MAX_REGIONS) {
200
- tr_error (" Supporting up to %d regions, current setup to %d regions - fail" ,
202
+ tr_error (" Sector Map: Supporting up to %d regions, current setup to %d regions - fail" ,
201
203
SFDP_SECTOR_MAP_MAX_REGIONS,
202
204
smptbl.region_cnt );
203
205
return -1 ;
@@ -281,12 +283,11 @@ int sfdp_detect_erase_types_inst_and_size(uint8_t *bptbl_ptr, sfdp_hdr_info &sfd
281
283
bitfield = bitfield << 1 ;
282
284
}
283
285
} else {
284
- tr_debug (" SFDP erase types are not available - falling back to legacy 4k erase instruction" );
286
+ tr_debug (" Erase types are not available - falling back to legacy 4k erase instruction" );
285
287
286
- // 0xFF indicates that the legacy 4k erase instruction is not supported
287
288
sfdp_info.bptbl .legacy_erase_instruction = bptbl_ptr[SFDP_BASIC_PARAM_TABLE_4K_ERASE_TYPE_BYTE];
288
- if (sfdp_info.bptbl .legacy_erase_instruction == 0xFF ) {
289
- tr_error (" _detectEraseTypesInstAndSize - Legacy 4k erase instruction not supported" );
289
+ if (sfdp_info.bptbl .legacy_erase_instruction == SFDP_ERASE_BITMASK_TYPE_4K_ERASE_UNSUPPORTED ) {
290
+ tr_error (" Legacy 4k erase instruction not supported" );
290
291
return -1 ;
291
292
}
292
293
}
0 commit comments