QSPIFBlockDevice: Makes default configuration to use mbed_lib.json settings

QSPIFBlockDevice parameters come from mbed_lib.json if not provided
explicitly.

Introduced an app config file for running filesystem tests with QSPIF
modules
pull/12143/head
Veijo Pesonen 2019-12-19 11:27:22 +02:00
parent 803ae3444d
commit 3be2b8bf12
3 changed files with 53 additions and 13 deletions

View File

@ -19,6 +19,31 @@
#include "drivers/QSPI.h"
#include "features/storage/blockdevice/BlockDevice.h"
#ifndef MBED_CONF_QSPIF_QSPI_IO0
#define MBED_CONF_QSPIF_QSPI_IO0 NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_IO1
#define MBED_CONF_QSPIF_QSPI_IO1 NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_IO2
#define MBED_CONF_QSPIF_QSPI_IO2 NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_IO3
#define MBED_CONF_QSPIF_QSPI_IO3 NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_SCK
#define MBED_CONF_QSPIF_QSPI_SCK NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_CSN
#define MBED_CONF_QSPIF_QSPI_CSN NC
#endif
#ifndef MBED_CONF_QSPIF_QSPI_POLARITY_MODE
#define MBED_CONF_QSPIF_QSPI_POLARITY_MODE 0
#endif
#ifndef MBED_CONF_QSPIF_QSPI_FREQ
#define MBED_CONF_QSPIF_QSPI_FREQ 40000000
#endif
/** Enum qspif standard error codes
*
* @enum qspif_bd_error
@ -98,10 +123,15 @@ public:
* @param clock_mode specifies the QSPI Clock Polarity mode (QSPIF_POLARITY_MODE_0/QSPIF_POLARITY_MODE_1)
* default value = 0
* @param freq Clock frequency of the QSPI bus (defaults to 40MHz)
*
*/
QSPIFBlockDevice(PinName io0, PinName io1, PinName io2, PinName io3, PinName sclk, PinName csel,
int clock_mode, int freq = MBED_CONF_QSPIF_QSPI_FREQ);
QSPIFBlockDevice(PinName io0 = MBED_CONF_QSPIF_QSPI_IO0,
PinName io1 = MBED_CONF_QSPIF_QSPI_IO1,
PinName io2 = MBED_CONF_QSPIF_QSPI_IO2,
PinName io3 = MBED_CONF_QSPIF_QSPI_IO3,
PinName sclk = MBED_CONF_QSPIF_QSPI_SCK,
PinName csel = MBED_CONF_QSPIF_QSPI_CSN,
int clock_mode = MBED_CONF_QSPIF_QSPI_POLARITY_MODE,
int freq = MBED_CONF_QSPIF_QSPI_FREQ);
/** Initialize a block device
*

View File

@ -88,16 +88,7 @@ MBED_WEAK BlockDevice *BlockDevice::get_default_instance()
#elif COMPONENT_QSPIF
static QSPIFBlockDevice default_bd(
MBED_CONF_QSPIF_QSPI_IO0,
MBED_CONF_QSPIF_QSPI_IO1,
MBED_CONF_QSPIF_QSPI_IO2,
MBED_CONF_QSPIF_QSPI_IO3,
MBED_CONF_QSPIF_QSPI_SCK,
MBED_CONF_QSPIF_QSPI_CSN,
MBED_CONF_QSPIF_QSPI_POLARITY_MODE,
MBED_CONF_QSPIF_QSPI_FREQ
);
static QSPIFBlockDevice default_bd;
return &default_bd;

View File

@ -0,0 +1,19 @@
{
"config": {
"sim-blockdevice": {
"help": "Simulated block device, requires sufficient heap",
"macro_name": "MBED_TEST_SIM_BLOCKDEVICE",
"value": "HeapBlockDevice"
},
"test-blockdevice": {
"help": "Used blockdevice",
"macro_name": "MBED_TEST_BLOCKDEVICE",
"value": "QSPIFBlockDevice"
},
"test-filesystem": {
"help": "Used filesystem",
"macro_name": "MBED_TEST_FILESYSTEM",
"value": "LittleFileSystem"
}
}
}