FD32M0P Microcontroller SDK
Loading...
Searching...
No Matches

Data Structures

struct  flash_timing_regs_cfg_t
 Struct for flash timing and mode of operations. More...

Macros

#define FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 48MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 32MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 24MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 16MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 8MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_3V
 Default Values for flash(High Speed) at 4MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 48MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 32MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 24MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 16MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 8MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_1P8V
 Default Values for flash(High Speed) at 4MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_48MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 48MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_32MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 32MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_24MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 24MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_16MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 16MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_8MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 8MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_4MHZ_LOW_POWER_3V
 Default Values for flash(Low Power) at 4MHz and 3.0 < VDD < 3.6.
#define FLASH_TIMING_CFG_48MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 48MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_32MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 32MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_24MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 24MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_16MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 48MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_8MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 16MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_4MHZ_LOW_POWER_1P8V
 Default Values for flash(Low Power) at 8MHz and 1.8 < VDD < 3.0.
#define FLASH_TIMING_CFG_DEF_HIGH_SPEED_1P8V
 Default Values for flash(Low Power) at 4MHz and 1.8 < VDD < 3.0.

Enumerations

enum  flash_setting_cfg_e {
  FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_3V = 0 , FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_3V = 1 , FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_3V = 2 , FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_3V = 3 ,
  FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_3V = 4 , FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_3V = 5 , FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_1P8V = 6 , FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_1P8V = 7 ,
  FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_1P8V = 8 , FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_1P8V = 9 , FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_1P8V = 10 , FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_1P8V = 11 ,
  FLASH_SETTING_CFG_48MHZ_LOW_POWER_3V = 12 , FLASH_SETTING_CFG_32MHZ_LOW_POWER_3V = 13 , FLASH_SETTING_CFG_24MHZ_LOW_POWER_3V = 14 , FLASH_SETTING_CFG_16MHZ_LOW_POWER_3V = 15 ,
  FLASH_SETTING_CFG_8MHZ_LOW_POWER_3V = 16 , FLASH_SETTING_CFG_4MHZ_LOW_POWER_3V = 17 , FLASH_SETTING_CFG_48MHZ_LOW_POWER_1P8V = 18 , FLASH_SETTING_CFG_32MHZ_LOW_POWER_1P8V = 19 ,
  FLASH_SETTING_CFG_24MHZ_LOW_POWER_1P8V = 20 , FLASH_SETTING_CFG_16MHZ_LOW_POWER_1P8V = 21 , FLASH_SETTING_CFG_8MHZ_LOW_POWER_1P8V = 22 , FLASH_SETTING_CFG_4MHZ_LOW_POWER_1P8V = 23 ,
  FLASH_SETTING_CFG_DEF_HIGH_SPEED_1P8V = 24
}
 Enum for flash configuration setting involving clk, mode of operation and input VDD to the flash. More...

Functions

void flash_config (FLASH_REGS_s *FLASH_REGS, flash_setting_cfg_e flash_setting_cfg)
 This function updates flash configuration based on the settings.
void flash_factory_restore (FLASH_REGS_s *FLASH_REGS)
 This function resets the flash to the factory setting (High speed, 1.8 < VDD < 3.0)

Detailed Description


Data Structure Documentation

◆ flash_timing_regs_cfg_t

struct flash_timing_regs_cfg_t

Struct for flash timing and mode of operations.

Data Fields
uint16_t tcsctrls
uint16_t tras

cs to read / wr_setup time

uint16_t eeprom_tras

read to address setup time

uint16_t trc

read to address setup time @eeprom

uint16_t eeprom_trc

read cycle time

uint16_t tadhr

read cycle time @eeprom

uint16_t tads

address hold time to read

uint16_t twpw

address / data setup time

uint16_t tpwcsh

wr pulse width

uint16_t twrc

vdd hold time after cs fails

uint32_t twes

write recovery time

uint16_t tbr

busy endurance specification

uint8_t high_speed

busy reset time for cs

Macro Definition Documentation

