|
Zephyr API Documentation 4.5.99
A Scalable Open Source RTOS
|
Driver API for the NXP SEMC memory controller. More...
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. | |
Driver API for the NXP SEMC memory controller.
| 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.
| 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_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_get_default_config | ( | semc_config_t * | config | ) |
Populate a SEMC configuration with MCUX defaults.
| config | Pointer to destination configuration. |
| 0 | on success. |
| -EINVAL | if config is NULL. |
| 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_*().
| dev | SEMC controller device. |
| config | Common SEMC configuration. |
| 0 | on success. |
| -EINVAL | if arguments are invalid. |
| -ENODEV | if device is not ready. |
| int memc_nxp_semc_soft_reset | ( | const struct device * | dev | ) |
Trigger SEMC software reset.
| dev | SEMC controller device. |
| 0 | on success. |
| -EINVAL | if arguments are invalid. |
| -ENODEV | if device is not ready. |
| -ETIMEDOUT | if reset did not complete in time. |