mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 07:02:34 +02:00
ichspi.c: preserve reserved bits in address registers
Corresponding to flashrom svn r1362. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
parent
bd649e450c
commit
10b3e22870
13
ichspi.c
13
ichspi.c
@ -659,10 +659,11 @@ static int ich7_run_opcode(OPCODE op, uint32_t offset,
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Programm Offset in Flash into FADDR */
|
||||
REGWRITE32(ICH7_REG_SPIA, (offset & 0x00FFFFFF)); /* SPI addresses are 24 BIT only */
|
||||
/* Program offset in flash into SPIA while preserving reserved bits. */
|
||||
temp32 = REGREAD32(ICH7_REG_SPIA) & ~0x00FFFFFF;
|
||||
REGWRITE32(ICH7_REG_SPIA, (offset & 0x00FFFFFF) | temp32);
|
||||
|
||||
/* Program data into FDATA0 to N */
|
||||
/* Program data into SPID0 to N */
|
||||
if (write_cmd && (datalength != 0)) {
|
||||
temp32 = 0;
|
||||
for (a = 0; a < datalength; a++) {
|
||||
@ -803,8 +804,10 @@ static int ich9_run_opcode(OPCODE op, uint32_t offset,
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Programm Offset in Flash into FADDR */
|
||||
REGWRITE32(ICH9_REG_FADDR, (offset & 0x00FFFFFF)); /* SPI addresses are 24 BIT only */
|
||||
/* Program offset in flash into FADDR while preserve the reserved bits
|
||||
* and clearing the 25. address bit which is only useable in hwseq. */
|
||||
temp32 = REGREAD32(ICH9_REG_FADDR) & ~0x01FFFFFF;
|
||||
REGWRITE32(ICH9_REG_FADDR, (offset & 0x00FFFFFF) | temp32);
|
||||
|
||||
/* Program data into FDATA0 to N */
|
||||
if (write_cmd && (datalength != 0)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user