mram4 2.1.0.0
mram4.h File Reference

This file contains API for MRAM 4 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  mram4_t
 MRAM 4 Click context object. More...
 
struct  mram4_cfg_t
 MRAM 4 Click configuration object. More...
 

Macros

#define MRAM4_CMD_RESET_ENABLE   0x66
 MRAM 4 description register.
 
#define MRAM4_CMD_RESET_MEMORY   0x99
 
#define MRAM4_CMD_READ_ID   0x9E
 
#define MRAM4_CMD_READ_ID_MIO   0xAF
 
#define MRAM4_CMD_READ   0x03
 
#define MRAM4_CMD_READ_FAST_XIP   0x0B
 
#define MRAM4_CMD_READ_FAST_DUAL_OUTPUT   0x3B
 
#define MRAM4_CMD_READ_FAST_DUAL_IO   0xBB
 
#define MRAM4_CMD_READ_FAST_QUAD_OUTPUT   0x6B
 
#define MRAM4_CMD_READ_FAST_QUAD_IO   0xEB
 
#define MRAM4_CMD_READ_FAST_DTR   0x0D
 
#define MRAM4_CMD_READ_FAST_DUAL_OUTPUT_DTR   0x3D
 
#define MRAM4_CMD_READ_FAST_DUAL_IO_DTR   0xBD
 
#define MRAM4_CMD_READ_FAST_QUAD_OUTPUT_DTR   0x6D
 
#define MRAM4_CMD_READ_FAST_QUAD_IO_DTR   0xED
 
#define MRAM4_CMD_READ_WORD_QUAD_IO   0xE7
 
#define MRAM4_CMD_READ_FAST_OCTAL_OUTPUT   0x8B
 
#define MRAM4_CMD_READ_FAST_OCTAL_IO   0xCB
 
#define MRAM4_CMD_READ_FAST_OCTAL_OUTPUT_DTR   0x9D
 
#define MRAM4_CMD_READ_FAST_OCTAL_IO_DTR   0xFD
 
#define MRAM4_CMD_READ_4BYTE_ADDR   0x13
 
#define MRAM4_CMD_READ_FAST_4BYTE_ADDR   0x0C
 
#define MRAM4_CMD_READ_FAST_DUAL_OUTPUT_4BYTE_ADDR   0x3C
 
#define MRAM4_CMD_READ_FAST_DUAL_IO_4BYTE_ADDR   0xBC
 
#define MRAM4_CMD_READ_FAST_QUAD_OUTPUT_4BYTE_ADDR   0x6C
 
#define MRAM4_CMD_READ_FAST_QUAD_IO_4BYTE_ADDR   0xEC
 
#define MRAM4_CMD_READ_FAST_DTR_4BYTE_ADDR   0x0E
 
#define MRAM4_CMD_READ_FAST_DUAL_IO_DTR_4BYTE_ADDR   0xBE
 
#define MRAM4_CMD_READ_FAST_QUAD_IO_DTR_4BYTE_ADDR   0xEE
 
#define MRAM4_CMD_READ_FAST_OCTAL_OUTPUT_4BYTE_ADDR   0x7C
 
#define MRAM4_CMD_READ_FAST_OCTAL_IO_4BYTE_ADDR   0xCC
 
#define MRAM4_CMD_WRITE_ENABLE   0x06
 
#define MRAM4_CMD_WRITE_DISABLE   0x04
 
#define MRAM4_CMD_READ_STATUS_REG   0x05
 
#define MRAM4_CMD_READ_FLAG_STATUS_REG   0x70
 
#define MRAM4_CMD_READ_NVOL_CFG_REG   0xB5
 
#define MRAM4_CMD_READ_VOL_CFG_REG   0x85
 
#define MRAM4_CMD_READ_GENERAL_PURPOSE_READ_REG   0x96
 
#define MRAM4_CMD_WRITE_STATUS_REG   0x01
 
#define MRAM4_CMD_WRITE_NVOL_CFG_REG   0xB1
 
#define MRAM4_CMD_WRITE_VOL_CFG_REG   0x81
 
#define MRAM4_CMD_CLEAR_FLAG_STATUS_REG   0x50
 
#define MRAM4_CMD_WRITE_PR_PAGE   0x02
 
#define MRAM4_CMD_WRITE_PR_FAST_DUAL_INPUT   0xA2
 
#define MRAM4_CMD_WRITE_PR_FAST_DUAL_INPUT_EXT   0xD2
 
#define MRAM4_CMD_WRITE_PR_FAST_QUAD_INPUT   0x32
 
#define MRAM4_CMD_WRITE_PR_FAST_QUAD_INPUT_EXT   0x38
 
#define MRAM4_CMD_WRITE_PR_FAST_OCTAL_INPUT   0x82
 
#define MRAM4_CMD_WRITE_PR_FAST_OCTAL_INPUT_EXT   0xC2
 
#define MRAM4_CMD_WRITE_PR_4BYTE_ADDRESS   0x12
 
#define MRAM4_CMD_WRITE_PR_FAST_QUAD_INPUT_4BYTE   0x34
 
#define MRAM4_CMD_WRITE_PR_FAST_QUAD_INPUT_EXT_4BYTE   0x3E
 
#define MRAM4_CMD_WRITE_PR_FAST_OCTAL_INPUT_4BYTE   0x84
 
#define MRAM4_CMD_WRITE_FAST_OCTAL_INPUT_EXT_4BYTE   0x8E
 
#define MRAM4_CMD_ERASE_32KB   0x52
 
#define MRAM4_CMD_ERASE_4KB   0x20
 
#define MRAM4_CMD_ERASE_SECTOR   0xD8
 
