MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
flash_mx25v8035f.h File Reference
#include <stdint.h>

Go to the source code of this file.

Macros

#define _flash_mx25v8035f_h_   /* prevent multiple includes */
 
#define MCCI_BOOTLOADER_MX25V8035F_BLOCK32_BASE(a)   ((a) & ~(MX25V8035F_BLOCK32_SIZE - 1))
 
#define MCCI_BOOTLOADER_MX25V8035F_BLOCK64_BASE(a)   ((a) & ~(MX25V8035F_BLOCK64_SIZE - 1))
 
#define MCCI_BOOTLOADER_MX25V8035F_PAGE_BASE(a)   ((a) & ~(MX25V8035F_PAGE_SIZE - 1))
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_ALL   0x8F /* protect 16 blocks */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_1   0x81 /* protect 1 block at bottom */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_2   0x82 /* protect 2 blocks at bottom */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_4   0x83 /* protect 4 blocks at bottom */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_8   0x84 /* protect 8 blocks at bottom */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_NONE   0x00 /* no blocks protected */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_1   0x01 /* protect 1 block at top */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_2   0x02 /* protect 2 blocks at top */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_4   0x03 /* protect 4 blocks at top */
 
#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_8   0x04 /* protect 8 blocks at top */
 
#define MCCI_BOOTLOADER_MX25V8035F_SECTOR_BASE(a)   ((a) & ~(MX25V8035F_SECTOR_SIZE - 1))
 
#define MX25V8035F_BLOCK32_SIZE   (UINT32_C(32) * 1024)
 
#define MX25V8035F_BLOCK64_SIZE   (UINT32_C(64) * 1024)
 
#define MX25V8035F_CFG_TB   (1u << 3) /* 0=Top, 1=Bottom area protect */
 
#define MX25V8035F_CMD_BE   0xD8u /* Block Erase 64KB */
 
#define MX25V8035F_CMD_BE_32K   0x52u /* Block Erase 32KB */
 
#define MX25V8035F_CMD_CE   0x60u /* Chip Erase */
 
#define MX25V8035F_CMD_DP   0xB9u /* Deep Power Down */
 
#define MX25V8035F_CMD_ENSO   0xB1u /* Enter Secured OTP */
 
#define MX25V8035F_CMD_EXSO   0xC1u /* Exit Secured OTP */
 
#define MX25V8035F_CMD_FAST_READ   0x0Bu /* Fast read */
 
#define MX25V8035F_CMD_NOP   0x00u /* No operation */
 
#define MX25V8035F_CMD_PP   0x02u /* Page Program */
 
#define MX25V8035F_CMD_RDCR   0x15u /* Read Configuration Register */
 
#define MX25V8035F_CMD_RDID   0x9Fu /* Read Identification */
 
#define MX25V8035F_CMD_RDSCUR   0x2Bu /* Read Security Register */
 
#define MX25V8035F_CMD_RDSFDP   0x5Au /* Read SFDP */
 
#define MX25V8035F_CMD_RDSR   0x05u /* Read Status Register */
 
#define MX25V8035F_CMD_READ   0x03u /* Read */
 
#define MX25V8035F_CMD_REMS   0x90u /* Read Electronic Manu & Dev ID */
 
#define MX25V8035F_CMD_RES   0xABu /* Read Electronic ID */
 
#define MX25V8035F_CMD_RESUME   0x7Au /* PGM/ERS Resume */
 
#define MX25V8035F_CMD_RRE   0xFFu /* Release Read Enhanced */
 
#define MX25V8035F_CMD_RST   0x99u /* Reset Memory */
 
#define MX25V8035F_CMD_RSTEN   0x66u /* Reset Enable */
 
#define MX25V8035F_CMD_SBL   0xC0u /* Set Burst Length */
 
#define MX25V8035F_CMD_SE   0x20u /* Sector Erase */
 
#define MX25V8035F_CMD_SUSPEND   0x75u /* PGM/ERS Suspend */
 
#define MX25V8035F_CMD_WRDI   0x04u /* Write Disable */
 
#define MX25V8035F_CMD_WREN   0x06u /* Write Enable */
 
#define MX25V8035F_CMD_WRSCUR   0x2Fu /* Write Security Register */
 
#define MX25V8035F_CMD_WRSR   0x01u /* Write Status Register */
 
