@@ -262,28 +262,42 @@ qspi_status_t qspi_prepare_command(const qspi_command_t *command, QSPI_CommandTy
262
262
st_command -> DdrMode = QSPI_DDR_MODE_DISABLE ;
263
263
st_command -> DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY ;
264
264
265
- switch (command -> address .bus_width ) {
266
- case QSPI_CFG_BUS_SINGLE :
267
- st_command -> AddressMode = QSPI_ADDRESS_1_LINE ;
268
- break ;
269
- case QSPI_CFG_BUS_DUAL :
270
- st_command -> AddressMode = QSPI_ADDRESS_2_LINES ;
271
- break ;
272
- case QSPI_CFG_BUS_QUAD :
273
- st_command -> AddressMode = QSPI_ADDRESS_4_LINES ;
274
- break ;
275
- default :
276
- st_command -> AddressMode = QSPI_ADDRESS_NONE ;
277
- break ;
278
- }
279
-
280
265
if (command -> address .disabled == true) {
281
266
st_command -> AddressMode = QSPI_ADDRESS_NONE ;
282
267
st_command -> AddressSize = 0 ;
283
268
} else {
284
269
st_command -> Address = command -> address .value ;
285
- /* command->address.size needs to be shifted by QUADSPI_CCR_ADSIZE_Pos */
286
- st_command -> AddressSize = (command -> address .size << QUADSPI_CCR_ADSIZE_Pos ) & QUADSPI_CCR_ADSIZE_Msk ;
270
+ switch (command -> address .bus_width ) {
271
+ case QSPI_CFG_BUS_SINGLE :
272
+ st_command -> AddressMode = QSPI_ADDRESS_1_LINE ;
273
+ break ;
274
+ case QSPI_CFG_BUS_DUAL :
275
+ st_command -> AddressMode = QSPI_ADDRESS_2_LINES ;
276
+ break ;
277
+ case QSPI_CFG_BUS_QUAD :
278
+ st_command -> AddressMode = QSPI_ADDRESS_4_LINES ;
279
+ break ;
280
+ default :
281
+ error ("Command param error: wrong address size\n" );
282
+ return QSPI_STATUS_ERROR ;
283
+ }
284
+ switch (command -> address .size ) {
285
+ case QSPI_CFG_ADDR_SIZE_8 :
286
+ st_command -> AddressSize = QSPI_ADDRESS_8_BITS ;
287
+ break ;
288
+ case QSPI_CFG_ADDR_SIZE_16 :
289
+ st_command -> AddressSize = QSPI_ADDRESS_16_BITS ;
290
+ break ;
291
+ case QSPI_CFG_ADDR_SIZE_24 :
292
+ st_command -> AddressSize = QSPI_ADDRESS_24_BITS ;
293
+ break ;
294
+ case QSPI_CFG_ADDR_SIZE_32 :
295
+ st_command -> AddressSize = QSPI_ADDRESS_32_BITS ;
296
+ break ;
297
+ default :
298
+ error ("Command param error: wrong address size\n" );
299
+ return QSPI_STATUS_ERROR ;
300
+ }
287
301
}
288
302
289
303
uint8_t alt_lines = 0 ;
0 commit comments