Commit Graph

143 Commits

Author SHA1 Message Date
Michael (XIAO Xufeng)
fded5b0ce3 fix(sdmmc_io): fixed fixed_addr mode will still increase addr when splitting 2024-06-29 02:30:20 +08:00
Alexey Lapshin
0815f6ab8c fix(sdmmc): fix warnings found by GNU static analyzer 2024-06-18 14:25:37 +08:00
Martin Vychodil
c4ffee4b81 Merge branch 'feat/sdio_validate_hs_mode' into 'master'
feat(sdmmc): add high speed mode switch validation check for SDIO

See merge request espressif/esp-idf!30743
2024-06-12 15:38:44 +08:00
Ivan Grokhotkov
6ed7e93676
fix(sdmmc): fix invalid data when reading/writing PSRAM buffers
Previous commit has enabled buffers in PSRAM for ESP32-P4. But this
also caused a regression for ESP32-S3, where PSRAM is not DMA capable.
This commit re-introduces the check for esp_ptr_external_ram in case
SOC_SDMMC_PSRAM_DMA_CAPABLE is not set.
2024-06-05 13:12:03 +02:00
sonika.rathi
1af74c8a4a feat(sdmmc): add high speed mode switch validation check for SDIO 2024-05-31 09:14:36 +02:00
Adam Múdry
a97aaf19d8 fix: Typo in sdmmc_init_sd_ssr log string 2024-05-28 21:21:34 +02:00
Xiao Xufeng
52baadf0db feat(sdmmc_io): support sending CMD53 with fixed address 2024-05-21 18:09:23 +08:00
Ivan Grokhotkov
49b4bc175e
feat(sdmmc): add support for PSRAM DMA on ESP32-P4 2024-04-12 12:56:18 +02:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Armando
f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
morris
4c2569e2fc change(sdmmc): update ldo acquire driver to new API 2024-03-25 21:19:12 +08:00
Armando
ec44556a07 feat(sd): added power control driver and implementation layer with ldo 2024-03-25 11:32:56 +08:00
Ivan Grokhotkov
fb95daab06
fix(sdmmc): extend the maximum number of retries of ACMD41
According to the application note in SD Card Physical Specification:

> The host shall set ACMD41 timeout more than 1 second to abort repeat
of issuing ACMD41 when the card does not indicate ready. The timeout
count starts from the first ACMD41 which is set voltage window
in the argument.

Previously, the timeout was exactly one second, and this caused
certain larger-capacity cards to "time out", because they couldn't
finish initialization process in time.
2024-02-28 09:33:24 +01:00
Ivan Grokhotkov
47ba4d639a
fix(sdmmc): use correct argument for ACMD41 in SPI mode
ACMD41 argument is different between SD mode and SPI mode.
In SPI mode, the only non-zero bit may be the HCS bit. Unlike the SD
mode, the bits reflecting the host's OCR should be zero.
Previously, we used to set these bits the same way as for the SD mode.
This has caused certain cards to fail initializing, apparently their
controllers have checked the ACMD41 argument more strictly and refused
to finish initialization, resulting in an error such as

    sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107

(Note that this error may have other causes than the one fixed in
this commit. For example, if the card doesn't have a sufficient and
stable power supply, it may also fail to complete the internal
initialization process, and will never clear the busy flag in R1
response.)

Closes https://github.com/espressif/esp-idf/issues/6686
Closes https://github.com/espressif/esp-idf/issues/10542
2024-02-28 09:33:23 +01:00
Xiao Xufeng
216284b767 feat(sdio): add sdio over sdmmc support for esp32p4 2024-01-14 01:05:00 +08:00
Armando
847d525d78 feat(sdmmc): use ldo as power supply on esp32p4 2024-01-04 15:34:59 +08:00
sonika.rathi
8e0ce2fda4 fix(sdmmc): remove the legacy test cases from 'components/sdmmc/test' 2023-12-06 11:14:20 +01:00
Armando
b8aba80172 feat(sd): added readme for dependency among SD host related components 2023-11-20 12:30:03 +08:00
Armando
a2a489354b refactor(sdmmc): move sdmmc test apps to tools/test_apps 2023-11-16 15:37:32 +08:00
Armando
5b8d904a9b refactor(sdmmc): dependency inversion to sdmmc component 2023-11-16 15:37:32 +08:00
Adam Múdry
e151184da7 refactor: Remove -Wno-format from storage related components 2023-10-22 17:56:41 +00:00
Armando (Dou Yiwen)
471f1f61ae Merge branch 'feature/support_sdmmc_ver2_on_p4' into 'master'
sdmmc: esp32p4 support

