Commit Graph

45 Commits

Author SHA1 Message Date
Martin Vychodil
56f2001317 sdmmc/sdspi: allow custom setup of SD card frequency
In order to allow flexible setup of SD card frequency, sdmmc_host_t.max_freq_khz is used as a limit

Closes https://github.com/espressif/arduino-esp32/issues/6225
2022-09-12 17:08:36 +02:00
Matus Fabo
384d61f156 remove: sdspi_host deprecated api
add: migration guide documentation
2022-06-12 20:07:27 +00:00
Martin Vychodil
16a4ee7c36 Merge branch 'bugfix/spi_mode_status_check' into 'master'
sdmmc, sdspi: fixes related to status checks, R1b response support, erase fix for SPI mode, fix for erase timeout calculation

Closes IDF-4728

See merge request espressif/esp-idf!17727
2022-06-10 13:15:47 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Ivan Grokhotkov
36e3043306
sdmmc: check card status in SPI mode after sdmmc_erase_sectors
Same as for write operation, some errors are reported only via CMD13.
Without the R1b response support in sdspi driver, this check would
fail. Now that R1b support is implemented, erase command response is
zero (success) on all cards under test.
Also remove the now-unnecessary card reset after erase in the test
case.
2022-05-30 15:39:01 +02:00
Vamshi Gajjela
0e366db603 sdmmc: Bugfix sdmmc_erase_sectors cmd38 argument validation
Unit test cases added to verify -ve test, for sdmmc_erase_sectors to
return ESP_ERR_NOT_SUPPORTED

Closes https://github.com/espressif/esp-idf/issues/8704
2022-04-11 15:36:45 +00:00
songruojing
bdb5b11b39 unit test: move unit-test_app test_utils_task_delete API to be a utils API (unity_utils_task_delete) in unity component 2022-03-30 15:11:08 +08:00
Vamshi Gajjela
ffdbeee9f6 sdmmc: Add erase command-38. Support erase/trim/discard/sanitize
options.

Erase command (38) for SD cards allows option for erase/dicard/fule
operation at block level and for MMC cards supports option for
discard/trim at block level. When Sanitize is executed only the
portion of data that was unmapped by a Discard command shall be
removed by the Sanitize command.

Unit test cases added to verify ERASE feature in SD/SDSPI mode.
TRIM/DISCARD/SANITIZE tests for eMMC devices.

Closes https://github.com/espressif/esp-idf/pull/7635
Closes https://github.com/espressif/esp-idf/issues/7623
2022-03-05 16:02:01 +05:30
morris
869bed1bb5 soc: don't expose unstable soc header files in public api 2022-01-06 23:10:22 +08:00
SalimTerryLi
92e337a38c
sdspi: enable UT & ExampleTest for C3/S2
Closes https://github.com/espressif/esp-idf/issues/7389

(1)     "MMC_RSP_BITS" [sd]                                                             [Y]
(2)     "probe SD in SPI mode" [sd][test_env=UT_T1_SPIMODE]                             [Y]
(3)     "probe SD in SPI mode, slot 0" [sd][ignore]                                     [N]
(4)     "SDMMC performance (SPI mode)" [sdspi][test_env=UT_T1_SPIMODE]                  [Y]
(5)     "SDMMC test read/write with offset (SPI mode)" [sdspi][test_env=UT_T1_SPIMODE]  [Y]
(6)     "CD input works in SPI mode" [sd][test_env=UT_T1_SPIMODE]                       [Y]
(7)     "WP input works in SPI mode" [sd][test_env=UT_T1_SPIMODE]                       [Y]
2021-09-24 15:17:18 +08:00
Marius Vikhammer
80acc1a002 CI: add S3 default_2 unit test config 2021-07-08 18:39:57 +08:00
Michael (XIAO Xufeng)
6d1eddb9c0 sd_test: refactor the test case 2021-06-19 14:27:44 +08:00
Michael (XIAO Xufeng)
bad9ab052d ci: add log output for the sdmmc performance test 2021-06-19 14:12:22 +08:00
Michael (XIAO Xufeng)
cfa4beb661 test_sd: merge emmc SDR/DDR test cases of 4-bit mode 2021-04-26 09:55:39 +08:00
Michael (XIAO Xufeng)
02970813b8 sdmmc_host: add unit tests and improve documents about using eMMC in 4-line SDR mode 2021-04-25 18:34:37 +08:00
Angus Gratton
690dc5d023 sdmmc: Temporarily disable sd_spi test cases
From internal commit 6d894813
2020-12-24 14:18:01 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Michael (XIAO Xufeng)
1966f00f0b soc: updates caps usage
We should define caps as 1 if true. When use the caps macros, #if and
 #if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
Ivan Grokhotkov
562edb3a5e Merge branch 'bugfix/sdmmc_spi_highspeed' into 'master'
sdmmc: fix the probe issue that forbid sdspi working in highspeed mode

See merge request espressif/esp-idf!9418
2020-07-13 15:50:30 +08:00
morris
a4d0033c03 esp_rom: extract common GPIO apis into esp_rom_gpio.h 2020-07-07 11:40:19 +08:00
Michael (XIAO Xufeng)
279ee85305 sdmmc: fix the probe issue that forbid sdspi working in highspeed mode
SD cards don't support CMD7 (select_card) in SPI mode. Highspeed probe
of sdspi will fail in this step and stop working in highspeed mode.
Remove the CMD7 in enable_hs_mode_and_check to fix this issue.

