ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_sdcard.h
Go to the documentation of this file.
1
41
42#pragma once
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48#include <stdint.h>
49
50#include "ra8_err.h"
51#include "ra8_sdhi.h"
52
63
92
143[[nodiscard]] ra8_err_t ra8_sdcard_init(const ra8_sdcard_cfg_t* cfg);
144
175[[nodiscard]] ra8_err_t ra8_sdcard_read_blocks(uint32_t lba, uint8_t* buf, uint32_t count);
176
199[[nodiscard]] ra8_err_t ra8_sdcard_write_blocks(uint32_t lba, const uint8_t* buf, uint32_t count);
200
218[[nodiscard]] ra8_err_t ra8_sdcard_get_capacity(uint32_t* out_blocks);
219
237
256[[nodiscard]] ra8_err_t ra8_sdcard_deinit(void);
257
258#ifdef __cplusplus
259}
260#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_err_t ra8_sdcard_write_blocks(uint32_t lba, const uint8_t *buf, uint32_t count)
Write count 512-byte blocks starting at lba.
Definition ra8_sdcard.c:628
ra8_err_t ra8_sdcard_get_capacity(uint32_t *out_blocks)
Return card capacity in 512-byte blocks.
Definition ra8_sdcard.c:644
ra8_sdcard_card_type_t
Detected SD card capacity / addressing class.
Definition ra8_sdcard.h:57
@ k_ra8_sdcard_type_sdsc
Standard-capacity, byte-addressed (<= 2 GB).
Definition ra8_sdcard.h:59
@ k_ra8_sdcard_type_sdxc
Extended-capacity, block-addressed (>32 GB).
Definition ra8_sdcard.h:61
@ k_ra8_sdcard_type_unknown
Not yet probed or no card present.
Definition ra8_sdcard.h:58
@ k_ra8_sdcard_type_sdhc
High-capacity, block-addressed (2-32 GB).
Definition ra8_sdcard.h:60
ra8_err_t ra8_sdcard_get_type(ra8_sdcard_card_type_t *out_type)
Return the detected card type (SDSC / SDHC / SDXC).
Definition ra8_sdcard.c:654
ra8_err_t ra8_sdcard_init(const ra8_sdcard_cfg_t *cfg)
Bring up the SDHI block and perform full SD card initialization.
Definition ra8_sdcard.c:544
ra8_err_t ra8_sdcard_deinit(void)
Tear down the card driver and release the SDHI block.
Definition ra8_sdcard.c:664
ra8_err_t ra8_sdcard_read_blocks(uint32_t lba, uint8_t *buf, uint32_t count)
Read count 512-byte blocks starting at lba.
Definition ra8_sdcard.c:612
SD/MMC Host Interface (SDHI) driver scaffold.
ra8_sdhi_bus_width_t
SD data-bus width accepted by ra8_sdhi_set_bus_width.
Definition ra8_sdhi.h:66
User-supplied configuration for ra8_sdcard_init.
Definition ra8_sdcard.h:88
uint8_t instance
SDHI instance index (0 or 1).
Definition ra8_sdcard.h:89
ra8_sdhi_bus_width_t bus_width
Target bus width (0/1-bit default, 4-bit).
Definition ra8_sdcard.h:90