Shiyu Sun has uploaded this change for review.

View Change

realtek_mst_i2c_spi.c: Update PAGE_SIZE and fix write

Update the PAGE_SIZE to 128 as fix r/w on different devices,
also fix the write page mapping for it.

BUG=b:147402710
TEST=build and run flashrom to read&write on multiple devices

Signed-off-by: Shiyu Sun <sshiyu@chromium.org>
Change-Id: Ifcdd3548519eb37440e67fcf6206279cff05b159
---
M Makefile
M realtek_mst_i2c_spi.c
2 files changed, 5 insertions(+), 4 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/40/48840/1
diff --git a/Makefile b/Makefile
index 0498624..a79bb82 100644
--- a/Makefile
+++ b/Makefile
@@ -737,10 +737,10 @@
CONFIG_STLINKV3_SPI ?= yes

# Disables LSPCON support until the i2c helper supports multiple systems.
-CONFIG_LSPCON_I2C_SPI ?= no
+CONFIG_LSPCON_I2C_SPI ?= yes

# Disables REALTEK_MST support until the i2c helper supports multiple systems.
-CONFIG_REALTEK_MST_I2C_SPI ?= no
+CONFIG_REALTEK_MST_I2C_SPI ?= yes

# Always enable dummy tracing for now.
CONFIG_DUMMY ?= yes
diff --git a/realtek_mst_i2c_spi.c b/realtek_mst_i2c_spi.c
index 80caf86..dabec70 100644
--- a/realtek_mst_i2c_spi.c
+++ b/realtek_mst_i2c_spi.c
@@ -28,7 +28,7 @@

#define MCU_I2C_SLAVE_ADDR 0x94
#define REGISTER_ADDRESS (0x94 >> 1)
-#define PAGE_SIZE 256
+#define PAGE_SIZE 128
#define MAX_SPI_WAIT_RETRIES 1000

#define MCU_MODE 0x6F
@@ -386,7 +386,8 @@
ret |= realtek_mst_i2c_spi_write_register(fd, 0x71, page_len-1);
uint8_t block_idx = (start + i) >> 16;
uint8_t page_idx = (start + i) >> 8;
- ret |= realtek_mst_i2c_spi_map_page(fd, block_idx, page_idx, 0);
+ uint8_t byte_idx = start + i;
+ ret |= realtek_mst_i2c_spi_map_page(fd, block_idx, page_idx, byte_idx);
if (ret)
break;


To view, visit change 48840. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Ifcdd3548519eb37440e67fcf6206279cff05b159
Gerrit-Change-Number: 48840
Gerrit-PatchSet: 1
Gerrit-Owner: Shiyu Sun <sshiyu@google.com>
Gerrit-MessageType: newchange