1 /***************************************************************************
2 * Copyright (C) 2009 Zachary T Welch <zw@superlucidity.net> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
16 ***************************************************************************/
23 extern struct flash_driver aduc702x_flash
;
24 extern struct flash_driver aducm360_flash
;
25 extern struct flash_driver ambiqmicro_flash
;
26 extern struct flash_driver at91sam3_flash
;
27 extern struct flash_driver at91sam4_flash
;
28 extern struct flash_driver at91sam4l_flash
;
29 extern struct flash_driver at91sam7_flash
;
30 extern struct flash_driver at91samd_flash
;
31 extern struct flash_driver atsamv_flash
;
32 extern struct flash_driver avr_flash
;
33 extern struct flash_driver cfi_flash
;
34 extern struct flash_driver dsp5680xx_flash
;
35 extern struct flash_driver efm32_flash
;
36 extern struct flash_driver em357_flash
;
37 extern struct flash_driver faux_flash
;
38 extern struct flash_driver fm3_flash
;
39 extern struct flash_driver fm4_flash
;
40 extern struct flash_driver jtagspi_flash
;
41 extern struct flash_driver kinetis_flash
;
42 extern struct flash_driver kinetis_ke_flash
;
43 extern struct flash_driver lpc2000_flash
;
44 extern struct flash_driver lpc288x_flash
;
45 extern struct flash_driver lpc2900_flash
;
46 extern struct flash_driver lpcspifi_flash
;
47 extern struct flash_driver mdr_flash
;
48 extern struct flash_driver mrvlqspi_flash
;
49 extern struct flash_driver niietcm4_flash
;
50 extern struct flash_driver nrf51_flash
;
51 extern struct flash_driver numicro_flash
;
52 extern struct flash_driver ocl_flash
;
53 extern struct flash_driver pic32mx_flash
;
54 extern struct flash_driver psoc4_flash
;
55 extern struct flash_driver sim3x_flash
;
56 extern struct flash_driver stellaris_flash
;
57 extern struct flash_driver stm32f1x_flash
;
58 extern struct flash_driver stm32f2x_flash
;
59 extern struct flash_driver stm32lx_flash
;
60 extern struct flash_driver stm32l4x_flash
;
61 extern struct flash_driver stmsmi_flash
;
62 extern struct flash_driver str7x_flash
;
63 extern struct flash_driver str9x_flash
;
64 extern struct flash_driver str9xpec_flash
;
65 extern struct flash_driver tms470_flash
;
66 extern struct flash_driver virtual_flash
;
67 extern struct flash_driver xmc1xxx_flash
;
68 extern struct flash_driver xmc4xxx_flash
;
71 * The list of built-in flash drivers.
72 * @todo Make this dynamically extendable with loadable modules.
74 static struct flash_driver
*flash_drivers
[] = {
124 struct flash_driver
*flash_driver_find_by_name(const char *name
)
126 for (unsigned i
= 0; flash_drivers
[i
]; i
++) {
127 if (strcmp(name
, flash_drivers
[i
]->name
) == 0)
128 return flash_drivers
[i
];