ST25FL1: Changes after review of ST24FL1 clocking

This commit is contained in:
Gregory Nutt 2015-08-29 18:54:20 -06:00
parent d6b0a8fe72
commit ed750f3600
3 changed files with 51 additions and 8 deletions

2
arch

@ -1 +1 @@
Subproject commit 7678d3b41e8c697ac6d59154ed48135f12a14208
Subproject commit 9068b5bf82084407894c61ed835a5c56d81e1cf6

View File

@ -397,9 +397,30 @@ config ST25FL1_QSPIMODE
int "ST25FL1 QuadSPI Mode"
default 0
config ST25FL1_QSPIFREQUENCY
config ST25FL1_QSPI_FREQUENCY
int "ST25FL1 QuadSPI Frequency"
default 20000000
default 108000000
---help---
Per data sheet:
Normal Read (Serial):
50 MHz clock rate (-40°C to +85°C/105°C)
45 MHz clock rate (-40°C to +125°C)
Fast Read (Serial):
108 MHz clock rate (-40°C to +85°C/105°C)
97 MHz clock rate (-40°C to +125°C)
Dual Read:
108 MHz clock rate (-40°C to +85°C/105°C)
97 MHz clock rate (-40°C to +125°C)
Quad Read:
108 MHz clock rate (-40°C to +85°C/105°C)
97 MHz clock rate for S25FL164K (-40°C to +125°C)
- Clock frequency for all SPI commands except for Read Data
command (0x03) and Fast Read command (0x0b): 108 MHz
- Clock frequency for Read Data command (0x03): 50 MHz
- Clock frequency for all Fast Read commands SIO and MIO: 108 MHz
In this implementation, only "Quad" reads are performed.
config ST25FL1_SECTOR512
bool "Simulate 512 byte Erase Blocks"

View File

@ -60,16 +60,38 @@
* Pre-processor Definitions
************************************************************************************/
/* Configuration ********************************************************************/
/* QuadSPI Mode */
/* QuadSPI Mode. Per data sheet, either Mode 0 or Mode 3 may be used. */
#ifndef CONFIG_ST25FL1_QSPIMODE
# define CONFIG_ST25FL1_QSPIMODE QSPIDEV_MODE0
#endif
/* QuadSPI Frequency. May be up to 25MHz. */
/* QuadSPI Frequency per data sheet::
*
* Normal Read (Serial):
* 50 MHz clock rate (-40°C to +85°C/105°C)
* 45 MHz clock rate (-40°C to +125°C)
* Fast Read (Serial):
* 108 MHz clock rate (-40°C to +85°C/105°C)
* 97 MHz clock rate (-40°C to +125°C)
* Dual Read:
* 108 MHz clock rate (-40°C to +85°C/105°C)
* 97 MHz clock rate (-40°C to +125°C)
* Quad Read:
* 108 MHz clock rate (-40°C to +85°C/105°C)
* 97 MHz clock rate for S25FL164K (-40°C to +125°C)
*
* Table 5.8:
* - Clock frequency for all SPI commands except for Read Data
* command (0x03) and Fast Read command (0x0b): 108 MHz
* - Clock frequency for Read Data command (0x03): 50 MHz
* - Clock frequency for all Fast Read commands SIO and MIO: 108 MHz
*
* In this implementation, only "Quad" reads are performed.
*/
#ifndef CONFIG_ST25FL1_QSPIFREQUENCY
# define CONFIG_ST25FL1_QSPIFREQUENCY 20000000
#ifndef CONFIG_ST25FL1_QSPI_FREQUENCY
# define CONFIG_ST25FL1_QSPI_FREQUENCY 108000000
#endif
/* ST25FL1 Commands *****************************************************************/
@ -394,7 +416,7 @@ static void st25fl1_lock(FAR struct qspi_dev_s *qspi)
QSPI_SETMODE(qspi, CONFIG_ST25FL1_QSPIMODE);
QSPI_SETBITS(qspi, 8);
(void)QSPI_SETFREQUENCY(qspi, CONFIG_ST25FL1_QSPIFREQUENCY);
(void)QSPI_SETFREQUENCY(qspi, CONFIG_ST25FL1_QSPI_FREQUENCY);
}
/************************************************************************************