◆ FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1, \
.tcsctrls = 4, \
.tras = 3, \
.eeprom_tras = 11, \
.trc = 2, \
.eeprom_trc = 11, \
.tadhr = 0, \
.tads = 0, \
.twpw = 4, \
.tpwcsh = 4, \
.twrc = 4, \
.twes = 143963, \
.tbr = 4 \
}

Default Values for flash(High Speed) at 48MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 3,\
.tras = 2,\
.eeprom_tras = 7,\
.trc = 1,\
.eeprom_trc = 7,\
.tadhr = 0,\
.tads = 0,\
.twpw = 3,\
.tpwcsh = 3,\
.twrc = 3,\
.twes = 95999,\
.tbr = 3\
}

Default Values for flash(High Speed) at 32MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 2,\
.tras = 2,\
.eeprom_tras = 5,\
.trc = 1,\
.eeprom_trc = 5,\
.tadhr = 0,\
.tads = 0,\
.twpw = 2,\
.tpwcsh = 2,\
.twrc = 2,\
.twes = 71942,\
.tbr = 2\
}

Default Values for flash(High Speed) at 24MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 1,\
.tras = 1,\
.eeprom_tras = 3,\
.trc = 0,\
.eeprom_trc = 3,\
.tadhr = 0,\
.tads = 0,\
.twpw = 1,\
.tpwcsh = 1,\
.twrc = 1,\
.twes = 47999,\
.tbr = 1\
}

Default Values for flash(High Speed) at 16MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 0,\
.tras = 1,\
.eeprom_tras = 1,\
.trc = 0,\
.eeprom_trc = 1,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 23999,\
.tbr = 0\
}

Default Values for flash(High Speed) at 8MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_3V

#define FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_3V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 0,\
.tras = 1,\
.eeprom_tras = 0,\
.trc = 0,\
.eeprom_trc = 0,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 11999,\
.tbr = 0\
}

Default Values for flash(High Speed) at 4MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 4,\
.tras = 12,\
.eeprom_tras = 95,\
.trc = 11,\
.eeprom_trc = 95,\
.tadhr = 0,\
.tads = 0,\
.twpw = 4,\
.tpwcsh = 4,\
.twrc = 4,\
.twes = 143953,\
.tbr = 4\
}

Default Values for flash(High Speed) at 48MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 3,\
.tras = 8,\
.eeprom_tras = 63,\
.trc = 7,\
.eeprom_trc = 63,\
.tadhr = 0,\
.tads = 0,\
.twpw = 3,\
.tpwcsh = 3,\
.twrc = 3,\
.twes = 95999,\
.tbr = 3\
}

Default Values for flash(High Speed) at 32MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 2,\
.tras = 6,\
.eeprom_tras = 47,\
.trc = 5,\
.eeprom_trc = 47,\
.tadhr = 0,\
.tads = 0,\
.twpw = 2,\
.tpwcsh = 2,\
.twrc = 2,\
.twes = 71942,\
.tbr = 2\
}

Default Values for flash(High Speed) at 24MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 1,\
.tras = 4,\
.eeprom_tras = 31,\
.trc = 3,\
.eeprom_trc = 31,\
.tadhr = 0,\
.tads = 0,\
.twpw = 1,\
.tpwcsh = 1,\
.twrc = 1,\
.twes = 47999,\
.tbr = 1\
}

Default Values for flash(High Speed) at 16MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 0,\
.tras = 2,\
.eeprom_tras = 15,\
.trc = 1,\
.eeprom_trc = 15,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 23999,\
.tbr = 0\
}

Default Values for flash(High Speed) at 8MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 0,\
.tras = 1,\
.eeprom_tras = 7,\
.trc = 0,\
.eeprom_trc = 7,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 11999,\
.tbr = 0\
}

Default Values for flash(High Speed) at 4MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_48MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_48MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 4,\
.tras = 5,\
.eeprom_tras = 11,\
.trc = 5,\
.eeprom_trc = 11,\
.tadhr = 0,\
.tads = 0,\
.twpw = 4,\
.tpwcsh = 4,\
.twrc = 4,\
.twes = 143953,\
.tbr = 4\
}

