Zephyr API Documentation 4.5.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
memc_nxp_semc.h File Reference

Driver API for the NXP SEMC memory controller. More...

#include <zephyr/device.h>
#include <fsl_semc.h>

Go to the source code of this file.

Functions

int memc_nxp_semc_get_default_config (semc_config_t *config)
 Populate a SEMC configuration with MCUX defaults.
int memc_nxp_semc_reconfigure (const struct device *dev, const semc_config_t *config)
 Reconfigure the SEMC core block.
int memc_nxp_semc_soft_reset (const struct device *dev)
 Trigger SEMC software reset.
int memc_nxp_semc_configure_sdram (const struct device *dev, semc_sdram_cs_t cs, semc_sdram_config_t *config, uint32_t clk_src_hz)
 Configure an SDRAM target on SEMC.
int memc_nxp_semc_configure_sram (const struct device *dev, semc_sram_cs_t cs, semc_sram_config_t *config, uint32_t clk_src_hz)
 Configure an SRAM target on SEMC.
int memc_nxp_semc_configure_nor (const struct device *dev, semc_nor_config_t *config, uint32_t clk_src_hz)
 Configure a NOR target on SEMC.
int memc_nxp_semc_configure_nand (const struct device *dev, semc_nand_config_t *config, uint32_t clk_src_hz)
 Configure a NAND target on SEMC.

Detailed Description

Driver API for the NXP SEMC memory controller.

Function Documentation

◆ memc_nxp_semc_configure_nand()

int memc_nxp_semc_configure_nand ( const struct device * dev,
semc_nand_config_t * config,
uint32_t clk_src_hz )

Configure a NAND target on SEMC.

◆ memc_nxp_semc_configure_nor()

int memc_nxp_semc_configure_nor ( const struct device * dev,
semc_nor_config_t * config,
uint32_t clk_src_hz )

Configure a NOR target on SEMC.

◆ memc_nxp_semc_configure_sdram()

int memc_nxp_semc_configure_sdram ( const struct device * dev,
semc_sdram_cs_t cs,
semc_sdram_config_t * config,
uint32_t clk_src_hz )

Configure an SDRAM target on SEMC.

◆ memc_nxp_semc_configure_sram()

int memc_nxp_semc_configure_sram ( const struct device * dev,
semc_sram_cs_t cs,
semc_sram_config_t * config,
uint32_t clk_src_hz )

Configure an SRAM target on SEMC.

◆ memc_nxp_semc_get_default_config()

int memc_nxp_semc_get_default_config ( semc_config_t * config)

Populate a SEMC configuration with MCUX defaults.

Parameters
configPointer to destination configuration.
Return values
0on success.
-EINVALif config is NULL.

◆ memc_nxp_semc_reconfigure()

int memc_nxp_semc_reconfigure ( const struct device * dev,
const semc_config_t * config )

Reconfigure the SEMC core block.

This updates common SEMC options (timeouts, queue weight, DQS mode). It software-resets the controller and leaves it without any configured external device; memory interface timing and base address are programmed separately with memc_nxp_semc_configure_*().

Parameters
devSEMC controller device.
configCommon SEMC configuration.
Return values
0on success.
-EINVALif arguments are invalid.
-ENODEVif device is not ready.

◆ memc_nxp_semc_soft_reset()

int memc_nxp_semc_soft_reset ( const struct device * dev)

Trigger SEMC software reset.

Parameters
devSEMC controller device.
Return values
0on success.
-EINVALif arguments are invalid.
-ENODEVif device is not ready.
-ETIMEDOUTif reset did not complete in time.