diff options
author | Uros Majstorovic <majstor@majstor.org> | 2025-02-16 20:17:43 +0100 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2025-02-16 20:17:43 +0100 |
commit | d979b344e5d10c8ecb075554008b707c490db672 (patch) | |
tree | 9f3561e9bc9f42a375788c8680c7eabdeb8ea42a /fw/fe310/eos/dev/sdcard.c | |
parent | 2e17dd17ee9777084b2f211f08c4231dd5f8b906 (diff) |
Diffstat (limited to 'fw/fe310/eos/dev/sdcard.c')
-rw-r--r-- | fw/fe310/eos/dev/sdcard.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/fw/fe310/eos/dev/sdcard.c b/fw/fe310/eos/dev/sdcard.c new file mode 100644 index 0000000..1edad96 --- /dev/null +++ b/fw/fe310/eos/dev/sdcard.c @@ -0,0 +1,38 @@ +#include <stdlib.h> +#include <stdint.h> + +#include "eos.h" + +#include "board.h" +#include "spi.h" + +#include "drv/sdcard.h" +#include "sdcard.h" + +#ifdef EOS_DEBUG +#include <stdio.h> +#endif + +void eos_sdc_insert(int sdc_det) { + int rv; + + rv = EOS_OK; + if (sdc_det) { + eos_spi_set_div(EOS_SPI_DEV_SDC, 1024); // 100 - 400 kHz + + rv = eos_spi_select(EOS_SPI_DEV_SDC); + if (rv) goto sdc_insert_fin; + + rv = sdc_init(1000); + eos_spi_deselect(); + +sdc_insert_fin: + eos_spi_set_div(EOS_SPI_DEV_SDC, SPI_DIV_SDC); + } else { + sdc_clear(); + } + +#ifdef EOS_DEBUG + if (rv) printf("SDC INSERT ERR:%d\n", rv); +#endif +} |