soc/amd/common: Make biosram functions more readable
Modify the 16 and 32 bit BIOS RAM access functions that had been
originally moved from stoneyridge. This was suggested in the
review of
69486cac7
: Create AcpiMmio functionality from stoneyridge
Change-Id: I5b491da6f263cbab2b549301e16a7e19896f2428
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32932
Reviewed-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
committed by
Martin Roth
parent
08462ce590
commit
5d2e1d8023
@@ -142,11 +142,7 @@ uint8_t biosram_read8(uint8_t reg)
|
|||||||
|
|
||||||
uint16_t biosram_read16(uint8_t reg) /* Must be 1 byte at a time */
|
uint16_t biosram_read16(uint8_t reg) /* Must be 1 byte at a time */
|
||||||
{
|
{
|
||||||
int i;
|
return (biosram_read8(reg + sizeof(uint8_t)) << 8 | biosram_read8(reg));
|
||||||
uint16_t value = 0;
|
|
||||||
for (i = sizeof(value) - 1 ; i >= 0 ; i--)
|
|
||||||
value = (value << 8) | biosram_read8(reg + i);
|
|
||||||
return value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t biosram_read32(uint8_t reg)
|
uint32_t biosram_read32(uint8_t reg)
|
||||||
@@ -162,20 +158,16 @@ void biosram_write8(uint8_t reg, uint8_t value)
|
|||||||
|
|
||||||
void biosram_write16(uint8_t reg, uint16_t value)
|
void biosram_write16(uint8_t reg, uint16_t value)
|
||||||
{
|
{
|
||||||
int i;
|
biosram_write8(reg, value & 0xff);
|
||||||
for (i = 0 ; i < sizeof(value) ; i++) {
|
value >>= 8;
|
||||||
biosram_write8(reg + i, value & 0xff);
|
biosram_write8(reg + sizeof(uint8_t), value & 0xff);
|
||||||
value >>= 8;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void biosram_write32(uint8_t reg, uint32_t value)
|
void biosram_write32(uint8_t reg, uint32_t value)
|
||||||
{
|
{
|
||||||
int i;
|
biosram_write16(reg, value & 0xffff);
|
||||||
for (i = 0 ; i < sizeof(value) ; i++) {
|
value >>= 16;
|
||||||
biosram_write8(reg + i, value & 0xff);
|
biosram_write16(reg + sizeof(uint16_t), value & 0xffff);
|
||||||
value >>= 8;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cmosram read/write - access registers at 0xfed80600 - currently unused */
|
/* cmosram read/write - access registers at 0xfed80600 - currently unused */
|
||||||
|
Reference in New Issue
Block a user