Contains the BSP driver for the B-L475E-IOT01 board.

Dependents:   mbed-os-example-ble-Thermometer DISCO_L475VG_IOT01-Telegram-BOT DISCO_L475VG_IOT01-sche_cheveux DISCO_L475VG_IOT01-QSPI_FLASH_FILE_SYSTEM ... more

https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/

Committer:
jeromecoutant
Date:
Tue Sep 24 15:30:09 2019 +0200
Revision:
7:bfe8272ced90
Parent:
4:137bb367ba50
Update BSP files with STM32Cube L4 V1.14.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 4:137bb367ba50 1 /**
bcostm 4:137bb367ba50 2 ******************************************************************************
bcostm 4:137bb367ba50 3 * @file mx25r6435f.h
bcostm 4:137bb367ba50 4 * @author MCD Application Team
bcostm 4:137bb367ba50 5 * @brief This file contains all the description of the MX25R6435F QSPI memory.
bcostm 4:137bb367ba50 6 ******************************************************************************
bcostm 4:137bb367ba50 7 * @attention
bcostm 4:137bb367ba50 8 *
jeromecoutant 7:bfe8272ced90 9 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
jeromecoutant 7:bfe8272ced90 10 * All rights reserved.</center></h2>
bcostm 4:137bb367ba50 11 *
jeromecoutant 7:bfe8272ced90 12 * This software component is licensed by ST under BSD 3-Clause license,
jeromecoutant 7:bfe8272ced90 13 * the "License"; You may not use this file except in compliance with the
jeromecoutant 7:bfe8272ced90 14 * License. You may obtain a copy of the License at:
jeromecoutant 7:bfe8272ced90 15 * opensource.org/licenses/BSD-3-Clause
bcostm 4:137bb367ba50 16 *
bcostm 4:137bb367ba50 17 ******************************************************************************
bcostm 4:137bb367ba50 18 */
bcostm 4:137bb367ba50 19
bcostm 4:137bb367ba50 20 /* Define to prevent recursive inclusion -------------------------------------*/
bcostm 4:137bb367ba50 21 #ifndef __MX25R6435F_H
bcostm 4:137bb367ba50 22 #define __MX25R6435F_H
bcostm 4:137bb367ba50 23
bcostm 4:137bb367ba50 24 #ifdef __cplusplus
bcostm 4:137bb367ba50 25 extern "C" {
bcostm 4:137bb367ba50 26 #endif
bcostm 4:137bb367ba50 27
bcostm 4:137bb367ba50 28 /* Includes ------------------------------------------------------------------*/
bcostm 4:137bb367ba50 29
bcostm 4:137bb367ba50 30 /** @addtogroup BSP
bcostm 4:137bb367ba50 31 * @{
bcostm 4:137bb367ba50 32 */
bcostm 4:137bb367ba50 33
bcostm 4:137bb367ba50 34 /** @addtogroup Components
bcostm 4:137bb367ba50 35 * @{
bcostm 4:137bb367ba50 36 */
bcostm 4:137bb367ba50 37
bcostm 4:137bb367ba50 38 /** @addtogroup mx25r6435f
bcostm 4:137bb367ba50 39 * @{
bcostm 4:137bb367ba50 40 */
bcostm 4:137bb367ba50 41
bcostm 4:137bb367ba50 42 /** @defgroup MX25R6435F_Exported_Types
bcostm 4:137bb367ba50 43 * @{
bcostm 4:137bb367ba50 44 */
bcostm 4:137bb367ba50 45
bcostm 4:137bb367ba50 46 /**
bcostm 4:137bb367ba50 47 * @}
bcostm 4:137bb367ba50 48 */
bcostm 4:137bb367ba50 49
bcostm 4:137bb367ba50 50 /** @defgroup MX25R6435F_Exported_Constants
bcostm 4:137bb367ba50 51 * @{
bcostm 4:137bb367ba50 52 */
bcostm 4:137bb367ba50 53
bcostm 4:137bb367ba50 54 /**
bcostm 4:137bb367ba50 55 * @brief MX25R6435F Configuration
bcostm 4:137bb367ba50 56 */
bcostm 4:137bb367ba50 57 #define MX25R6435F_FLASH_SIZE 0x800000 /* 64 MBits => 8MBytes */
bcostm 4:137bb367ba50 58 #define MX25R6435F_BLOCK_SIZE 0x10000 /* 128 blocks of 64KBytes */
bcostm 4:137bb367ba50 59 #define MX25R6435F_SUBBLOCK_SIZE 0x8000 /* 256 blocks of 32KBytes */
bcostm 4:137bb367ba50 60 #define MX25R6435F_SECTOR_SIZE 0x1000 /* 2048 sectors of 4kBytes */
bcostm 4:137bb367ba50 61 #define MX25R6435F_PAGE_SIZE 0x100 /* 32768 pages of 256 bytes */
bcostm 4:137bb367ba50 62
bcostm 4:137bb367ba50 63 #define MX25R6435F_DUMMY_CYCLES_READ 8
bcostm 4:137bb367ba50 64 #define MX25R6435F_DUMMY_CYCLES_READ_DUAL 4
bcostm 4:137bb367ba50 65 #define MX25R6435F_DUMMY_CYCLES_READ_QUAD 4
bcostm 4:137bb367ba50 66 #define MX25R6435F_DUMMY_CYCLES_2READ 2
bcostm 4:137bb367ba50 67 #define MX25R6435F_DUMMY_CYCLES_4READ 4
bcostm 4:137bb367ba50 68
bcostm 4:137bb367ba50 69 #define MX25R6435F_ALT_BYTES_PE_MODE 0xA5
bcostm 4:137bb367ba50 70 #define MX25R6435F_ALT_BYTES_NO_PE_MODE 0xAA
bcostm 4:137bb367ba50 71
bcostm 4:137bb367ba50 72 #define MX25R6435F_CHIP_ERASE_MAX_TIME 240000
bcostm 4:137bb367ba50 73 #define MX25R6435F_BLOCK_ERASE_MAX_TIME 3500
bcostm 4:137bb367ba50 74 #define MX25R6435F_SUBBLOCK_ERASE_MAX_TIME 3000
bcostm 4:137bb367ba50 75 #define MX25R6435F_SECTOR_ERASE_MAX_TIME 240
bcostm 4:137bb367ba50 76
bcostm 4:137bb367ba50 77 /**
bcostm 4:137bb367ba50 78 * @brief MX25R6435F Commands
bcostm 4:137bb367ba50 79 */
bcostm 4:137bb367ba50 80 /* Read Operations */
bcostm 4:137bb367ba50 81 #define READ_CMD 0x03
bcostm 4:137bb367ba50 82 #define FAST_READ_CMD 0x0B
bcostm 4:137bb367ba50 83 #define DUAL_OUT_READ_CMD 0x3B
bcostm 4:137bb367ba50 84 #define DUAL_INOUT_READ_CMD 0xBB
bcostm 4:137bb367ba50 85 #define QUAD_OUT_READ_CMD 0x6B
bcostm 4:137bb367ba50 86 #define QUAD_INOUT_READ_CMD 0xEB
bcostm 4:137bb367ba50 87
bcostm 4:137bb367ba50 88 /* Program Operations */
bcostm 4:137bb367ba50 89 #define PAGE_PROG_CMD 0x02
bcostm 4:137bb367ba50 90 #define QUAD_PAGE_PROG_CMD 0x38
bcostm 4:137bb367ba50 91
bcostm 4:137bb367ba50 92 /* Erase Operations */
bcostm 4:137bb367ba50 93 #define SECTOR_ERASE_CMD 0x20
bcostm 4:137bb367ba50 94 #define SUBBLOCK_ERASE_CMD 0x52
bcostm 4:137bb367ba50 95 #define BLOCK_ERASE_CMD 0xD8
bcostm 4:137bb367ba50 96 #define CHIP_ERASE_CMD 0x60
bcostm 4:137bb367ba50 97 #define CHIP_ERASE_CMD_2 0xC7
bcostm 4:137bb367ba50 98
bcostm 4:137bb367ba50 99 #define PROG_ERASE_RESUME_CMD 0x7A
bcostm 4:137bb367ba50 100 #define PROG_ERASE_RESUME_CMD_2 0x30
bcostm 4:137bb367ba50 101 #define PROG_ERASE_SUSPEND_CMD 0x75
bcostm 4:137bb367ba50 102 #define PROG_ERASE_SUSPEND_CMD_2 0xB0
bcostm 4:137bb367ba50 103
bcostm 4:137bb367ba50 104 /* Identification Operations */
bcostm 4:137bb367ba50 105 #define READ_ID_CMD 0x9F
bcostm 4:137bb367ba50 106 #define READ_ELECTRONIC_ID_CMD 0xAB
bcostm 4:137bb367ba50 107 #define READ_ELEC_MANUFACTURER_DEVICE_ID_CMD 0x90
bcostm 4:137bb367ba50 108 #define READ_SERIAL_FLASH_DISCO_PARAM_CMD 0x5A
bcostm 4:137bb367ba50 109
bcostm 4:137bb367ba50 110 /* Write Operations */
bcostm 4:137bb367ba50 111 #define WRITE_ENABLE_CMD 0x06
bcostm 4:137bb367ba50 112 #define WRITE_DISABLE_CMD 0x04
bcostm 4:137bb367ba50 113
bcostm 4:137bb367ba50 114 /* Register Operations */
bcostm 4:137bb367ba50 115 #define READ_STATUS_REG_CMD 0x05
bcostm 4:137bb367ba50 116 #define READ_CFG_REG_CMD 0x15
bcostm 4:137bb367ba50 117 #define WRITE_STATUS_CFG_REG_CMD 0x01
bcostm 4:137bb367ba50 118
bcostm 4:137bb367ba50 119 #define READ_SEC_REG_CMD 0x2B
bcostm 4:137bb367ba50 120 #define WRITE_SEC_REG_CMD 0x2F
bcostm 4:137bb367ba50 121
bcostm 4:137bb367ba50 122 /* Power Down Operations */
bcostm 4:137bb367ba50 123 #define DEEP_POWER_DOWN_CMD 0xB9
bcostm 4:137bb367ba50 124
bcostm 4:137bb367ba50 125 /* Burst Operations */
bcostm 4:137bb367ba50 126 #define SET_BURST_LENGTH_CMD 0xC0
bcostm 4:137bb367ba50 127
bcostm 4:137bb367ba50 128 /* One-Time Programmable Operations */
bcostm 4:137bb367ba50 129 #define ENTER_SECURED_OTP_CMD 0xB1
bcostm 4:137bb367ba50 130 #define EXIT_SECURED_OTP_CMD 0xC1
bcostm 4:137bb367ba50 131
bcostm 4:137bb367ba50 132 /* No Operation */
bcostm 4:137bb367ba50 133 #define NO_OPERATION_CMD 0x00
bcostm 4:137bb367ba50 134
bcostm 4:137bb367ba50 135 /* Reset Operations */
bcostm 4:137bb367ba50 136 #define RESET_ENABLE_CMD 0x66
bcostm 4:137bb367ba50 137 #define RESET_MEMORY_CMD 0x99
bcostm 4:137bb367ba50 138 #define RELEASE_READ_ENHANCED_CMD 0xFF
bcostm 4:137bb367ba50 139
bcostm 4:137bb367ba50 140 /**
bcostm 4:137bb367ba50 141 * @brief MX25R6435F Registers
bcostm 4:137bb367ba50 142 */
bcostm 4:137bb367ba50 143 /* Status Register */
bcostm 4:137bb367ba50 144 #define MX25R6435F_SR_WIP ((uint8_t)0x01) /*!< Write in progress */
bcostm 4:137bb367ba50 145 #define MX25R6435F_SR_WEL ((uint8_t)0x02) /*!< Write enable latch */
bcostm 4:137bb367ba50 146 #define MX25R6435F_SR_BP ((uint8_t)0x3C) /*!< Block protect */
bcostm 4:137bb367ba50 147 #define MX25R6435F_SR_QE ((uint8_t)0x40) /*!< Quad enable */
bcostm 4:137bb367ba50 148 #define MX25R6435F_SR_SRWD ((uint8_t)0x80) /*!< Status register write disable */
bcostm 4:137bb367ba50 149
bcostm 4:137bb367ba50 150 /* Configuration Register 1 */
bcostm 4:137bb367ba50 151 #define MX25R6435F_CR1_TB ((uint8_t)0x08) /*!< Top / bottom */
bcostm 4:137bb367ba50 152
bcostm 4:137bb367ba50 153 /* Configuration Register 2 */
bcostm 4:137bb367ba50 154 #define MX25R6435F_CR2_LH_SWITCH ((uint8_t)0x02) /*!< Low power / high performance switch */
bcostm 4:137bb367ba50 155
bcostm 4:137bb367ba50 156 /* Security Register */
bcostm 4:137bb367ba50 157 #define MX25R6435F_SECR_SOI ((uint8_t)0x01) /*!< Secured OTP indicator */
bcostm 4:137bb367ba50 158 #define MX25R6435F_SECR_LDSO ((uint8_t)0x02) /*!< Lock-down secured OTP */
bcostm 4:137bb367ba50 159 #define MX25R6435F_SECR_PSB ((uint8_t)0x04) /*!< Program suspend bit */
bcostm 4:137bb367ba50 160 #define MX25R6435F_SECR_ESB ((uint8_t)0x08) /*!< Erase suspend bit */
bcostm 4:137bb367ba50 161 #define MX25R6435F_SECR_P_FAIL ((uint8_t)0x20) /*!< Program fail flag */
bcostm 4:137bb367ba50 162 #define MX25R6435F_SECR_E_FAIL ((uint8_t)0x40) /*!< Erase fail flag */
bcostm 4:137bb367ba50 163
bcostm 4:137bb367ba50 164 /**
bcostm 4:137bb367ba50 165 * @}
bcostm 4:137bb367ba50 166 */
bcostm 4:137bb367ba50 167
bcostm 4:137bb367ba50 168 /** @defgroup MX25R6435F_Exported_Functions
bcostm 4:137bb367ba50 169 * @{
bcostm 4:137bb367ba50 170 */
bcostm 4:137bb367ba50 171 /**
bcostm 4:137bb367ba50 172 * @}
bcostm 4:137bb367ba50 173 */
bcostm 4:137bb367ba50 174
bcostm 4:137bb367ba50 175 /**
bcostm 4:137bb367ba50 176 * @}
bcostm 4:137bb367ba50 177 */
bcostm 4:137bb367ba50 178
bcostm 4:137bb367ba50 179 /**
bcostm 4:137bb367ba50 180 * @}
bcostm 4:137bb367ba50 181 */
bcostm 4:137bb367ba50 182
bcostm 4:137bb367ba50 183 /**
bcostm 4:137bb367ba50 184 * @}
bcostm 4:137bb367ba50 185 */
bcostm 4:137bb367ba50 186
bcostm 4:137bb367ba50 187 #ifdef __cplusplus
bcostm 4:137bb367ba50 188 }
bcostm 4:137bb367ba50 189 #endif
bcostm 4:137bb367ba50 190
bcostm 4:137bb367ba50 191 #endif /* __MX25R6435F_H */
bcostm 4:137bb367ba50 192
bcostm 4:137bb367ba50 193 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/