Go to the documentation of this file.
38 #include "drv_digital_out.h"
39 #include "drv_digital_in.h"
40 #include "drv_spi_master.h"
53 #define MRAM2_MAP_MIKROBUS( cfg, mikrobus ) \
54 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
55 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
56 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
57 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
58 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
59 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT );
66 #define MRAM2_RETVAL uint8_t
69 #define MRAM2_INIT_ERROR 0xFF
76 #define MRAM2_CMD_RDSR 0x05
77 #define MRAM2_CMD_WREN 0x06
78 #define MRAM2_CMD_WRDI 0x04
79 #define MRAM2_CMD_WRSR 0x01
80 #define MRAM2_CMD_READ 0x03
81 #define MRAM2_CMD_FREAD 0x0B
82 #define MRAM2_CMD_WRITE 0x02
83 #define MRAM2_CMD_SLEEP 0xB9
84 #define MRAM2_CMD_WAKE 0xAB
85 #define MRAM2_CMD_TDET 0x17
86 #define MRAM2_CMD_TDETX 0x07
87 #define MRAM2_CMD_RDID 0x4B
94 #define MRAM2_STAT_REG_SRWD 0x80
95 #define MRAM2_STAT_REG_QPI 0x40
96 #define MRAM2_STAT_REG_BP1 0x08
97 #define MRAM2_STAT_REG_BP0 0x04
98 #define MRAM2_STAT_REG_WEL 0x02
105 #define MRAM2_XIP_SET_CONT 0xEF
106 #define MRAM2_XIP_RST_STOP 0xFF
113 #define MRAM2_WP_ENABLE 0x01
114 #define MRAM2_WP_DISABLE 0x00
115 #define MRAM2_HLD_ENABLE 0x01
116 #define MRAM2_HLD_DISABLE 0x00
117 #define MRAM2_PIN_LOW 0x00
118 #define MRAM2_PIN_HIGH 0x01
269 void mram2_fread (
mram2_t *ctx, uint32_t mem_adr, uint8_t mode, uint8_t *rd_data, uint8_t n_bytes );
digital_out_t rst
Definition: mram2.h:136
uint32_t mram2_tdet(mram2_t *ctx)
Tamper Detect (TDET) function.
void mram2_read(mram2_t *ctx, uint32_t mem_adr, uint8_t *rd_data, uint8_t n_bytes)
Read Data Bytes function.
pin_name_t mosi
Definition: mram2.h:154
digital_out_t cs
Definition: mram2.h:133
void mram2_tdetx(mram2_t *ctx)
Tamper Detect Exit function.
spi_master_chip_select_polarity_t cs_polarity
Definition: mram2.h:167
pin_name_t chip_select
Definition: mram2.h:142
pin_name_t sck
Definition: mram2.h:155
void mram2_fread(mram2_t *ctx, uint32_t mem_adr, uint8_t mode, uint8_t *rd_data, uint8_t n_bytes)
Fast Read Data Bytes function.
void mram2_cfg_setup(mram2_cfg_t *cfg)
Config Object Initialization function.
Click configuration structure definition.
Definition: mram2.h:150
Click ctx object definition.
Definition: mram2.h:132
void mram2_wrsr(mram2_t *ctx, uint8_t stat_reg)
Write Status Register function.
void mram2_write(mram2_t *ctx, uint32_t mem_adr, uint8_t *wr_data, uint8_t n_bytes)
Write Data Bytes function.
spi_master_mode_t spi_mode
Definition: mram2.h:166
void mram2_sleep(mram2_t *ctx)
Enter Sleep Mode function.
pin_name_t miso
Definition: mram2.h:153
void mram2_hold(mram2_t *ctx, uint8_t state)
Hold function.
pin_name_t rst
Definition: mram2.h:160
void mram2_write_protect(mram2_t *ctx, uint8_t state)
Write Protect function.
spi_master_t spi
Definition: mram2.h:141
pin_name_t int_pin
Definition: mram2.h:161
void mram2_wake(mram2_t *ctx)
Exit Sleep Mode function.
void mram2_wrdi(mram2_t *ctx)
Write Disable function.
digital_out_t int_pin
Definition: mram2.h:137
uint32_t spi_speed
Definition: mram2.h:165
void mram2_rdid(mram2_t *ctx, uint8_t *rd_id)
Read ID function.
void mram2_wren(mram2_t *ctx)
Write Enable function.
MRAM2_RETVAL mram2_init(mram2_t *ctx, mram2_cfg_t *cfg)
Initialization function.
#define MRAM2_RETVAL
Definition: mram2.h:66
pin_name_t cs
Definition: mram2.h:156
uint8_t mram2_rdsr(mram2_t *ctx)
Read Status Register function.