OpenOCD
nor/driver.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  flash_driver
 Provides the implementation-independent structure that defines all of the callbacks required by OpenOCD flash drivers. More...
 

Macros

#define __FLASH_BANK_COMMAND(name)    COMMAND_HELPER(name, struct flash_bank *bank)
 
#define FLASH_BANK_COMMAND_HANDLER(name)    static __FLASH_BANK_COMMAND(name)
 

Functions

const struct flash_driverflash_driver_find_by_name (const char *name)
 Find a NOR flash driver by its name. More...
 

Variables

const struct flash_driver aduc702x_flash
 
const struct flash_driver aducm360_flash
 
const struct flash_driver ambiqmicro_flash
 
const struct flash_driver at91sam3_flash
 
const struct flash_driver at91sam4_flash
 
const struct flash_driver at91sam4l_flash
 
const struct flash_driver at91sam7_flash
 
const struct flash_driver at91samd_flash
 
const struct flash_driver ath79_flash
 
const struct flash_driver atsame5_flash
 
const struct flash_driver atsamv_flash
 
const struct flash_driver avr_flash
 
const struct flash_driver bluenrgx_flash
 
const struct flash_driver cc26xx_flash
 
const struct flash_driver cc3220sf_flash
 
const struct flash_driver cfi_flash
 
const struct flash_driver dsp5680xx_flash
 
const struct flash_driver efm32_flash
 
const struct flash_driver em357_flash
 
const struct flash_driver eneispif_flash
 
const struct flash_driver esirisc_flash
 
const struct flash_driver faux_flash
 
const struct flash_driver fespi_flash
 
const struct flash_driver fm3_flash
 
const struct flash_driver fm4_flash
 
const struct flash_driver jtagspi_flash
 
const struct flash_driver kinetis_flash
 
const struct flash_driver kinetis_ke_flash
 
const struct flash_driver lpc2000_flash
 
const struct flash_driver lpc288x_flash
 
const struct flash_driver lpc2900_flash
 
const struct flash_driver lpcspifi_flash
 
const struct flash_driver max32xxx_flash
 
const struct flash_driver mdr_flash
 
const struct flash_driver mrvlqspi_flash
 
const struct flash_driver msp432_flash
 
const struct flash_driver niietcm4_flash
 
const struct flash_driver npcx_flash
 
const struct flash_driver nrf51_flash
 
const struct flash_driver nrf5_flash
 
const struct flash_driver numicro_flash
 
const struct flash_driver ocl_flash
 
const struct flash_driver pic32mx_flash
 
const struct flash_driver psoc4_flash
 
const struct flash_driver psoc5lp_eeprom_flash
 
const struct flash_driver psoc5lp_flash
 
const struct flash_driver psoc5lp_nvl_flash
 
const struct flash_driver psoc6_flash
 
const struct flash_driver qn908x_flash
 
const struct flash_driver renesas_rpchf_flash
 
const struct flash_driver rp2040_flash
 
const struct flash_driver rsl10_flash
 
const struct flash_driver sh_qspi_flash
 
const struct flash_driver sim3x_flash
 
const struct flash_driver stellaris_flash
 
const struct flash_driver stm32f1x_flash
 
const struct flash_driver stm32f2x_flash
 
const struct flash_driver stm32h7x_flash
 
const struct flash_driver stm32l4x_flash
 
const struct flash_driver stm32lx_flash
 
const struct flash_driver stmqspi_flash
 
const struct flash_driver stmsmi_flash
 
const struct flash_driver str7x_flash
 
const struct flash_driver str9x_flash
 
const struct flash_driver str9xpec_flash
 
const struct flash_driver swm050_flash
 
const struct flash_driver tms470_flash
 
const struct flash_driver virtual_flash
 
const struct flash_driver w600_flash
 
const struct flash_driver xcf_flash
 
const struct flash_driver xmc1xxx_flash
 
const struct flash_driver xmc4xxx_flash
 

