diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2023-09-22 09:01:00 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-10-11 13:41:33 +0000 |
commit | 155a21974ab720f8b9f1bc832d65b203f2f14ac7 (patch) | |
tree | b759f0f0ff3defd973c62c3402b2bc95a5217240 /src/southbridge/intel/lynxpoint | |
parent | 44a48ce7a46c36df69f7b2cf3552bf10fa5f61b6 (diff) |
sb/intel/common/spi: Fix I/O alignment
On ICH9 the SPI control register is not naturally aligned
and a word write might be split into smaller naturally aligned
I/O transactions.
As the first byte starts a new SPI transfer, replace the existing
word write with two byte writes and write the second byte first.
This is required for platforms that do not support unaligned
word I/O instructions and would start a SPI transfer while the
second byte hasn't reached the control register yet.
TEST: Virtual SPI controller on qemu 8.0 doesn't start a transfer
early.
Change-Id: Id05b1a080911b71b94ef781c6e26d98165f02f67
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78090
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Diffstat (limited to 'src/southbridge/intel/lynxpoint')
0 files changed, 0 insertions, 0 deletions