From 3e9dbea1ce9c94a879deccc48bd72c60eb4b3454 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Wed, 13 May 2009 11:40:08 +0000 Subject: There are various reasons why a SPI command can fail Among others, I have seen the following problems: - The SPI opcode is not supported by the controller. ICH-style controllers exhibit this if SPI config is locked down. - The address in in a prohibited area. This can happen on ICH for any access (BBAR) and for writes in chipset write protected areas. - There is no SPI controller. Introduce separate error codes for unsupported opcode and prohibited address. Add the ability to adjust REMS and RES addresses to the minium supported read address with the help of spi_get_valid_read_addr(). That function needs to call SPI controller specific functions like reading BBAR on ICH. Corresponding to flashrom svn r500. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Uwe Hermann --- ichspi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ichspi.c') diff --git a/ichspi.c b/ichspi.c index ea80795..a3bb184 100644 --- a/ichspi.c +++ b/ichspi.c @@ -767,7 +767,7 @@ int ich_spi_command(unsigned int writecnt, unsigned int readcnt, /* unknown / not programmed command */ if (opcode_index == -1) { printf_debug("Invalid OPCODE 0x%02x\n", cmd); - return 1; + return SPI_INVALID_OPCODE; } opcode = &(curopcodes->opcode[opcode_index]); -- cgit v1.1