amd/stoneyridge: Convert BiosRam access to MMIO
Change the BiosRam read/write functions to use the fixed MMIO range at 0xfed80500. This is faster than two accesses per byte when using I/O 0xcd4/0xcd5. Note that BiosRam may only be accessed byte-by-byte. It does not decode normally. Change-Id: I9d8baf2bd5d9d48a87bddfb6a0b86e292a8fdf7d Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com> Reviewed-on: https://review.coreboot.org/23436 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
parent
7539b8c391
commit
50cc53d0a9
|
@ -36,6 +36,7 @@
|
|||
#define AMD_SB_ACPI_MMIO_ADDR 0xfed80000
|
||||
#define APU_SMI_BASE 0xfed80200
|
||||
#define PM_MMIO_BASE 0xfed80300
|
||||
#define BIOSRAM_MMIO_BASE 0xfed80500
|
||||
#define XHCI_ACPI_PM_MMIO_BASE 0xfed81c00
|
||||
#define APU_UART0_BASE 0xfedc6000
|
||||
#define APU_UART1_BASE 0xfedc8000
|
||||
|
|
|
@ -78,16 +78,15 @@ void smi_write8(uint8_t offset, uint8_t value)
|
|||
|
||||
uint8_t biosram_read8(uint8_t offset)
|
||||
{
|
||||
outb(offset, BIOSRAM_INDEX);
|
||||
return inb(BIOSRAM_DATA);
|
||||
return read8((void *)(BIOSRAM_MMIO_BASE + offset));
|
||||
}
|
||||
|
||||
void biosram_write8(uint8_t offset, uint8_t value)
|
||||
{
|
||||
outb(offset, BIOSRAM_INDEX);
|
||||
outb(value, BIOSRAM_DATA);
|
||||
write8((void *)(BIOSRAM_MMIO_BASE + offset), value);
|
||||
}
|
||||
|
||||
/* BiosRam may only be accessed a byte at a time */
|
||||
uint16_t biosram_read16(uint8_t offset)
|
||||
{
|
||||
int i;
|
||||
|
|
Loading…
Reference in New Issue