Macro Definition Documentation

◆ __FLASH_BANK_COMMAND

#define __FLASH_BANK_COMMAND (   name)     COMMAND_HELPER(name, struct flash_bank *bank)

Definition at line 16 of file nor/driver.h.

◆ FLASH_BANK_COMMAND_HANDLER

#define FLASH_BANK_COMMAND_HANDLER (   name)     static __FLASH_BANK_COMMAND(name)

Definition at line 230 of file nor/driver.h.

Function Documentation

◆ flash_driver_find_by_name()

const struct flash_driver* flash_driver_find_by_name ( const char *  name)

Find a NOR flash driver by its name.

Parameters
nameThe name of the requested driver.
Returns
The flash_driver called name, or NULL if not found.

Definition at line 92 of file drivers.c.

References flash_drivers, name, and NULL.

Referenced by COMMAND_HANDLER().

Variable Documentation

◆ aduc702x_flash

const struct flash_driver aduc702x_flash
extern

Definition at line 347 of file aduc702x.c.

◆ aducm360_flash

const struct flash_driver aducm360_flash
extern

Definition at line 523 of file aducm360.c.

◆ ambiqmicro_flash

const struct flash_driver ambiqmicro_flash
extern

Definition at line 791 of file ambiqmicro.c.

◆ at91sam3_flash

const struct flash_driver at91sam3_flash
extern

Definition at line 3635 of file at91sam3.c.

Referenced by COMMAND_HANDLER().

◆ at91sam4_flash

const struct flash_driver at91sam4_flash
extern

Definition at line 3183 of file at91sam4.c.

Referenced by COMMAND_HANDLER().

◆ at91sam4l_flash

const struct flash_driver at91sam4l_flash
extern

Definition at line 622 of file at91sam4l.c.

◆ at91sam7_flash

const struct flash_driver at91sam7_flash
extern

Definition at line 1030 of file at91sam7.c.

◆ at91samd_flash

const struct flash_driver at91samd_flash
extern

Definition at line 1184 of file at91samd.c.

◆ ath79_flash

const struct flash_driver ath79_flash
extern

Definition at line 866 of file ath79.c.

◆ atsame5_flash

const struct flash_driver atsame5_flash
extern

Definition at line 863 of file atsame5.c.

◆ atsamv_flash

const struct flash_driver atsamv_flash
extern

Definition at line 580 of file atsamv.c.

◆ avr_flash

const struct flash_driver avr_flash
extern

Definition at line 421 of file avrf.c.

◆ bluenrgx_flash

const struct flash_driver bluenrgx_flash
extern

Definition at line 444 of file bluenrg-x.c.

◆ cc26xx_flash

const struct flash_driver cc26xx_flash
extern

Definition at line 502 of file cc26xx.c.

◆ cc3220sf_flash

const struct flash_driver cc3220sf_flash
extern

Definition at line 474 of file cc3220sf.c.

◆ cfi_flash

const struct flash_driver cfi_flash
extern

Definition at line 3030 of file cfi.c.

◆ dsp5680xx_flash

const struct flash_driver dsp5680xx_flash
extern

Definition at line 188 of file dsp5680xx_flash.c.

◆ efm32_flash

