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:
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 */
|
||||||
|
|
Loading…
Reference in New Issue