mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 22:21:16 +02:00
Dediprog SF100 support
Reverse engineered from USB logs. I never touched that programmer nor did I ever see the associated software. Disabled by default until it is complete. The driver needs to be hooked up to the SPI core before it will do anything besides init and diagnostics. I successfully reverse engineered all commands, but some are still somewhat magic. Logs from "flashrom -p dediprog -V" are appreciated. Probe and read should work, erase/write is expected to explode. The programmer will set voltage to 0 on exit. Thanks a lot to Stefan Reinauer and Patrick Georgi for providing USB logs and for testing the result. Corresponding to flashrom svn r870. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de>
This commit is contained in:
12
flash.h
12
flash.h
@ -66,6 +66,9 @@ enum programmer {
|
||||
#endif
|
||||
#if BUSPIRATE_SPI_SUPPORT == 1
|
||||
PROGRAMMER_BUSPIRATESPI,
|
||||
#endif
|
||||
#if DEDIPROG_SUPPORT == 1
|
||||
PROGRAMMER_DEDIPROG,
|
||||
#endif
|
||||
PROGRAMMER_INVALID /* This must always be the last entry. */
|
||||
};
|
||||
@ -470,6 +473,12 @@ int buspirate_spi_shutdown(void);
|
||||
int buspirate_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr);
|
||||
int buspirate_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||
|
||||
/* dediprog.c */
|
||||
int dediprog_init(void);
|
||||
int dediprog_shutdown(void);
|
||||
int dediprog_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr);
|
||||
int dediprog_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len);
|
||||
|
||||
/* flashrom.c */
|
||||
extern enum chipbustype buses_supported;
|
||||
struct decode_sizes {
|
||||
@ -552,6 +561,9 @@ enum spi_controller {
|
||||
#endif
|
||||
#if BUSPIRATE_SPI_SUPPORT == 1
|
||||
SPI_CONTROLLER_BUSPIRATE,
|
||||
#endif
|
||||
#if DEDIPROG_SUPPORT == 1
|
||||
SPI_CONTROLLER_DEDIPROG,
|
||||
#endif
|
||||
SPI_CONTROLLER_INVALID /* This must always be the last entry. */
|
||||
};
|
||||
|
Reference in New Issue
Block a user