1*0d6140beSAndroid Build Coastguard Worker /* 2*0d6140beSAndroid Build Coastguard Worker * This file is part of the flashrom project. 3*0d6140beSAndroid Build Coastguard Worker * 4*0d6140beSAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 5*0d6140beSAndroid Build Coastguard Worker * it under the terms of the GNU General Public License as published by 6*0d6140beSAndroid Build Coastguard Worker * the Free Software Foundation; either version 2 of the License, or 7*0d6140beSAndroid Build Coastguard Worker * (at your option) any later version. 8*0d6140beSAndroid Build Coastguard Worker * 9*0d6140beSAndroid Build Coastguard Worker * This program is distributed in the hope that it will be useful, 10*0d6140beSAndroid Build Coastguard Worker * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*0d6140beSAndroid Build Coastguard Worker * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12*0d6140beSAndroid Build Coastguard Worker * GNU General Public License for more details. 13*0d6140beSAndroid Build Coastguard Worker */ 14*0d6140beSAndroid Build Coastguard Worker 15*0d6140beSAndroid Build Coastguard Worker #include "programmer.h" 16*0d6140beSAndroid Build Coastguard Worker 17*0d6140beSAndroid Build Coastguard Worker const struct programmer_entry *const programmer_table[] = { 18*0d6140beSAndroid Build Coastguard Worker 19*0d6140beSAndroid Build Coastguard Worker #if CONFIG_INTERNAL == 1 20*0d6140beSAndroid Build Coastguard Worker &programmer_internal, 21*0d6140beSAndroid Build Coastguard Worker #endif 22*0d6140beSAndroid Build Coastguard Worker 23*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DUMMY == 1 24*0d6140beSAndroid Build Coastguard Worker &programmer_dummy, 25*0d6140beSAndroid Build Coastguard Worker #endif 26*0d6140beSAndroid Build Coastguard Worker 27*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NIC3COM == 1 28*0d6140beSAndroid Build Coastguard Worker &programmer_nic3com, 29*0d6140beSAndroid Build Coastguard Worker #endif 30*0d6140beSAndroid Build Coastguard Worker 31*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NICREALTEK == 1 32*0d6140beSAndroid Build Coastguard Worker &programmer_nicrealtek, 33*0d6140beSAndroid Build Coastguard Worker #endif 34*0d6140beSAndroid Build Coastguard Worker 35*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NICNATSEMI == 1 36*0d6140beSAndroid Build Coastguard Worker &programmer_nicnatsemi, 37*0d6140beSAndroid Build Coastguard Worker #endif 38*0d6140beSAndroid Build Coastguard Worker 39*0d6140beSAndroid Build Coastguard Worker #if CONFIG_GFXNVIDIA == 1 40*0d6140beSAndroid Build Coastguard Worker &programmer_gfxnvidia, 41*0d6140beSAndroid Build Coastguard Worker #endif 42*0d6140beSAndroid Build Coastguard Worker 43*0d6140beSAndroid Build Coastguard Worker #if CONFIG_RAIDEN_DEBUG_SPI == 1 44*0d6140beSAndroid Build Coastguard Worker &programmer_raiden_debug_spi, 45*0d6140beSAndroid Build Coastguard Worker #endif 46*0d6140beSAndroid Build Coastguard Worker 47*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DRKAISER == 1 48*0d6140beSAndroid Build Coastguard Worker &programmer_drkaiser, 49*0d6140beSAndroid Build Coastguard Worker #endif 50*0d6140beSAndroid Build Coastguard Worker 51*0d6140beSAndroid Build Coastguard Worker #if CONFIG_SATASII == 1 52*0d6140beSAndroid Build Coastguard Worker &programmer_satasii, 53*0d6140beSAndroid Build Coastguard Worker #endif 54*0d6140beSAndroid Build Coastguard Worker 55*0d6140beSAndroid Build Coastguard Worker #if CONFIG_ASM106X == 1 56*0d6140beSAndroid Build Coastguard Worker &programmer_asm106x, 57*0d6140beSAndroid Build Coastguard Worker #endif 58*0d6140beSAndroid Build Coastguard Worker 59*0d6140beSAndroid Build Coastguard Worker #if CONFIG_ATAHPT == 1 60*0d6140beSAndroid Build Coastguard Worker &programmer_atahpt, 61*0d6140beSAndroid Build Coastguard Worker #endif 62*0d6140beSAndroid Build Coastguard Worker 63*0d6140beSAndroid Build Coastguard Worker #if CONFIG_ATAVIA == 1 64*0d6140beSAndroid Build Coastguard Worker &programmer_atavia, 65*0d6140beSAndroid Build Coastguard Worker #endif 66*0d6140beSAndroid Build Coastguard Worker 67*0d6140beSAndroid Build Coastguard Worker #if CONFIG_ATAPROMISE == 1 68*0d6140beSAndroid Build Coastguard Worker &programmer_atapromise, 69*0d6140beSAndroid Build Coastguard Worker #endif 70*0d6140beSAndroid Build Coastguard Worker 71*0d6140beSAndroid Build Coastguard Worker #if CONFIG_IT8212 == 1 72*0d6140beSAndroid Build Coastguard Worker &programmer_it8212, 73*0d6140beSAndroid Build Coastguard Worker #endif 74*0d6140beSAndroid Build Coastguard Worker 75*0d6140beSAndroid Build Coastguard Worker #if CONFIG_FT2232_SPI == 1 76*0d6140beSAndroid Build Coastguard Worker &programmer_ft2232_spi, 77*0d6140beSAndroid Build Coastguard Worker #endif 78*0d6140beSAndroid Build Coastguard Worker 79*0d6140beSAndroid Build Coastguard Worker #if CONFIG_SERPROG == 1 80*0d6140beSAndroid Build Coastguard Worker &programmer_serprog, 81*0d6140beSAndroid Build Coastguard Worker #endif 82*0d6140beSAndroid Build Coastguard Worker 83*0d6140beSAndroid Build Coastguard Worker #if CONFIG_BUSPIRATE_SPI == 1 84*0d6140beSAndroid Build Coastguard Worker &programmer_buspirate_spi, 85*0d6140beSAndroid Build Coastguard Worker #endif 86*0d6140beSAndroid Build Coastguard Worker 87*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DEDIPROG == 1 88*0d6140beSAndroid Build Coastguard Worker &programmer_dediprog, 89*0d6140beSAndroid Build Coastguard Worker #endif 90*0d6140beSAndroid Build Coastguard Worker 91*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DEVELOPERBOX_SPI == 1 92*0d6140beSAndroid Build Coastguard Worker &programmer_developerbox, 93*0d6140beSAndroid Build Coastguard Worker #endif 94*0d6140beSAndroid Build Coastguard Worker 95*0d6140beSAndroid Build Coastguard Worker #if CONFIG_RAYER_SPI == 1 96*0d6140beSAndroid Build Coastguard Worker &programmer_rayer_spi, 97*0d6140beSAndroid Build Coastguard Worker #endif 98*0d6140beSAndroid Build Coastguard Worker 99*0d6140beSAndroid Build Coastguard Worker #if CONFIG_PONY_SPI == 1 100*0d6140beSAndroid Build Coastguard Worker &programmer_pony_spi, 101*0d6140beSAndroid Build Coastguard Worker #endif 102*0d6140beSAndroid Build Coastguard Worker 103*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NICINTEL == 1 104*0d6140beSAndroid Build Coastguard Worker &programmer_nicintel, 105*0d6140beSAndroid Build Coastguard Worker #endif 106*0d6140beSAndroid Build Coastguard Worker 107*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NICINTEL_SPI == 1 108*0d6140beSAndroid Build Coastguard Worker &programmer_nicintel_spi, 109*0d6140beSAndroid Build Coastguard Worker #endif 110*0d6140beSAndroid Build Coastguard Worker 111*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NICINTEL_EEPROM == 1 112*0d6140beSAndroid Build Coastguard Worker &programmer_nicintel_eeprom, 113*0d6140beSAndroid Build Coastguard Worker #endif 114*0d6140beSAndroid Build Coastguard Worker 115*0d6140beSAndroid Build Coastguard Worker #if CONFIG_OGP_SPI == 1 116*0d6140beSAndroid Build Coastguard Worker &programmer_ogp_spi, 117*0d6140beSAndroid Build Coastguard Worker #endif 118*0d6140beSAndroid Build Coastguard Worker 119*0d6140beSAndroid Build Coastguard Worker #if CONFIG_SATAMV == 1 120*0d6140beSAndroid Build Coastguard Worker &programmer_satamv, 121*0d6140beSAndroid Build Coastguard Worker #endif 122*0d6140beSAndroid Build Coastguard Worker 123*0d6140beSAndroid Build Coastguard Worker #if CONFIG_LINUX_MTD == 1 124*0d6140beSAndroid Build Coastguard Worker &programmer_linux_mtd, 125*0d6140beSAndroid Build Coastguard Worker #endif 126*0d6140beSAndroid Build Coastguard Worker 127*0d6140beSAndroid Build Coastguard Worker #if CONFIG_LINUX_SPI == 1 128*0d6140beSAndroid Build Coastguard Worker &programmer_linux_spi, 129*0d6140beSAndroid Build Coastguard Worker #endif 130*0d6140beSAndroid Build Coastguard Worker 131*0d6140beSAndroid Build Coastguard Worker #if CONFIG_PARADE_LSPCON == 1 132*0d6140beSAndroid Build Coastguard Worker &programmer_parade_lspcon, 133*0d6140beSAndroid Build Coastguard Worker #endif 134*0d6140beSAndroid Build Coastguard Worker 135*0d6140beSAndroid Build Coastguard Worker #if CONFIG_MEDIATEK_I2C_SPI == 1 136*0d6140beSAndroid Build Coastguard Worker &programmer_mediatek_i2c_spi, 137*0d6140beSAndroid Build Coastguard Worker #endif 138*0d6140beSAndroid Build Coastguard Worker 139*0d6140beSAndroid Build Coastguard Worker #if CONFIG_REALTEK_MST_I2C_SPI == 1 140*0d6140beSAndroid Build Coastguard Worker &programmer_realtek_mst_i2c_spi, 141*0d6140beSAndroid Build Coastguard Worker #endif 142*0d6140beSAndroid Build Coastguard Worker 143*0d6140beSAndroid Build Coastguard Worker #if CONFIG_USBBLASTER_SPI == 1 144*0d6140beSAndroid Build Coastguard Worker &programmer_usbblaster_spi, 145*0d6140beSAndroid Build Coastguard Worker #endif 146*0d6140beSAndroid Build Coastguard Worker 147*0d6140beSAndroid Build Coastguard Worker #if CONFIG_MSTARDDC_SPI == 1 148*0d6140beSAndroid Build Coastguard Worker &programmer_mstarddc_spi, 149*0d6140beSAndroid Build Coastguard Worker #endif 150*0d6140beSAndroid Build Coastguard Worker 151*0d6140beSAndroid Build Coastguard Worker #if CONFIG_PICKIT2_SPI == 1 152*0d6140beSAndroid Build Coastguard Worker &programmer_pickit2_spi, 153*0d6140beSAndroid Build Coastguard Worker #endif 154*0d6140beSAndroid Build Coastguard Worker 155*0d6140beSAndroid Build Coastguard Worker #if CONFIG_CH341A_SPI == 1 156*0d6140beSAndroid Build Coastguard Worker &programmer_ch341a_spi, 157*0d6140beSAndroid Build Coastguard Worker #endif 158*0d6140beSAndroid Build Coastguard Worker 159*0d6140beSAndroid Build Coastguard Worker #if CONFIG_CH347_SPI == 1 160*0d6140beSAndroid Build Coastguard Worker &programmer_ch347_spi, 161*0d6140beSAndroid Build Coastguard Worker #endif 162*0d6140beSAndroid Build Coastguard Worker 163*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DIGILENT_SPI == 1 164*0d6140beSAndroid Build Coastguard Worker &programmer_digilent_spi, 165*0d6140beSAndroid Build Coastguard Worker #endif 166*0d6140beSAndroid Build Coastguard Worker 167*0d6140beSAndroid Build Coastguard Worker #if CONFIG_JLINK_SPI == 1 168*0d6140beSAndroid Build Coastguard Worker &programmer_jlink_spi, 169*0d6140beSAndroid Build Coastguard Worker #endif 170*0d6140beSAndroid Build Coastguard Worker 171*0d6140beSAndroid Build Coastguard Worker #if CONFIG_NI845X_SPI == 1 172*0d6140beSAndroid Build Coastguard Worker &programmer_ni845x_spi, 173*0d6140beSAndroid Build Coastguard Worker #endif 174*0d6140beSAndroid Build Coastguard Worker 175*0d6140beSAndroid Build Coastguard Worker #if CONFIG_STLINKV3_SPI == 1 176*0d6140beSAndroid Build Coastguard Worker &programmer_stlinkv3_spi, 177*0d6140beSAndroid Build Coastguard Worker #endif 178*0d6140beSAndroid Build Coastguard Worker 179*0d6140beSAndroid Build Coastguard Worker #if CONFIG_CROS_EC == 1 180*0d6140beSAndroid Build Coastguard Worker &programmer_cros_ec, 181*0d6140beSAndroid Build Coastguard Worker #endif 182*0d6140beSAndroid Build Coastguard Worker 183*0d6140beSAndroid Build Coastguard Worker #if CONFIG_DIRTYJTAG_SPI == 1 184*0d6140beSAndroid Build Coastguard Worker &programmer_dirtyjtag_spi, 185*0d6140beSAndroid Build Coastguard Worker #endif 186*0d6140beSAndroid Build Coastguard Worker 187*0d6140beSAndroid Build Coastguard Worker }; 188*0d6140beSAndroid Build Coastguard Worker 189*0d6140beSAndroid Build Coastguard Worker const size_t programmer_table_size = ARRAY_SIZE(programmer_table); 190