Please note that, on ESP32, you have to use the IOMUX pins to use sdspi
in 40MHz, otherwise the initialization process will report reading issue
and fail.
2020-06-30 17:34:13 +08:00
Michael (XIAO Xufeng)
067f3d21c9 sdspi, vfs_fat: allow sharing SPI bus among devices, and mounting multiple SD cards 2020-02-12 15:16:08 +08:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
michael
4220752aed ut: Move tests back from "esp32" subfolder
DISABLED_FOR_TARGETS macros are used

Partly revert "ci: disable unavailable tests for esp32s2beta"

This partly reverts commit 76a3a5fb48.

Partly revert "ci: disable UTs for esp32s2beta without runners"

This partly reverts commit eb158e9a22.

Partly revert "fix unit test and examples for s2beta"

This partly reverts commit 9baa7826be.

Partly revert "efuse: Add support for esp32s2beta"

This partly reverts commit db84ba868c.
2020-01-06 17:13:53 +08:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Angus Gratton
ddbd09eb15 esp32/esp32s2beta: Extract common SPIRAM options into esp_commmon component 2019-06-11 13:07:37 +08:00
Konstantin Kondrashov
399d2d2605 all: Using xxx_periph.h
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .

Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Roland Dobai
0ae53691ba Rename Kconfig options (components/esp32) 2019-05-21 09:09:01 +02:00
Ivan Grokhotkov
b7e5b28f49 sdmmc: update unit tests for ESP_eMMC_TestBoard_V1
1. New tests for SD card on slot 0. Currently frequency for 4-bit mode
has to be reduced in the test.

2. Change pin for CD/WP tests, re-enable CD tests.
2018-08-30 13:14:26 +08:00
Angus Gratton
156dd4841d Temporarily disable SD CD/WP mode tests
Tracked in TW22648
2018-05-21 12:27:10 +00:00
Ivan Grokhotkov
5a63faa516 sdmmc: enable more test cases
Some test cases did not run automatically in CI, this change enables
them.
2018-04-26 10:04:44 +08:00
Ivan Grokhotkov
e0f1524c86 sdmmc: add tests for CD and WP pins for SD and SPI mode 2018-04-24 19:08:44 +08:00
michael
2551a7343d test(sdmmc_host): add new test to probe over SD (1-bit). 2018-02-07 12:05:05 +08:00
Ivan Grokhotkov
b76a672aed ci: disable sd card tests 2017-08-31 23:50:56 +08:00
Ivan Grokhotkov
631f552489 sdmmc: don't use high speed mode with SD over SPI
Disabling due to limitation of SPI driver (max 26MHz for full-duplex
mode over GPIO matrix)
2017-08-25 14:33:19 +08:00
Ivan Grokhotkov
b9cdbfea87 Merge branch 'test/UT_SDMMC' into 'master'
Enable SDMMC driver test cases

See merge request !1106
2017-08-24 14:41:39 +08:00
houchenyao
cf64c7e9a6 unit test: add sd env and spi env for sdmmc 2017-08-22 21:01:34 +08:00
Ivan Grokhotkov
e6258ac6cb sdmmc: don’t flip word order in MMC_RSP_BITS
MMC_RSP_BITS helper function had a hack that it flipped word order in
the response, assuming that response size is 4 words. This hack does not
work for responses which are not 4 words long (such as the SWITCH_FUNC
response, which is 64 words long).

This change removes the hack and the matching word order reversal code
in sdmmc driver.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
5539bfb83b sdmmc: mark new unit test as ignored 2017-08-08 03:51:54 +08:00
Ivan Grokhotkov
512898edee sdmmc: fix reads/writes to/from unaligned buffers
SDMMC hardware treats all buffers as aligned, and ignores 2 LSBs of
addresses written into DMA descriptors. Previously SDMMC host driver
assumed that data buffers passed from SDDMC command layer would be
aligned. However alignment checks were never implemented in the command
layer, as were the checks that the buffer coming from the application
would be in DMA capable memory. Most of the time this was indeed true.
However in some cases FATFS library can pass buffers offset by 2 bytes
from word boundary. “DMA capable” restriction may be broken if pSRAM
support is used.

This change adds buffer checks to the SDMMC host driver (alignment and
DMA capability), so that the host layer will error out for incompatible
buffers. In SDMMC command layer, a check is added to read and write
functions. If an incompatible buffer is passed from the application, new
buffer (512 bytes size) is allocated, and the transfer is performed
using {READ,WRITE}_SINGLE_BLOCK commands.
2017-08-01 03:15:11 +08:00
Dmitry Yakovlev
e5bb45f381 driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
antti
f8b5c29346 esp32: add [ignore] tag to some unit test cases for CI
Add ignore tag on unit test cases that are not supported in CI yet
2017-01-18 17:08:20 +08:00
Ivan Grokhotkov
44ce833d76 fatfs: add vfs support 2017-01-09 05:54:04 +08:00
Ivan Grokhotkov
edd924f273 sdmmc: add peripheral driver and protocol layer 2017-01-09 04:51:24 +08:00