| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #ifndef _SPI_SDCARD_H_ |
| #define _SPI_SDCARD_H_ |
| |
| #include <stddef.h> |
| |
| struct spi_sdcard { |
| int type; |
| struct spi_slave slave; |
| }; |
| |
| int spi_sdcard_init(struct spi_sdcard *card, |
| const unsigned int bus, |
| const unsigned int cs); |
| |
| int spi_sdcard_single_read(const struct spi_sdcard *card, |
| size_t block_address, |
| void *buff); |
| |
| int spi_sdcard_multiple_read(const struct spi_sdcard *card, |
| size_t start_block_address, |
| size_t end_block_address, |
| void *buff); |
| |
| int spi_sdcard_single_write(const struct spi_sdcard *card, |
| size_t block_address, |
| void *buff); |
| |
| int spi_sdcard_read(const struct spi_sdcard *card, |
| void *dest, |
| size_t offset, |
| size_t count); |
| |
| int spi_sdcard_multiple_write(const struct spi_sdcard *card, |
| size_t start_block_address, |
| size_t end_block_address, |
| void *buff); |
| |
| int spi_sdcard_erase(const struct spi_sdcard *card, |
| size_t start_block_address, |
| size_t end_block_address); |
| |
| int spi_sdcard_erase_all(const struct spi_sdcard *card); |
| |
| /* get the sdcard size in bytes */ |
| size_t spi_sdcard_size(const struct spi_sdcard *card); |
| |
| #endif /* _SPI_SDCARD_H_ */ |