Default Values for flash(Low Power) at 48MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_32MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_32MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 3,\
.tras = 4,\
.eeprom_tras = 7,\
.trc = 3,\
.eeprom_trc = 7,\
.tadhr = 0,\
.tads = 0,\
.twpw = 3,\
.tpwcsh = 3,\
.twrc = 3,\
.twes = 95999,\
.tbr = 3\
}

Default Values for flash(Low Power) at 32MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_24MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_24MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 2,\
.tras = 4,\
.eeprom_tras = 5,\
.trc = 3,\
.eeprom_trc = 5,\
.tadhr = 0,\
.tads = 0,\
.twpw = 2,\
.tpwcsh = 2,\
.twrc = 2,\
.twes = 71942,\
.tbr = 2\
}

Default Values for flash(Low Power) at 24MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_16MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_16MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 1,\
.tras = 2,\
.eeprom_tras = 3,\
.trc = 1,\
.eeprom_trc = 3,\
.tadhr = 0,\
.tads = 0,\
.twpw = 1,\
.tpwcsh = 1,\
.twrc = 1,\
.twes = 47999,\
.tbr = 1\
}

Default Values for flash(Low Power) at 16MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_8MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_8MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 0,\
.tras = 1,\
.eeprom_tras = 1,\
.trc = 0,\
.eeprom_trc = 1,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 23999,\
.tbr = 0\
}

Default Values for flash(Low Power) at 8MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_4MHZ_LOW_POWER_3V

#define FLASH_TIMING_CFG_4MHZ_LOW_POWER_3V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 0,\
.tras = 1,\
.eeprom_tras = 0,\
.trc = 0,\
.eeprom_trc = 0,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 11999,\
.tbr = 0\
}

Default Values for flash(Low Power) at 4MHz and 3.0 < VDD < 3.6.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_48MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_48MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 4,\
.tras = 24,\
.eeprom_tras = 95,\
.trc = 23,\
.eeprom_trc = 95,\
.tadhr = 0,\
.tads = 0,\
.twpw = 4,\
.tpwcsh = 4,\
.twrc = 4,\
.twes = 143953,\
.tbr = 4\
}

Default Values for flash(Low Power) at 48MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_32MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_32MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 3,\
.tras = 16,\
.eeprom_tras = 63,\
.trc = 15,\
.eeprom_trc = 63,\
.tadhr = 0,\
.tads = 0,\
.twpw = 3,\
.tpwcsh = 3,\
.twrc = 3,\
.twes = 95999,\
.tbr = 3\
}

Default Values for flash(Low Power) at 32MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_24MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_24MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 2,\
.tras = 12,\
.eeprom_tras = 47,\
.trc = 11,\
.eeprom_trc = 47,\
.tadhr = 0,\
.tads = 0,\
.twpw = 2,\
.tpwcsh = 2,\
.twrc = 2,\
.twes = 71942,\
.tbr = 2\
}

Default Values for flash(Low Power) at 24MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_16MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_16MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 1,\
.tras = 8,\
.eeprom_tras = 31,\
.trc = 7,\
.eeprom_trc = 31,\
.tadhr = 0,\
.tads = 0,\
.twpw = 1,\
.tpwcsh = 1,\
.twrc = 1,\
.twes = 47999,\
.tbr = 1\
}

Default Values for flash(Low Power) at 48MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_8MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_8MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 0,\
.tras = 4,\
.eeprom_tras = 15,\
.trc = 3,\
.eeprom_trc = 15,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 23999,\
.tbr = 0\
}

Default Values for flash(Low Power) at 16MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_4MHZ_LOW_POWER_1P8V

