Commit Graph

37 Commits

Author SHA1 Message Date
Armando
a1da4f8a01 feat(sdmmc): sdmmc full ll layer 2024-09-03 17:03:42 +08:00
Adam Múdry
347800bcda Merge branch 'fix/sdmmc_host_init_slot_possible_bad_shift_op' into 'master'
Some checks are pending
docker / docker (push) Waiting to run
fix(sdmmc): Fix possible bad bit shift operation

Closes IDF-10759

See merge request espressif/esp-idf!32885
2024-08-30 23:55:14 +08:00
Adam Múdry
24c1f084d0 fix(sdmmc): Fix possible bad bit shift operation and check if GPIO pins are valid 2024-08-30 15:01:10 +02:00
Armando
29bf116021 fix(sdspi): fixed sdspi on p4 2024-08-29 09:06:02 +08:00
Armando
c13f35a7cf feat(sdspi): support sdspi on c5 2024-08-29 09:06:02 +08:00
Adam Múdry
b263b9dff9 fix(sdmmc): Fix SDMMC slot switch timing related issue on ESP32-P4 2024-08-20 19:17:08 +08:00
Ivan Grokhotkov
8a9d3076d7
fix(sdmmc): don't disable SDIO interrupts when switching slots 2024-08-12 14:18:29 +02:00
Adam Múdry
d1571c144b Merge branch 'feat/sdmmc_support_concurrent_use' into 'master'
feat(sdmmc): Concurrent use of SDMMC peripheral

Closes IDF-9152

See merge request espressif/esp-idf!31150
2024-08-09 01:08:16 +08:00
Adam Múdry
014dddad1f feat(sdmmc): Concurrent use of SDMMC peripheral
Host and device (card, etc.) initialization is not thread-safe.
After initialization transactions are serialized and guarded by mutex.
Changed `SDMMC_HOST_DEFAULT()` default deinit function to `sdmmc_host_deinit_slot`
which has a slot number as argument.
2024-08-06 10:34:13 +02:00
Ivan Grokhotkov
ec66ecb176
ci(sdmmc): switch to usb_serial_jtag in the test app for P4
New CI runners use usb_serial_jtag, update configuration to match this.
2024-07-31 15:37:11 +02:00
Adam Múdry
caa4f7fd20 refactor(sdmmc): Allow sdmmc_host_init to be called multiple times
Along with slight refactor for sdmmc_host.c
2024-07-23 12:35:19 +02: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
Frantisek Hrbata
fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
Ivan Grokhotkov
5b1fd0efe9
ci(sdmmc): enable tests for ESP32-P4 2024-05-24 15:05:35 +02:00
Ivan Grokhotkov
3f663ec789
ci(sdmmc): add test config for p4 2024-04-17 12:49:23 +02:00
Ivan Grokhotkov
ad6cce5e3a
fix(sdmmc): correct unused pin number for P4 EV board 2024-04-17 12:49:23 +02:00
Ivan Grokhotkov
3546c81e32
ci(sdmmc): re-enable CD/WP tests 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
b08ddfb25b
fix(sdmmc): don't fail in clock update commands when no card detected
Clock update commands don't actually require the card to be present,
so it's not necessary to fail at this stage.
2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
96074470ec
fix(sdmmc): correct power init in CD/WP tests for P4 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
ad51d0d1ca
ci(sdmmc): clean up stdout to avoid false positive memory leaks 2024-04-17 12:49:22 +02:00
Ivan Grokhotkov
49b4bc175e
feat(sdmmc): add support for PSRAM DMA on ESP32-P4 2024-04-12 12:56:18 +02:00
Ivan Grokhotkov
344439dfaa
change(sdmmc): move SD power control logic into sdmmc_test_sd_begin
This simplifies the code a bit,
- removing SOC_SDMMC_IO_POWER_EXTERNAL ifdefs from error paths
- moving the LDO code next to where sdmmc_test_board_card_power_set
  is called for the same purpose
2024-04-04 15:02:11 +02:00
Ivan Grokhotkov
2bd1a8706d
feat(sdmmc): add test config for ESP32-P4 EV board 2024-04-04 14:59:28 +02:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 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
Xiao Xufeng
216284b767 feat(sdio): add sdio over sdmmc support for esp32p4 2024-01-14 01:05:00 +08:00
Armando (Dou Yiwen)
dbe1df8cde Merge branch 'feature/esp32p4_sdmmc_on_real_chip' into 'master'
sdmmc: p4 sdmmc on real chip (relies ldo on real chip)

Closes IDF-6502

See merge request espressif/esp-idf!27762
2024-01-05 11:43:30 +08:00
Armando
847d525d78 feat(sdmmc): use ldo as power supply on esp32p4 2024-01-04 15:34:59 +08:00
Armando
3c5a4f9e8a ci(p4): added todo jira for disabled tests on p4 2024-01-04 09:36:38 +08:00
Armando
1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +08:00
sonika.rathi
a7a0245d8e fix(sdmmc): Migrate erase/trim test cases from unit-test-app to component-test-app 2023-12-06 11:07:33 +01:00
Armando
4aadacbcdc refactor(sdspi): added component pytest cases and enabled them on CI 2023-11-29 12:13:03 +08:00
Armando
9b0d75f2df refactor(sdmmc): added component pytest cases and enabled them on CI 2023-11-29 12:13:03 +08:00
Armando
b8aba80172 feat(sd): added readme for dependency among SD host related components 2023-11-20 12:30:03 +08:00
Armando
5b8d904a9b refactor(sdmmc): dependency inversion to sdmmc component 2023-11-16 15:37:32 +08:00
Armando
c7c38b7904 refactor(sdmmc): place sdmmc driver into a new component 2023-11-16 15:37:32 +08:00