From 746bdf9923909629db17699d8c259cc89c3900fb Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Fri, 4 Oct 2019 10:28:50 +0200 Subject: [PATCH 1/2] hal qspi test: fix frequency setting test Prevent setting frequency below QSPI_MIN_FREQUENCY --- TESTS/mbed_hal/qspi/main.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/TESTS/mbed_hal/qspi/main.cpp b/TESTS/mbed_hal/qspi/main.cpp index c24036a610..52915fc3a8 100644 --- a/TESTS/mbed_hal/qspi/main.cpp +++ b/TESTS/mbed_hal/qspi/main.cpp @@ -344,18 +344,17 @@ void qspi_frequency_test(void) ret = qspi_init(&qspi.handle, QPIN_0, QPIN_1, QPIN_2, QPIN_3, QSCK, QCSN, freq, 0); TEST_ASSERT_EQUAL(QSPI_STATUS_OK, ret); - do { + while (ret == QSPI_STATUS_OK && freq >= QSPI_MIN_FREQUENCY) { // check if the memory is working properly qspi.cmd.configure(MODE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8); - + ret = qspi_frequency(&qspi.handle, freq); flash_init(qspi); _qspi_write_read_test(qspi, WRITE_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, WRITE_SINGLE, READ_1_1_1, ADDR_SIZE_24, ALT_SIZE_8, READ_SINGLE, TEST_REPEAT_SINGLE, DATA_SIZE_256, TEST_FLASH_ADDRESS); utest_printf("frequency setting %d [Hz] - OK\r\n", freq); freq /= 2; - ret = qspi_frequency(&qspi.handle, freq); - } while (ret == QSPI_STATUS_OK && freq >= QSPI_MIN_FREQUENCY); + } qspi_free(&qspi.handle); } From d54186601b9b9d7c70ee901e9bc357f8ed594ac7 Mon Sep 17 00:00:00 2001 From: Maciej Bocianski Date: Fri, 4 Oct 2019 11:09:31 +0200 Subject: [PATCH 2/2] hal qspi test: adjust min frequency for EFM32GG11 according to the driver limitations --- .../flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h | 2 ++ TESTS/mbed_hal/qspi/main.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h index 58a9c1e626..4380696904 100644 --- a/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h +++ b/TESTS/mbed_hal/qspi/flash_configs/SiliconLabs/EFM32GG11_STK3701/flash_config.h @@ -23,4 +23,6 @@ #define QSPI_SECTOR_COUNT 1024 // for MX25R3235F #endif +#define QSPI_MIN_FREQUENCY 2000000 + #endif // MBED_QSPI_FLASH_CONFIG_H diff --git a/TESTS/mbed_hal/qspi/main.cpp b/TESTS/mbed_hal/qspi/main.cpp index 52915fc3a8..5de36fa5d7 100644 --- a/TESTS/mbed_hal/qspi/main.cpp +++ b/TESTS/mbed_hal/qspi/main.cpp @@ -42,7 +42,9 @@ using namespace utest::v1; +#ifndef QSPI_MIN_FREQUENCY #define QSPI_MIN_FREQUENCY 1000000 +#endif // max write size is usually page size #define DATA_SIZE_256 (QSPI_PAGE_SIZE)