mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-28 07:23:43 +02:00
Check during SPI bitbang init that SPI bitbang master configuration is correct
Corresponding to flashrom svn r1092. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
This commit is contained in:
parent
62175a094d
commit
17e23ac979
@ -54,6 +54,16 @@ static int bitbang_spi_get_miso(void)
|
|||||||
|
|
||||||
int bitbang_spi_init(const struct bitbang_spi_master *master, int halfperiod)
|
int bitbang_spi_init(const struct bitbang_spi_master *master, int halfperiod)
|
||||||
{
|
{
|
||||||
|
/* BITBANG_SPI_INVALID is 0, so if someone forgot to initialize ->type,
|
||||||
|
* we catch it here. Same goes for missing initialization of bitbanging
|
||||||
|
* functions.
|
||||||
|
*/
|
||||||
|
if (!master || master->type == BITBANG_SPI_INVALID || !master->set_cs ||
|
||||||
|
!master->set_sck || !master->set_mosi || !master->get_miso) {
|
||||||
|
msg_perr("Incomplete bitbanging SPI master setting! Please "
|
||||||
|
"report a bug at flashrom@flashrom.org\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
bitbang_spi_master = master;
|
bitbang_spi_master = master;
|
||||||
bitbang_spi_half_period = halfperiod;
|
bitbang_spi_half_period = halfperiod;
|
||||||
|
|
||||||
|
2
flash.h
2
flash.h
@ -128,7 +128,7 @@ void chip_readn(uint8_t *buf, const chipaddr addr, size_t len);
|
|||||||
void programmer_delay(int usecs);
|
void programmer_delay(int usecs);
|
||||||
|
|
||||||
enum bitbang_spi_master_type {
|
enum bitbang_spi_master_type {
|
||||||
BITBANG_SPI_DUMMY /* remove as soon as there is a real entry */
|
BITBANG_SPI_INVALID = 0, /* This must always be the first entry. */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct bitbang_spi_master {
|
struct bitbang_spi_master {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user