#define FLASH_TIMING_CFG_4MHZ_LOW_POWER_1P8V
Value:
{ \
.high_speed = 0,\
.tcsctrls = 0,\
.tras = 2,\
.eeprom_tras = 7,\
.trc = 1,\
.eeprom_trc = 7,\
.tadhr = 0,\
.tads = 0,\
.twpw = 0,\
.tpwcsh = 0,\
.twrc = 0,\
.twes = 11999,\
.tbr = 0\
}

Default Values for flash(Low Power) at 8MHz and 1.8 < VDD < 3.0.

Referenced by flash_config().

◆ FLASH_TIMING_CFG_DEF_HIGH_SPEED_1P8V

#define FLASH_TIMING_CFG_DEF_HIGH_SPEED_1P8V
Value:
{ \
.high_speed = 1,\
.tcsctrls = 3,\
.tras = 9,\
.eeprom_tras = 67,\
.trc = 9,\
.eeprom_trc = 67,\
.tadhr = 0,\
.tads = 0,\
.twpw = 10,\
.tpwcsh = 3,\
.twrc = 3,\
.twes = 13333,\
.tbr = 3\
}

Default Values for flash(Low Power) at 4MHz and 1.8 < VDD < 3.0.

Referenced by flash_config(), and flash_factory_restore().

Enumeration Type Documentation

◆ flash_setting_cfg_e

Enum for flash configuration setting involving clk, mode of operation and input VDD to the flash.

Enumerator
FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_3V 
FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_1P8V 
FLASH_SETTING_CFG_48MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_32MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_24MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_16MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_8MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_4MHZ_LOW_POWER_3V 
FLASH_SETTING_CFG_48MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_32MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_24MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_16MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_8MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_4MHZ_LOW_POWER_1P8V 
FLASH_SETTING_CFG_DEF_HIGH_SPEED_1P8V 

Function Documentation

◆ flash_config()

void flash_config ( FLASH_REGS_s * FLASH_REGS,
flash_setting_cfg_e flash_setting_cfg )

This function updates flash configuration based on the settings.

Parameters
flash_regs: pointer to flash register space
flash_settings_cfg: settings with which flash needs to be updated with
Return values
void

References FLASH_REGS_s::CTRL, flash_timing_regs_cfg_t::eeprom_tras, flash_timing_regs_cfg_t::eeprom_trc, FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_16MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_16MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_16MHZ_LOW_POWER_3V, FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_24MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_24MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_24MHZ_LOW_POWER_3V, FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_32MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_32MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_32MHZ_LOW_POWER_3V, FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_48MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_48MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_48MHZ_LOW_POWER_3V, FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_4MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_4MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_4MHZ_LOW_POWER_3V, FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_1P8V, FLASH_SETTING_CFG_8MHZ_HIGH_SPEED_3V, FLASH_SETTING_CFG_8MHZ_LOW_POWER_1P8V, FLASH_SETTING_CFG_8MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_16MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_16MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_16MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_24MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_24MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_24MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_32MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_32MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_32MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_48MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_48MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_48MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_4MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_4MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_4MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_1P8V, FLASH_TIMING_CFG_8MHZ_HIGH_SPEED_3V, FLASH_TIMING_CFG_8MHZ_LOW_POWER_1P8V, FLASH_TIMING_CFG_8MHZ_LOW_POWER_3V, FLASH_TIMING_CFG_DEF_HIGH_SPEED_1P8V, flash_timing_regs_cfg_t::high_speed, flash_timing_regs_cfg_t::tadhr, flash_timing_regs_cfg_t::tads, flash_timing_regs_cfg_t::tbr, flash_timing_regs_cfg_t::tcsctrls, FLASH_REGS_s::TIME_CTRL, FLASH_REGS_s::TIME_CTRL_1, FLASH_REGS_s::TIME_CTRL_2, FLASH_REGS_s::TIME_UPTD, flash_timing_regs_cfg_t::tpwcsh, flash_timing_regs_cfg_t::tras, flash_timing_regs_cfg_t::trc, flash_timing_regs_cfg_t::twes, flash_timing_regs_cfg_t::twpw, and flash_timing_regs_cfg_t::twrc.

◆ flash_factory_restore()