#define MX25V8035F_DEVICE_ID   0x2314u
 
#define MX25V8035F_MANUFACTURER_ID   0xC2u
 
#define MX25V8035F_PAGE_PER_BLOCK32   (MX25V8035F_BLOCK32_SIZE / MX25V8035F_PAGE_SIZE)
 
#define MX25V8035F_PAGE_PER_BLOCK64   (MX25V8035F_BLOCK64_SIZE / MX25V8035F_PAGE_SIZE)
 
#define MX25V8035F_PAGE_PER_SECTOR   (MX25V8035F_SECTOR_SIZE / MX25V8035F_PAGE_SIZE)
 
#define MX25V8035F_PAGE_SIZE   UINT32_C(256)
 
#define MX25V8035F_SCUR_E_FAIL   (1u << 6) /* Erase Failed */
 
#define MX25V8035F_SCUR_ESB   (1u << 3) /* Erase Suspend */
 
#define MX25V8035F_SCUR_LDSO   (1u << 1) /* 1=Lock-Down (1st 4Kb) */
 
#define MX25V8035F_SCUR_OTP   (1u << 0) /* 1=Factory lock (2nd 4Kb) */
 
#define MX25V8035F_SCUR_P_FAIL   (1u << 5) /* Program Failed */
 
#define MX25V8035F_SCUR_PSB   (1u << 2) /* Program Suspend */
 
#define MX25V8035F_SECTOR_PER_BLOCK32   (MX25V8035F_BLOCK32_SIZE / MX25V8035F_SECTOR_SIZE)
 
#define MX25V8035F_SECTOR_PER_BLOCK64   (MX25V8035F_BLOCK64_SIZE / MX25V8035F_SECTOR_SIZE)
 
#define MX25V8035F_SECTOR_SIZE   UINT32_C(4096)
 
#define MX25V8035F_STS_BP_MASK   (15u << 2) /* the BP bits */
 
#define MX25V8035F_STS_QE   (1u << 6) /* Quad Enable */
 
#define MX25V8035F_STS_SRWD   (1u << 7) /* Status Regster Write Protect */
 
#define MX25V8035F_STS_WEL   (1u << 1) /* Write Enable Latch */
 
#define MX25V8035F_STS_WIP   (1u << 0) /* Write In Progress */
 

Macro Definition Documentation

◆ _flash_mx25v8035f_h_

#define _flash_mx25v8035f_h_   /* prevent multiple includes */

Definition at line 24 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_BLOCK32_BASE

#define MCCI_BOOTLOADER_MX25V8035F_BLOCK32_BASE (   a)    ((a) & ~(MX25V8035F_BLOCK32_SIZE - 1))

Definition at line 110 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_BLOCK64_BASE

#define MCCI_BOOTLOADER_MX25V8035F_BLOCK64_BASE (   a)    ((a) & ~(MX25V8035F_BLOCK64_SIZE - 1))

Definition at line 111 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PAGE_BASE

#define MCCI_BOOTLOADER_MX25V8035F_PAGE_BASE (   a)    ((a) & ~(MX25V8035F_PAGE_SIZE - 1))

Definition at line 108 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_ALL

#define MCCI_BOOTLOADER_MX25V8035F_PL_ALL   0x8F /* protect 16 blocks */

Definition at line 106 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_BASE_1

#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_1   0x81 /* protect 1 block at bottom */

Definition at line 102 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_BASE_2

#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_2   0x82 /* protect 2 blocks at bottom */

Definition at line 103 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_BASE_4

#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_4   0x83 /* protect 4 blocks at bottom */

Definition at line 104 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_BASE_8

#define MCCI_BOOTLOADER_MX25V8035F_PL_BASE_8   0x84 /* protect 8 blocks at bottom */

Definition at line 105 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_NONE

#define MCCI_BOOTLOADER_MX25V8035F_PL_NONE   0x00 /* no blocks protected */

Definition at line 97 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_TOP_1

#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_1   0x01 /* protect 1 block at top */

Definition at line 98 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_TOP_2

#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_2   0x02 /* protect 2 blocks at top */

Definition at line 99 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_TOP_4

#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_4   0x03 /* protect 4 blocks at top */

Definition at line 100 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_PL_TOP_8

#define MCCI_BOOTLOADER_MX25V8035F_PL_TOP_8   0x04 /* protect 8 blocks at top */

