Software APIs
flash_ctrl_info_pages.c
1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5#include "sw/device/silicon_creator/lib/drivers/flash_ctrl.h"
6
7#include "hw/top/flash_ctrl_regs.h"
8
9#define INFO_PAGE_STRUCT_(name_, bank_, page_) \
10 const flash_ctrl_info_page_t name_ = { \
11 .base_addr = (bank_) * FLASH_CTRL_PARAM_BYTES_PER_BANK + \
12 (page_) * FLASH_CTRL_PARAM_BYTES_PER_PAGE, \
13 .cfg_wen_offset = \
14 FLASH_CTRL_BANK##bank_##_INFO0_REGWEN_##page_##_REG_OFFSET, \
15 .cfg_offset = \
16 FLASH_CTRL_BANK##bank_##_INFO0_PAGE_CFG_##page_##_REG_OFFSET, \
17 };
18
19FLASH_CTRL_INFO_PAGES_DEFINE(INFO_PAGE_STRUCT_)
20#undef INFO_PAGE_STRUCT_