ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_flash_fsp.h
Go to the documentation of this file.
1
22
23#pragma once
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#include <stdint.h>
30
31#include "ra8_err.h"
32#include "ra8_flash_regs.h"
33#include "ra8_flash_types.h"
34
35/* =============================================================================
36 * FSP r_mram parity surface
37 * =============================================================================
38 */
39
68[[nodiscard]] ra8_err_t ra8_flash_open(const ra8_flash_cfg_t* cfg);
69
88[[nodiscard]] ra8_err_t ra8_flash_close(void);
89
122[[nodiscard]] ra8_err_t ra8_flash_erase(uintptr_t address, uint32_t num_blocks);
123
158[[nodiscard]] ra8_err_t ra8_flash_write(uintptr_t address, const uint8_t* src, uint32_t len);
159
187[[nodiscard]] ra8_err_t ra8_flash_blank_check(uintptr_t address, uint32_t len, bool* out_blank);
188
212
235[[nodiscard]] ra8_err_t ra8_flash_suspend(void);
236
256[[nodiscard]] ra8_err_t ra8_flash_resume(void);
257
283[[nodiscard]] ra8_err_t ra8_flash_lock_set(uintptr_t addr, uint16_t lock_bits);
284
312[[nodiscard]] ra8_err_t ra8_flash_set_window(uintptr_t low, uintptr_t high);
313
314#ifdef __cplusplus
315}
316#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_flash_status(ra8_flash_status_t *out)
Decode the controller status into a flat ra8_flash_status_t.
ra8_err_t ra8_flash_set_window(uintptr_t low, uintptr_t high)
Configure the soft access window enforced by write/erase.
ra8_err_t ra8_flash_lock_set(uintptr_t addr, uint16_t lock_bits)
Programme MRCBPROT0/1 lock bits at addr.
Definition ra8_flash.c:880
ra8_err_t ra8_flash_suspend(void)
Pause an in-flight MRAM program/erase operation.
Definition ra8_flash.c:835
ra8_err_t ra8_flash_open(const ra8_flash_cfg_t *cfg)
FSP-parity bring-up: equivalent to ra8_flash_init.
ra8_err_t ra8_flash_write(uintptr_t address, const uint8_t *src, uint32_t len)
Program len bytes into code-MRAM starting at address.
ra8_err_t ra8_flash_erase(uintptr_t address, uint32_t num_blocks)
Erase num_blocks consecutive 32-byte MRAM blocks.
ra8_err_t ra8_flash_resume(void)
Resume a previously-paused MRAM operation.
Definition ra8_flash.c:858
ra8_err_t ra8_flash_blank_check(uintptr_t address, uint32_t len, bool *out_blank)
Check whether a region holds the erase pattern (all 0xFF).
ra8_err_t ra8_flash_close(void)
FSP-parity tear-down: equivalent to ra8_flash_deinit.
Flash / MRAM controller register layout for the Renesas RA8D2.
Code MRAM driver – shared types (enums, structs, callback typedef).
Initialisation descriptor for ra8_flash_init.
Decoded status snapshot, FSP-parity surface.