#define MRAM4_CMD_ERASE_BULK_CHIP   0xC7
 
#define MRAM4_CMD_ERASE_CHIP   0x60
 
#define MRAM4_CMD_ERASE_SECTOR_4BYTE_ADDRESS   0xDC
 
#define MRAM4_CMD_ERASE_4KB_4_BYTE_ADDRESS   0x21
 
#define MRAM4_CMD_ERASE_32KB_4BYTE_ADDRESS   0x5C
 
#define MRAM4_CMD_OTP_READ   0x4B
 
#define MRAM4_CMD_OTP_WRITE   0x42
 
#define MRAM4_CMD_4BYTE_ADDRESS_MODE_ENTER   0xB7
 
#define MRAM4_CMD_4BYTE_ADDRESS_MODE_EXIT   0xE9
 
#define MRAM4_CMD_DEEP_POWER_DOWN_ENTER   0xB9
 
#define MRAM4_CMD_DEEP_POWER_DOWN_EXIT   0xAB
 
#define MRAM4_CMD_INTERFACE_ACTIVATION_CRC   0x9B
 
#define MRAM4_CMD_TDP_WRITE   0xF0
 
#define MRAM4_CMD_TDP_READ   0xF1
 
#define MRAM4_CMD_TDP_READ_DTR   0xF2
 
#define MRAM4_MEMORY_ADDRESS_MIN   0x000000ul
 MRAM 4 description of the persistent memory and page size values.
 
#define MRAM4_MEMORY_ADDRESS_MAX   0x3FFFFFul
 
#define MRAM4_PAGE_SIZE   256
 
#define MRAM4_WRITE_PROTECT_ENABLE   0
 MRAM 4 description of the write-protection and hold pin logic state.
 
#define MRAM4_WRITE_PROTECT_DISABLE   1
 
#define MRAM4_HOLD_ENABLE   0
 
#define MRAM4_HOLD_DISABLE   1
 
#define MRAM4_STATUS_WP_BIT_MASK   0x80
 MRAM 4 description of status register bit assignments.
 
#define MRAM4_STATUS_BP3_BIT_MASK   0x40
 
#define MRAM4_STATUS_TOP_BOTTOM_BIT_MASK   0x20
 
#define MRAM4_STATUS_BP2_BIT_MASK   0x10
 
#define MRAM4_STATUS_BP1_BIT_MASK   0x08
 
#define MRAM4_STATUS_BP0_BIT_MASK   0x04
 
#define MRAM4_STATUS_WEL_BIT_MASK   0x02
 
#define MRAM4_STATUS_WIP_BIT_MASK   0x01
 
#define MRAM4_STATUS_WEL_SET   0x02
 
#define MRAM4_STATUS_WEL_CLR   0x00
 
#define MRAM4_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define MRAM4_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define MRAM4_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  mram4_return_value_t { MRAM4_OK = 0 , MRAM4_ERROR = -1 }
 MRAM 4 Click return value data. More...
 

Functions

void mram4_cfg_setup (mram4_cfg_t *cfg)
 MRAM 4 configuration object setup function.
 
err_t mram4_init (mram4_t *ctx, mram4_cfg_t *cfg)
 MRAM 4 initialization function.
 
err_t mram4_default_cfg (mram4_t *ctx)
 MRAM 4 default configuration function.
 
err_t mram4_generic_write (mram4_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 MRAM 4 data writing function.
 
err_t mram4_generic_read (mram4_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 MRAM 4 data reading function.
 
err_t mram4_write_cmd_addr_data (mram4_t *ctx, uint8_t cmd, uint32_t addr, uint8_t *data_in, uint32_t len)
 MRAM 4 write command adress data function.
 
err_t mram4_read_cmd_addr_data (mram4_t *ctx, uint8_t cmd, uint32_t addr, uint8_t *data_out, uint32_t len)
 MRAM 4 read command adress data function.
 
err_t mram4_memory_write (mram4_t *ctx, uint32_t mem_addr, uint8_t *data_in, uint8_t len)
 MRAM 4 memory write function.
 
err_t mram4_memory_read (mram4_t *ctx, uint32_t mem_addr, uint8_t *data_out, uint8_t len)
 MRAM 4 memory read function.
 
err_t mram4_memory_reset (mram4_t *ctx)
 MRAM 4 memory reset function.
 
err_t mram4_set_command (mram4_t *ctx, uint8_t cmd)
 MRAM 4 set the command function.
 
err_t mram4_write_enable (mram4_t *ctx)
 MRAM 4 write enable function.
 
err_t mram4_write_disable (mram4_t *ctx)
 MRAM 4 write disable function.
 
err_t mram4_block_erase (mram4_t *ctx, uint8_t cmd_block_erase, uint32_t mem_addr)
 MRAM 4 block erase function.
 
err_t mram4_chip_erase (mram4_t *ctx)
 MRAM 4 chip erase function.
 
err_t mram4_set_status (mram4_t *ctx, uint8_t st_reg, uint8_t status)
 MRAM 4 set status function.
 
err_t mram4_get_status (mram4_t *ctx, uint8_t *status)
 MRAM 4 get the status function.
 
void mram4_hw_write_protect (mram4_t *ctx, uint8_t en_wp)
 MRAM 4 hardware write protect function.
 
void mram4_set_hold (mram4_t *ctx, uint8_t en_hld)
 MRAM 4 set hold function.
 

Detailed Description

This file contains API for MRAM 4 Click Driver.

Enumeration Type Documentation

◆ mram4_return_value_t

MRAM 4 Click return value data.

Predefined enum values for driver return values.

Enumerator
MRAM4_OK 
MRAM4_ERROR