const struct flash_driver efm32_flash
extern
Initial value:
= {
.name = "efm32",
.flash_bank_command = efm32x_flash_bank_command,
.erase = efm32x_erase,
.protect = efm32x_protect,
.write = efm32x_write,
.probe = efm32x_probe,
.auto_probe = efm32x_auto_probe,
.erase_check = default_flash_blank_check,
.protect_check = efm32x_protect_check,
.info = get_efm32x_info,
.free_driver_priv = efm32x_free_driver_priv,
}
static int efm32x_erase(struct flash_bank *bank, unsigned int first, unsigned int last)
Definition: efm32.c:499
static int efm32x_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last)
Definition: efm32.c:704
static int efm32x_auto_probe(struct flash_bank *bank)
Definition: efm32.c:1101
static int efm32x_protect_check(struct flash_bank *bank)
Definition: efm32.c:1113
static const struct command_registration efm32x_command_handlers[]
Definition: efm32.c:1200
static void efm32x_free_driver_priv(struct flash_bank *bank)
Remove flash structure corresponding to this bank, if and only if it's not used by any others.
Definition: efm32.c:374
static int efm32x_probe(struct flash_bank *bank)
Definition: efm32.c:1048
static int efm32x_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
Definition: efm32.c:1038
static int get_efm32x_info(struct flash_bank *bank, struct command_invocation *cmd)
Definition: efm32.c:1137
int default_flash_blank_check(struct flash_bank *bank)
Provides default erased-bank check handling.
int default_flash_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
Provides default read implementation for flash memory.

Definition at line 1153 of file efm32.c.

Referenced by FLASH_BANK_COMMAND_HANDLER().

◆ em357_flash

const struct flash_driver em357_flash
extern

Definition at line 856 of file em357.c.

◆ eneispif_flash

const struct flash_driver eneispif_flash
extern

Definition at line 402 of file eneispif.c.

◆ esirisc_flash

const struct flash_driver esirisc_flash
extern

Definition at line 513 of file esirisc_flash.c.

◆ faux_flash

const struct flash_driver faux_flash
extern

Definition at line 90 of file faux.c.

◆ fespi_flash

const struct flash_driver fespi_flash
extern

Definition at line 834 of file fespi.c.

◆ fm3_flash

const struct flash_driver fm3_flash
extern

Definition at line 933 of file fm3.c.

◆ fm4_flash

const struct flash_driver fm4_flash
extern

Definition at line 655 of file fm4.c.

◆ jtagspi_flash

const struct flash_driver jtagspi_flash
extern

Definition at line 776 of file jtagspi.c.

◆ kinetis_flash

const struct flash_driver kinetis_flash
extern
Initial value:
= {
.name = "kinetis",
.flash_bank_command = kinetis_flash_bank_command,
.erase = kinetis_erase,
.protect = kinetis_protect,
.write = kinetis_write,
.probe = kinetis_probe,
.auto_probe = kinetis_auto_probe,
.erase_check = kinetis_blank_check,
.protect_check = kinetis_protect_check,
.info = kinetis_info,
.free_driver_priv = kinetis_free_driver_priv,
}
static int kinetis_protect_check(struct flash_bank *bank)
Definition: kinetis.c:1415
static int kinetis_info(struct flash_bank *bank, struct command_invocation *cmd)
Definition: kinetis.c:3050
static int kinetis_blank_check(struct flash_bank *bank)
Definition: kinetis.c:3069
static int kinetis_probe(struct flash_bank *bank)
Definition: kinetis.c:2893
static int kinetis_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last)
Definition: kinetis.c:1392
static int kinetis_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
Definition: kinetis.c:1978
static int kinetis_auto_probe(struct flash_bank *bank)
Definition: kinetis.c:3040
static void kinetis_free_driver_priv(struct flash_bank *bank)
Definition: kinetis.c:962
static int kinetis_erase(struct flash_bank *bank, unsigned int first, unsigned int last)
Definition: kinetis.c:1692
static const struct command_registration kinetis_command_handler[]
Definition: kinetis.c:3422

Definition at line 3331 of file kinetis.c.

Referenced by kinetis_create_missing_banks(), and kinetis_get_chip().

◆ kinetis_ke_flash

const struct flash_driver kinetis_ke_flash
extern

Definition at line 1151 of file kinetis_ke.c.

◆ lpc2000_flash

const struct flash_driver lpc2000_flash
extern

Definition at line 1554 of file lpc2000.c.

◆ lpc288x_flash

const struct flash_driver lpc288x_flash
extern

Definition at line 367 of file lpc288x.c.

◆ lpc2900_flash

const struct flash_driver lpc2900_flash
extern

Definition at line 1567 of file lpc2900.c.

