From 2f17ac01adf28edb90a5ec8f446be1be76971b5c Mon Sep 17 00:00:00 2001 From: Girisha Dengi Date: Thu, 12 Oct 2023 21:27:23 +0800 Subject: [PATCH] fix(intel): read QSPI bank buffer data in bytes Read QSPI bank buffer data in bytes to avoid inter-bank read failures. Signed-off-by: Girisha Dengi Change-Id: If768d7cdd362694df3f3c86c959afad01a523f21 --- plat/intel/soc/common/drivers/qspi/cadence_qspi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/plat/intel/soc/common/drivers/qspi/cadence_qspi.c b/plat/intel/soc/common/drivers/qspi/cadence_qspi.c index da8a8bdeb..6d8825fbc 100644 --- a/plat/intel/soc/common/drivers/qspi/cadence_qspi.c +++ b/plat/intel/soc/common/drivers/qspi/cadence_qspi.c @@ -634,8 +634,9 @@ int cad_qspi_indirect_page_bound_write(uint32_t offset, int cad_qspi_read_bank(uint8_t *buffer, uint32_t offset, uint32_t size) { int status; - uint32_t read_count = 0, *read_data; + uint32_t read_count = 0; int level = 1, count = 0, i; + uint8_t *read_data; status = cad_qspi_indirect_read_start_bank(offset, size); @@ -647,11 +648,11 @@ int cad_qspi_read_bank(uint8_t *buffer, uint32_t offset, uint32_t size) level = CAD_QSPI_SRAMFILL_INDRDPART( mmio_read_32(CAD_QSPI_OFFSET + CAD_QSPI_SRAMFILL)); - read_data = (uint32_t *)(buffer + read_count); + read_data = (uint8_t *)(buffer + read_count); for (i = 0; i < level; ++i) - *read_data++ = mmio_read_32(CAD_QSPIDATA_OFST); + *read_data++ = mmio_read_8(CAD_QSPIDATA_OFST); - read_count += level * sizeof(uint32_t); + read_count += level * sizeof(uint8_t); count++; } while (level > 0); }