Definition at line 101 of file flash_mx25v8035f.h.

◆ MCCI_BOOTLOADER_MX25V8035F_SECTOR_BASE

#define MCCI_BOOTLOADER_MX25V8035F_SECTOR_BASE (   a)    ((a) & ~(MX25V8035F_SECTOR_SIZE - 1))

Definition at line 109 of file flash_mx25v8035f.h.

◆ MX25V8035F_BLOCK32_SIZE

#define MX25V8035F_BLOCK32_SIZE   (UINT32_C(32) * 1024)

Definition at line 89 of file flash_mx25v8035f.h.

◆ MX25V8035F_BLOCK64_SIZE

#define MX25V8035F_BLOCK64_SIZE   (UINT32_C(64) * 1024)

Definition at line 92 of file flash_mx25v8035f.h.

◆ MX25V8035F_CFG_TB

#define MX25V8035F_CFG_TB   (1u << 3) /* 0=Top, 1=Bottom area protect */

Definition at line 73 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_BE

#define MX25V8035F_CMD_BE   0xD8u /* Block Erase 64KB */

Definition at line 41 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_BE_32K

#define MX25V8035F_CMD_BE_32K   0x52u /* Block Erase 32KB */

Definition at line 40 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_CE

#define MX25V8035F_CMD_CE   0x60u /* Chip Erase */

Definition at line 42 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_DP

#define MX25V8035F_CMD_DP   0xB9u /* Deep Power Down */

Definition at line 51 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_ENSO

#define MX25V8035F_CMD_ENSO   0xB1u /* Enter Secured OTP */

Definition at line 56 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_EXSO

#define MX25V8035F_CMD_EXSO   0xC1u /* Exit Secured OTP */

Definition at line 57 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_FAST_READ

#define MX25V8035F_CMD_FAST_READ   0x0Bu /* Fast read */

Definition at line 37 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_NOP

#define MX25V8035F_CMD_NOP   0x00u /* No operation */

Definition at line 60 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_PP

#define MX25V8035F_CMD_PP   0x02u /* Page Program */

Definition at line 38 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RDCR

#define MX25V8035F_CMD_RDCR   0x15u /* Read Configuration Register */

Definition at line 47 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RDID

#define MX25V8035F_CMD_RDID   0x9Fu /* Read Identification */

Definition at line 53 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RDSCUR

#define MX25V8035F_CMD_RDSCUR   0x2Bu /* Read Security Register */

Definition at line 58 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RDSFDP

#define MX25V8035F_CMD_RDSFDP   0x5Au /* Read SFDP */

Definition at line 43 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RDSR

#define MX25V8035F_CMD_RDSR   0x05u /* Read Status Register */

Definition at line 46 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_READ

#define MX25V8035F_CMD_READ   0x03u /* Read */

Definition at line 36 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_REMS

#define MX25V8035F_CMD_REMS   0x90u /* Read Electronic Manu & Dev ID */

Definition at line 55 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RES

#define MX25V8035F_CMD_RES   0xABu /* Read Electronic ID */

Definition at line 54 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RESUME

#define MX25V8035F_CMD_RESUME   0x7Au /* PGM/ERS Resume */

Definition at line 50 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RRE

#define MX25V8035F_CMD_RRE   0xFFu /* Release Read Enhanced */

Definition at line 63 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RST

#define MX25V8035F_CMD_RST   0x99u /* Reset Memory */

Definition at line 62 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_RSTEN

#define MX25V8035F_CMD_RSTEN   0x66u /* Reset Enable */

Definition at line 61 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_SBL

#define MX25V8035F_CMD_SBL   0xC0u /* Set Burst Length */

Definition at line 52 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_SE

#define MX25V8035F_CMD_SE   0x20u /* Sector Erase */

Definition at line 39 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_SUSPEND

#define MX25V8035F_CMD_SUSPEND   0x75u /* PGM/ERS Suspend */

Definition at line 49 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_WRDI

#define MX25V8035F_CMD_WRDI   0x04u /* Write Disable */

Definition at line 45 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_WREN

#define MX25V8035F_CMD_WREN   0x06u /* Write Enable */

Definition at line 44 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_WRSCUR

#define MX25V8035F_CMD_WRSCUR   0x2Fu /* Write Security Register */

Definition at line 59 of file flash_mx25v8035f.h.