◆ lpcspifi_flash

const struct flash_driver lpcspifi_flash
extern

Definition at line 918 of file lpcspifi.c.

◆ max32xxx_flash

const struct flash_driver max32xxx_flash
extern

Definition at line 882 of file max32xxx.c.

◆ mdr_flash

const struct flash_driver mdr_flash
extern

Definition at line 588 of file mdr.c.

◆ mrvlqspi_flash

const struct flash_driver mrvlqspi_flash
extern

Definition at line 922 of file mrvlqspi.c.

◆ msp432_flash

const struct flash_driver msp432_flash
extern

Definition at line 1036 of file msp432.c.

◆ niietcm4_flash

const struct flash_driver niietcm4_flash
extern

Definition at line 1709 of file niietcm4.c.

◆ npcx_flash

const struct flash_driver npcx_flash
extern

Definition at line 518 of file npcx.c.

◆ nrf51_flash

const struct flash_driver nrf51_flash
extern
Initial value:
= {
.name = "nrf51",
.commands = nrf5_command_handlers,
.flash_bank_command = nrf5_flash_bank_command,
.info = nrf5_info,
.erase = nrf5_erase,
.protect = nrf5_protect,
.write = nrf5_write,
.probe = nrf5_probe,
.auto_probe = nrf5_auto_probe,
.erase_check = default_flash_blank_check,
.protect_check = nrf5_protect_check,
.free_driver_priv = nrf5_free_driver_priv,
}
static int nrf5_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last)
Definition: nrf5.c:517
static int nrf5_auto_probe(struct flash_bank *bank)
Definition: nrf5.c:828
static int nrf5_probe(struct flash_bank *bank)
Definition: nrf5.c:711
static const struct command_registration nrf5_command_handlers[]
Definition: nrf5.c:1238
static int nrf5_protect_check(struct flash_bank *bank)
Definition: nrf5.c:433
static int nrf5_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
Definition: nrf5.c:983
static int nrf5_info(struct flash_bank *bank, struct command_invocation *cmd)
Definition: nrf5.c:592
static int nrf5_erase(struct flash_bank *bank, unsigned int first, unsigned int last)
Definition: nrf5.c:1045
static void nrf5_free_driver_priv(struct flash_bank *bank)
Definition: nrf5.c:1092

Definition at line 1175 of file nrf5.c.

Referenced by FLASH_BANK_COMMAND_HANDLER(), and nrf5_get_chip().

◆ nrf5_flash

const struct flash_driver nrf5_flash
extern

Definition at line 1175 of file nrf5.c.

Referenced by nrf5_get_chip().

◆ numicro_flash

const struct flash_driver numicro_flash
extern

Definition at line 1192 of file numicro.c.

◆ ocl_flash

const struct flash_driver ocl_flash
extern

Definition at line 296 of file ocl.c.

◆ pic32mx_flash

const struct flash_driver pic32mx_flash
extern

Definition at line 862 of file pic32mx.c.

◆ psoc4_flash

const struct flash_driver psoc4_flash
extern

Definition at line 871 of file psoc4.c.

◆ psoc5lp_eeprom_flash

const struct flash_driver psoc5lp_eeprom_flash
extern

Definition at line 981 of file psoc5lp.c.

◆ psoc5lp_flash

const struct flash_driver psoc5lp_flash
extern

Definition at line 1469 of file psoc5lp.c.

◆ psoc5lp_nvl_flash

const struct flash_driver psoc5lp_nvl_flash
extern

Definition at line 799 of file psoc5lp.c.

◆ psoc6_flash

const struct flash_driver psoc6_flash
extern

Definition at line 977 of file psoc6.c.

◆ qn908x_flash

const struct flash_driver qn908x_flash
extern

Definition at line 1037 of file qn908x.c.

◆ renesas_rpchf_flash

const struct flash_driver renesas_rpchf_flash
extern

Definition at line 611 of file renesas_rpchf.c.