Closes IDF-6502

See merge request espressif/esp-idf!25405
2023-10-19 22:00:40 +08:00
Armando
70314b56d5 feat(sdmmc): supported sd2.0 on esp32p4 2023-10-18 11:57:55 +00:00
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Chen Yudong
2e11919f70 fix(ci): change build-test-rules files folder 2023-09-20 19:17:06 +08:00
Armando
7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Xiao Xufeng
df7e887d18 test(sdmmc): support power down card on S3 emmc board 2023-07-26 15:44:45 +08:00
sonika.rathi
b8c3a3aeee Added support for write protection polarity for SDCard
Closes https://github.com/espressif/esp-idf/issues/11208
2023-06-28 13:20:36 +02:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Ivan Grokhotkov
c94853786f
sdmmc: implement card power control for esp32c3 sdmmc breakout board 2023-06-01 11:01:19 +02:00
Adam Múdry
e5d0e3c676 Merge branch 'bugfix/sdmmc_driver_vtaskdelay_slowdown' into 'master'
sdmmc: incrementally increase delay of vTaskDelay

Closes IDF-7361

See merge request espressif/esp-idf!23765
2023-05-19 18:22:51 +08:00
Adam Múdry
f13c9f746f sdmmc: incrementally increase delay of vTaskDelay
Prevents unnecessary slowdown in polling functions
2023-05-18 05:33:25 +02:00
Martin Vychodil
61e694d2f3 Merge branch 'fix/cd_input_sd_mode_fails' into 'master'
CI: sdcard tests fail fix

Closes IDFCI-1700

See merge request espressif/esp-idf!23505
2023-05-15 17:37:29 +08:00
Armando
01a3d79b6f sdmmc: support tuning input delay on esp32s3 2023-05-11 12:25:22 +00:00
Adam Múdry
fa16ed3898 CI: sdcard tests fail fix 2023-05-10 16:48:03 +02:00
Ivan Grokhotkov
3775ce8bd8 Merge branch 'feature/sdmmc_test_app' into 'master'
sdmmc: new component test app

Closes IDF-7108

See merge request espressif/esp-idf!19699
2023-05-03 03:07:06 +08:00
Adam Múdry
84bac4e38f sdmmc: sdio combination cards correct setup
Co-authored-by: Mau Abata <mauabata@gmail.com>
Closes https://github.com/espressif/esp-idf/issues/9822
Closes https://github.com/espressif/esp-idf/issues/10280
2023-04-24 17:03:09 +02:00
Armando
2225087756 emmc: temporarily removed esp32 emmc ut_017 2023-04-18 10:11:36 +08:00
Adam Múdry
381d0fe032 sdmmc: add vTaskDelay to loops to prevent potential WDT trigger
Also change timeout to 120 seconds in fatfs sdcard pytest to prevent failing during formatting.
2023-04-11 11:06:56 +00:00
Chip Weinberger
74d6215b7f [SDMMC] add reasonable timeouts to all while loops
Closes: https://github.com/espressif/esp-idf/pull/10532
2023-04-11 11:06:56 +00:00
Ivan Grokhotkov
7524f40b21
sdmmc: keep clock enabled for the duration of ACMD41
SD specification requires that card clock is not disabled until the
card is idle, following ACMD41 command.
2023-03-27 14:09:02 +02:00
Ivan Grokhotkov
cc0cac4da2
sdmmc: new component test app
- split test cases into separate files
- added a component with information about dev. boards
- added a console application to run the tests
- added commands for lower level hacking/experimentation
2023-03-24 13:38:38 +01:00
Ivan Grokhotkov
bfc39e845e
sdmmc: also set card->real_freq_khz for probing frequency 2023-03-23 23:28:54 +01:00
Adam Múdry
415e785135 sdmmc: read/write/erase return early on sector count == 0
Closes https://github.com/espressif/esp-idf/issues/10593
2023-03-06 15:45:04 +01:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Song Ruo Jing
1575b9e43a ci: Disable all currently failed target tests for esp32c6 2022-11-28 12:09:08 +08:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
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
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Matus Fabo
384d61f156 remove: sdspi_host deprecated api
add: migration guide documentation
2022-06-12 20:07:27 +00:00