|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Static properties a backend reports about its medium. More...
#include <ra8_io_blockdev.h>
Data Fields | |
| uint32_t | block_count |
| Total addressable logical blocks. | |
| uint32_t | erase_unit_blocks |
| Erase granularity, in logical blocks. | |
| uint32_t | program_size_bytes |
| Minimum program granularity in bytes. | |
| uint16_t | logical_block_bytes |
| Logical block size (always 512). | |
| uint8_t | erase_value |
| Post-erase byte (ra8_io_erase_value_t). | |
| bool | must_erase_before_write |
| true => program needs a prior erase. | |
| bool | read_only |
| true => writes/erases are rejected. | |
Static properties a backend reports about its medium.
Queried with ra8_io_blockdev_get_caps after a backend is bound. The cache and filesystem use erase_unit_blocks, program_size_bytes, and must_erase_before_write to coalesce writes into erase-aligned units on flash media and to choose read-modify-write where the program granularity is coarser than one logical block.
Definition at line 129 of file ra8_io_blockdev.h.
| uint32_t ra8_io_blockdev_caps_t::block_count |
Total addressable logical blocks.
Definition at line 130 of file ra8_io_blockdev.h.
Referenced by internal_check_caps(), internal_dev_get_caps(), internal_fs_get_capacity(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| uint32_t ra8_io_blockdev_caps_t::erase_unit_blocks |
Erase granularity, in logical blocks.
Definition at line 131 of file ra8_io_blockdev.h.
Referenced by internal_check_caps(), internal_dev_get_caps(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| uint8_t ra8_io_blockdev_caps_t::erase_value |
Post-erase byte (ra8_io_erase_value_t).
Definition at line 134 of file ra8_io_blockdev.h.
Referenced by internal_check_caps(), internal_dev_get_caps(), internal_fs_erase(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| uint16_t ra8_io_blockdev_caps_t::logical_block_bytes |
Logical block size (always 512).
Definition at line 133 of file ra8_io_blockdev.h.
Referenced by internal_dev_get_caps(), internal_fs_get_capacity(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| bool ra8_io_blockdev_caps_t::must_erase_before_write |
true => program needs a prior erase.
Definition at line 135 of file ra8_io_blockdev.h.
Referenced by internal_dev_get_caps(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| uint32_t ra8_io_blockdev_caps_t::program_size_bytes |
Minimum program granularity in bytes.
Definition at line 132 of file ra8_io_blockdev.h.
Referenced by internal_dev_get_caps(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().
| bool ra8_io_blockdev_caps_t::read_only |
true => writes/erases are rejected.
Definition at line 136 of file ra8_io_blockdev.h.
Referenced by internal_check_caps(), internal_dev_get_caps(), internal_mram_get_caps(), internal_ram_get_caps(), internal_sdhi_get_caps(), internal_sdspi_get_caps(), internal_usbmsc_get_caps(), and internal_xspi_get_caps().