◆ rp2040_flash

const struct flash_driver rp2040_flash
extern

Definition at line 511 of file rp2040.c.

◆ rsl10_flash

const struct flash_driver rsl10_flash
extern
Initial value:
= {
.name = "rsl10",
.flash_bank_command = rsl10_flash_bank_command,
.erase = rsl10_erase,
.protect = rsl10_protect,
.write = rsl10_write,
.probe = rsl10_probe,
.auto_probe = rsl10_auto_probe,
.erase_check = default_flash_blank_check,
.protect_check = rsl10_protect_check,
.free_driver_priv = rsl10_free_driver_priv,
}
static void rsl10_free_driver_priv(struct flash_bank *bank)
Definition: rsl10.c:584
static int rsl10_protect_check(struct flash_bank *bank)
Definition: rsl10.c:156
static int rsl10_auto_probe(struct flash_bank *bank)
Definition: rsl10.c:332
static const struct command_registration rsl10_command_handlers[]
Definition: rsl10.c:821
static int rsl10_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last)
Definition: rsl10.c:194
static int rsl10_erase(struct flash_bank *bank, unsigned int first, unsigned int last)
Definition: rsl10.c:565
static int rsl10_probe(struct flash_bank *bank)
Definition: rsl10.c:274
static int rsl10_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
Definition: rsl10.c:554

Definition at line 781 of file rsl10.c.

Referenced by rsl10_get_chip().

◆ sh_qspi_flash

const struct flash_driver sh_qspi_flash
extern

Definition at line 874 of file sh_qspi.c.

◆ sim3x_flash

const struct flash_driver sim3x_flash
extern

Definition at line 977 of file sim3x.c.

◆ stellaris_flash

const struct flash_driver stellaris_flash
extern

Definition at line 1326 of file stellaris.c.

◆ stm32f1x_flash

const struct flash_driver stm32f1x_flash
extern

Definition at line 1651 of file stm32f1x.c.

◆ stm32f2x_flash

const struct flash_driver stm32f2x_flash
extern

Definition at line 1699 of file stm32f2x.c.

◆ stm32h7x_flash

const struct flash_driver stm32h7x_flash
extern

Definition at line 1123 of file stm32h7x.c.

◆ stm32l4x_flash

const struct flash_driver stm32l4x_flash
extern

Definition at line 2515 of file stm32l4x.c.

◆ stm32lx_flash

const struct flash_driver stm32lx_flash
extern

Definition at line 874 of file stm32lx.c.

◆ stmqspi_flash

const struct flash_driver stmqspi_flash
extern

Definition at line 2382 of file stmqspi.c.

◆ stmsmi_flash

const struct flash_driver stmsmi_flash
extern

Definition at line 623 of file stmsmi.c.

◆ str7x_flash

const struct flash_driver str7x_flash
extern

Definition at line 703 of file str7x.c.

◆ str9x_flash

const struct flash_driver str9x_flash
extern

Definition at line 591 of file str9x.c.

◆ str9xpec_flash

const struct flash_driver str9xpec_flash
extern

Definition at line 1065 of file str9xpec.c.

◆ swm050_flash

const struct flash_driver swm050_flash
extern

Definition at line 146 of file swm050.c.

◆ tms470_flash

const struct flash_driver tms470_flash
extern

Definition at line 1133 of file tms470.c.

◆ virtual_flash

const struct flash_driver virtual_flash
extern

Definition at line 193 of file virtual.c.

◆ w600_flash

const struct flash_driver w600_flash
extern

Definition at line 354 of file w600.c.

◆ xcf_flash

const struct flash_driver xcf_flash
extern

Definition at line 823 of file xcf.c.

◆ xmc1xxx_flash

const struct flash_driver xmc1xxx_flash
extern

Definition at line 508 of file xmc1xxx.c.

◆ xmc4xxx_flash

const struct flash_driver xmc4xxx_flash
extern

Definition at line 1278 of file xmc4xxx.c.