28#include "periph_conf.h" 
   63typedef struct __attribute__((packed)) {
 
 
   74#define JEDEC_NEXT_BANK (0x7f) 
   81#define JEDEC_BANK_MAX  (10) 
   86#define SPI_NOR_F_SECT_4K   (1) 
   91#define SPI_NOR_F_SECT_32K  (2) 
   96#define SPI_NOR_F_SECT_64K  (4) 
Low-level GPIO peripheral driver interface definitions.
 
const mtd_spi_nor_opcode_t mtd_spi_nor_opcode_default
Default command opcodes.
 
const mtd_desc_t mtd_spi_nor_driver
NOR flash SPI MTD device operations table.
 
const mtd_spi_nor_opcode_t mtd_spi_nor_opcode_default_4bytes
Default 4-byte addresses opcodes.
 
struct mtd_desc mtd_desc_t
MTD driver interface.
 
spi_mode_t
Support SPI modes.
 
Low-level SPI peripheral driver interface definition.
 
Internal representation of JEDEC memory ID codes.
 
uint8_t device[2]
Device ID, 2 bytes.
 
uint8_t bank
Manufacturer ID bank number, 1 through 10, see JEP106.
 
uint8_t manuf
Manufacturer ID, 1 byte.
 
SPI NOR flash opcode table.
 
uint8_t read_fast
Read data bytes, 3 byte address, at higher speed.
 
uint8_t wrsr
Write status register.
 
uint8_t block_erase_32k
32KiB block erase
 
uint8_t page_program
Page program.
 
uint8_t read
Read data bytes, 3 byte address.
 
uint8_t chip_erase
Chip erase.
 
uint8_t block_erase_64k
Block erase (usually 64 KiB)
 
uint8_t wake
Release from deep power down.
 
uint8_t sleep
Deep power down.
 
uint8_t sector_erase
Block erase 4 KiB.
 
uint8_t rdid
Read identification (JEDEC ID)
 
uint8_t wren
Write enable.
 
uint8_t rdsr
Read status register.
 
Compile-time parameters for a serial flash device.
 
uint32_t wait_chip_wake_up
Chip wake up time in µs.
 
gpio_t hold
HOLD pin GPIO handle.
 
gpio_t wp
Write Protect pin GPIO handle.
 
uint16_t flag
Config flags.
 
const mtd_spi_nor_opcode_t * opcode
Opcode table for the device.
 
spi_t spi
SPI bus the device is connected to.
 
uint32_t wait_sector_erase
4KB sector erase wait time in µs
 
uint32_t wait_chip_erase
Full chip erase wait time in µs.
 
gpio_t cs
CS pin GPIO handle.
 
uint32_t wait_32k_erase
32KB page erase wait time in µs
 
uint32_t wait_64k_erase
64KB page erase wait time in µs
 
Device descriptor for serial flash memory devices.
 
uint32_t page_addr_mask
bitmask to corresponding to the page address
 
mtd_jedec_id_t jedec_id
JEDEC ID of the chip.
 
mtd_dev_t base
inherit from mtd_dev_t object
 
const mtd_spi_nor_params_t * params
SPI NOR params.
 
uint8_t sec_addr_shift
number of right shifts to get the address to the start of the sector
 
uint32_t sec_addr_mask
bitmask to corresponding to the sector address
 
uint8_t page_addr_shift
number of right shifts to get the address to the start of the page
 
uint8_t addr_width
number of address bytes