- Add support for flash driver on RX with flash type 1 - Add bindings for flash driver on RX Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2025 Renesas Electronics Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_DRIVERS_SOC_FLASH_RENESAS_RX_H_
|
|
#define ZEPHYR_DRIVERS_SOC_FLASH_RENESAS_RX_H_
|
|
|
|
#include <zephyr/drivers/flash.h>
|
|
|
|
enum flash_region {
|
|
CODE_FLASH,
|
|
DATA_FLASH,
|
|
};
|
|
|
|
struct flash_rx_config {
|
|
struct flash_parameters flash_rx_parameters;
|
|
};
|
|
|
|
struct flash_rx_event {
|
|
volatile bool erase_complete;
|
|
volatile bool write_complete;
|
|
volatile bool error;
|
|
};
|
|
|
|
struct flash_rx_data {
|
|
struct flash_rx_event flash_event;
|
|
/* Indicates which flash area is being accessed (code or data region). */
|
|
enum flash_region FlashRegion;
|
|
/**
|
|
* Flash address of FlashRegion
|
|
* Renesas RX supports two flash regions: CODE and DATA. These regions are
|
|
* located at different memory addresses and have distinct flash maps.
|
|
* This field identifies which FlashRegion is in use, allowing
|
|
* region-specific behavior to be applied
|
|
*/
|
|
uint32_t area_address;
|
|
/* Size of the FlashRegion. */
|
|
uint32_t area_size;
|
|
struct k_sem transfer_sem;
|
|
};
|
|
|
|
#endif /* ZEPHYR_DRIVERS_SOC_FLASH_RENESAS_RX_H_ */
|