Allow SDIO clock/retry overrides (#18223)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
d7561c4b98
commit
215b400038
2 changed files with 9 additions and 3 deletions
|
@ -120,7 +120,7 @@ bool SDIO_ReadBlock_DMA(uint32_t blockAddress, uint8_t *data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDIO_ReadBlock(uint32_t blockAddress, uint8_t *data) {
|
bool SDIO_ReadBlock(uint32_t blockAddress, uint8_t *data) {
|
||||||
uint32_t retries = 3;
|
uint32_t retries = SDIO_READ_RETRIES;
|
||||||
while (retries--) if (SDIO_ReadBlock_DMA(blockAddress, data)) return true;
|
while (retries--) if (SDIO_ReadBlock_DMA(blockAddress, data)) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../shared/Marduino.h"
|
#include "../../inc/MarlinConfig.h" // Allow pins/pins.h to override SDIO clock / retries
|
||||||
|
|
||||||
#include <libmaple/sdio.h>
|
#include <libmaple/sdio.h>
|
||||||
#include <libmaple/dma.h>
|
#include <libmaple/dma.h>
|
||||||
|
@ -100,7 +100,13 @@
|
||||||
#define SDIO_DATA_TIMEOUT 100U /* Read data transfer timeout */
|
#define SDIO_DATA_TIMEOUT 100U /* Read data transfer timeout */
|
||||||
#define SDIO_WRITE_TIMEOUT 200U /* Write data transfer timeout */
|
#define SDIO_WRITE_TIMEOUT 200U /* Write data transfer timeout */
|
||||||
|
|
||||||
|
#ifndef SDIO_CLOCK
|
||||||
#define SDIO_CLOCK 18000000 /* 18 MHz */
|
#define SDIO_CLOCK 18000000 /* 18 MHz */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef SDIO_READ_RETRIES
|
||||||
|
#define SDIO_READ_RETRIES 3
|
||||||
|
#endif
|
||||||
|
|
||||||
// ------------------------
|
// ------------------------
|
||||||
// Types
|
// Types
|
||||||
|
|
Reference in a new issue