Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_spi_master.h"
60 #define FLASH12_CMD_READ_ARRAY 0x03
61 #define FLASH12_CMD_FAST_READ_ARRAY 0x0B
67 #define FLASH12_CMD_BYTE_PAGE_PROGRAM 0x02
68 #define FLASH12_CMD_PAGE_ERASE 0x81
69 #define FLASH12_CMD_BLOCK_ERASE_4KB 0x20
70 #define FLASH12_CMD_BLOCK_ERASE_32KB 0x52
71 #define FLASH12_CMD_BLOCK_ERASE_64KB 0xD8
72 #define FLASH12_CMD_CHIP_ERASE 0x60
78 #define FLASH12_CMD_ERASE_SECURITY_REG 0x44
79 #define FLASH12_CMD_PROGRAM_SECURITY_REG 0x42
80 #define FLASH12_CMD_READ_SECURITY_REG 0x48
81 #define FLASH12_CMD_READ_SERIAL_FLASH 0x5A
87 #define FLASH12_CMD_WRITE_ENABLE 0x06
88 #define FLASH12_CMD_VOLATILE_STATUS 0x50
89 #define FLASH12_CMD_WRITE_DISABLE 0x04
95 #define FLASH12_CMD_READ_STATUS_1 0x05
96 #define FLASH12_CMD_WRITE_STATUS_1 0x01
97 #define FLASH12_CMD_READ_STATUS_2 0x35
98 #define FLASH12_CMD_ACT_STATUS_INT 0x25
104 #define FLASH12_CMD_DEEP_POWER_DOWN 0xB9
105 #define FLASH12_CMD_RELEASE_PD_ID 0xAB
106 #define FLASH12_CMD_MANUFACTURER_ID 0x90
107 #define FLASH12_CMD_JEDEC_ID 0x9F
108 #define FLASH12_CMD_READ_UNIQUE_ID_NUM 0x4B
114 #define FLASH12_CMD_ENABLE_RESET 0x66
115 #define FLASH12_CMD_RESET_DEVICE 0x99
134 #define FLASH12_MANUFACTURER_ID 0x1F
135 #define FLASH12_DEVICE_ID 0x14
141 #define FLASH12_STATUS1_SRP0 0x80
142 #define FLASH12_STATUS1_BPSIZE 0x40
143 #define FLASH12_STATUS1_TB 0x20
144 #define FLASH12_STATUS1_WEL 0x02
145 #define FLASH12_STATUS1_BSY 0x01
151 #define FLASH12_MIN_ADDRESS 0x000000ul
152 #define FLASH12_MAX_ADDRESS 0x07FFFFul
153 #define FLASH12_PAGE_SIZE 256
154 #define FLASH12_CMD_MAX_LEN 8
164 #define FLASH12_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
165 #define FLASH12_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
183 #define FLASH12_MAP_MIKROBUS( cfg, mikrobus ) \
184 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
185 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
186 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
187 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
188 cfg.wp = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
189 cfg.hld = MIKROBUS( mikrobus, MIKROBUS_INT )
flash12_return_value_t
Flash 12 Click return value data.
Definition: flash12.h:239
pin_name_t hld
Definition: flash12.h:225
err_t flash12_soft_reset(flash12_t *ctx)
Flash 12 soft reset function.
pin_name_t mosi
Definition: flash12.h:219
spi_master_t spi
Definition: flash12.h:205
err_t flash12_get_device_id(flash12_t *ctx, uint8_t *mfr_id, uint8_t *dev_id)
Flash 12 device ID reading function.
pin_name_t cs
Definition: flash12.h:221
err_t flash12_write_enable(flash12_t *ctx)
Flash 12 write enable function.
This file contains SPI specific macros, functions, etc.
err_t flash12_read_cmd_data(flash12_t *ctx, uint8_t cmd, uint8_t *data_out, uint8_t len)
Flash 12 command data reading function.
void flash12_hw_write_disable(flash12_t *ctx)
Flash 12 hardware write disable function.
err_t flash12_read_status(flash12_t *ctx, uint8_t reg_num, uint8_t *status)
Flash 12 status reading function.
err_t flash12_write_cmd(flash12_t *ctx, uint8_t cmd)
Flash 12 command writing function.
err_t flash12_default_cfg(flash12_t *ctx)
Flash 12 default configuration function.
Flash 12 Click context object.
Definition: flash12.h:199
pin_name_t chip_select
Definition: flash12.h:207
digital_out_t hld
Definition: flash12.h:202
err_t flash12_memory_write(flash12_t *ctx, uint32_t mem_addr, uint8_t *data_in, uint32_t len)
Flash 12 memory data writing function.
err_t flash12_erase_memory(flash12_t *ctx, uint8_t erase_cmd, uint32_t mem_addr)
Flash 12 erase memory function.
err_t flash12_read_cmd_address_data(flash12_t *ctx, uint8_t cmd, uint32_t mem_addr, uint8_t *data_out, uint32_t len)
Flash 12 command address data reading function.
uint32_t spi_speed
Definition: flash12.h:228
@ FLASH12_ERROR
Definition: flash12.h:241
err_t flash12_write_cmd_address_data(flash12_t *ctx, uint8_t cmd, uint32_t mem_addr, uint8_t *data_in, uint32_t len)
Flash 12 command address data writing function.
void flash12_hold_enable(flash12_t *ctx)
Flash 12 hold enable function.
pin_name_t wp
Definition: flash12.h:224
pin_name_t miso
Definition: flash12.h:218
err_t flash12_write_cmd_data(flash12_t *ctx, uint8_t cmd, uint8_t *data_in, uint8_t len)
Flash 12 command data writing function.
Flash 12 Click configuration object.
Definition: flash12.h:216
@ FLASH12_OK
Definition: flash12.h:240
err_t flash12_memory_read(flash12_t *ctx, uint32_t mem_addr, uint8_t *data_out, uint32_t len)
Flash 12 memory data reading function.
spi_master_mode_t spi_mode
Definition: flash12.h:229
void flash12_hw_write_enable(flash12_t *ctx)
Flash 12 hardware write enable function.
void flash12_cfg_setup(flash12_cfg_t *cfg)
Flash 12 configuration object setup function.
digital_out_t wp
Definition: flash12.h:201
void flash12_hold_disable(flash12_t *ctx)
Flash 12 hold disable function.
pin_name_t sck
Definition: flash12.h:220
spi_master_chip_select_polarity_t cs_polarity
Definition: flash12.h:230
err_t flash12_write_disable(flash12_t *ctx)
Flash 12 write disable function.
err_t flash12_init(flash12_t *ctx, flash12_cfg_t *cfg)
Flash 12 initialization function.
err_t flash12_write_status(flash12_t *ctx, uint8_t status)
Flash 12 status writing function.