e671d363b8
This commit adds a new driver category for memory controller peripherals. There is no API involved for now, as it has not been found necessary for first implementation. STM32 Flexible Memory Controller (FMC) is the only controller supported for now. This peripheral allows to access multiple types of external memories, e.g. SDRAM, NAND, NOR Flash... The initial implementation adds support for the SDRAM controller only. The HAL API is used, so the implementation should be portable to other STM32 series. It has only been tested on H7 series, so for now it can only be enabled when working on H7. Linker facilities have also been added in order to allow applications to easily define a variable in SDRAM. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
30 lines
548 B
Plaintext
30 lines
548 B
Plaintext
/*
|
|
* Copyright (c) 2020 Teslabs Engineering S.L.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#if DT_NODE_HAS_STATUS(DT_NODELABEL(sdram1), okay)
|
|
GROUP_START(SDRAM1)
|
|
|
|
SECTION_PROLOGUE(_STM32_SDRAM1_SECTION_NAME, (NOLOAD),)
|
|
{
|
|
*(.stm32_sdram1)
|
|
*(".stm32_sdram1.*")
|
|
} GROUP_LINK_IN(SDRAM1)
|
|
|
|
GROUP_END(SDRAM1)
|
|
#endif
|
|
|
|
#if DT_NODE_HAS_STATUS(DT_NODELABEL(sdram2), okay)
|
|
GROUP_START(SDRAM2)
|
|
|
|
SECTION_PROLOGUE(_STM32_SDRAM2_SECTION_NAME, (NOLOAD),)
|
|
{
|
|
*(.stm32_sdram2)
|
|
*(".stm32_sdram2.*")
|
|
} GROUP_LINK_IN(SDRAM2)
|
|
|
|
GROUP_END(SDRAM2)
|
|
#endif
|