◆ MX25V8035F_CMD_WRSR

#define MX25V8035F_CMD_WRSR   0x01u /* Write Status Register */

Definition at line 48 of file flash_mx25v8035f.h.

◆ MX25V8035F_DEVICE_ID

#define MX25V8035F_DEVICE_ID   0x2314u

Definition at line 84 of file flash_mx25v8035f.h.

◆ MX25V8035F_MANUFACTURER_ID

#define MX25V8035F_MANUFACTURER_ID   0xC2u

Definition at line 83 of file flash_mx25v8035f.h.

◆ MX25V8035F_PAGE_PER_BLOCK32

#define MX25V8035F_PAGE_PER_BLOCK32   (MX25V8035F_BLOCK32_SIZE / MX25V8035F_PAGE_SIZE)

Definition at line 91 of file flash_mx25v8035f.h.

◆ MX25V8035F_PAGE_PER_BLOCK64

#define MX25V8035F_PAGE_PER_BLOCK64   (MX25V8035F_BLOCK64_SIZE / MX25V8035F_PAGE_SIZE)

Definition at line 94 of file flash_mx25v8035f.h.

◆ MX25V8035F_PAGE_PER_SECTOR

#define MX25V8035F_PAGE_PER_SECTOR   (MX25V8035F_SECTOR_SIZE / MX25V8035F_PAGE_SIZE)

Definition at line 88 of file flash_mx25v8035f.h.

◆ MX25V8035F_PAGE_SIZE

#define MX25V8035F_PAGE_SIZE   UINT32_C(256)

Definition at line 86 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_E_FAIL

#define MX25V8035F_SCUR_E_FAIL   (1u << 6) /* Erase Failed */

Definition at line 81 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_ESB

#define MX25V8035F_SCUR_ESB   (1u << 3) /* Erase Suspend */

Definition at line 79 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_LDSO

#define MX25V8035F_SCUR_LDSO   (1u << 1) /* 1=Lock-Down (1st 4Kb) */

Definition at line 77 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_OTP

#define MX25V8035F_SCUR_OTP   (1u << 0) /* 1=Factory lock (2nd 4Kb) */

Definition at line 76 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_P_FAIL

#define MX25V8035F_SCUR_P_FAIL   (1u << 5) /* Program Failed */

Definition at line 80 of file flash_mx25v8035f.h.

◆ MX25V8035F_SCUR_PSB

#define MX25V8035F_SCUR_PSB   (1u << 2) /* Program Suspend */

Definition at line 78 of file flash_mx25v8035f.h.

◆ MX25V8035F_SECTOR_PER_BLOCK32

#define MX25V8035F_SECTOR_PER_BLOCK32   (MX25V8035F_BLOCK32_SIZE / MX25V8035F_SECTOR_SIZE)

Definition at line 90 of file flash_mx25v8035f.h.

◆ MX25V8035F_SECTOR_PER_BLOCK64

#define MX25V8035F_SECTOR_PER_BLOCK64   (MX25V8035F_BLOCK64_SIZE / MX25V8035F_SECTOR_SIZE)

Definition at line 93 of file flash_mx25v8035f.h.

◆ MX25V8035F_SECTOR_SIZE

#define MX25V8035F_SECTOR_SIZE   UINT32_C(4096)

Definition at line 87 of file flash_mx25v8035f.h.

◆ MX25V8035F_STS_BP_MASK

#define MX25V8035F_STS_BP_MASK   (15u << 2) /* the BP bits */

Definition at line 68 of file flash_mx25v8035f.h.

◆ MX25V8035F_STS_QE

#define MX25V8035F_STS_QE   (1u << 6) /* Quad Enable */

Definition at line 69 of file flash_mx25v8035f.h.

◆ MX25V8035F_STS_SRWD

#define MX25V8035F_STS_SRWD   (1u << 7) /* Status Regster Write Protect */

Definition at line 70 of file flash_mx25v8035f.h.

◆ MX25V8035F_STS_WEL

#define MX25V8035F_STS_WEL   (1u << 1) /* Write Enable Latch */

Definition at line 67 of file flash_mx25v8035f.h.

◆ MX25V8035F_STS_WIP

#define MX25V8035F_STS_WIP   (1u << 0) /* Write In Progress */

Definition at line 66 of file flash_mx25v8035f.h.