Idwer Vollering has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/48879 )
Change subject: sb600spi.c: add rev 0x51 to the leading comment block
......................................................................
sb600spi.c: add rev 0x51 to the leading comment block
Signed-off-by: Idwer Vollering <vidwer(a)gmail.com>
Change-Id: Ic74cff04f2d1fd92ad92aa37f71e5852f02d86a6
---
M sb600spi.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/79/48879/1
diff --git a/sb600spi.c b/sb600spi.c
index ef9da4b..b9560e2 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -127,7 +127,7 @@
* found on both Stoney Ridge and Zen platforms.
*
* The revisions I have found by searching various lspci
- * outputs are as follows: 0x4b, 0x59 & 0x61.
+ * outputs are as follows: 0x4b, 0x51, 0x59 & 0x61.
*/
} else if (rev == 0x4b || rev == 0x51 || rev == 0x59 || rev == 0x61) {
msg_pdbg("Promontory (rev 0x%02x) detected.\n", rev);
--
To view, visit https://review.coreboot.org/c/flashrom/+/48879
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Ic74cff04f2d1fd92ad92aa37f71e5852f02d86a6
Gerrit-Change-Number: 48879
Gerrit-PatchSet: 1
Gerrit-Owner: Idwer Vollering <vidwer(a)gmail.com>
Gerrit-MessageType: newchange
Anastasia Klimchuk has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/48196 )
Change subject: Simplifying the initialisation flow for it85spi
......................................................................
Simplifying the initialisation flow for it85spi
1) Inlining it85xx_spi_common_init since it's only used once in
it85xx_spi_init, after inlining ret value is not needed.
2) Creating it86_init_error section to ensure that data is freed
if error happened in initialisaton flow.
BUG=b:172876667
TEST=builds
Change-Id: Iac1b4ae9c6f34c5265e729ae0a80024800c3c272
Signed-off-by: Anastasia Klimchuk <aklm(a)chromium.org>
---
M it85spi.c
1 file changed, 32 insertions(+), 39 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/96/48196/1
diff --git a/it85spi.c b/it85spi.c
index 6215515..52b09b1 100644
--- a/it85spi.c
+++ b/it85spi.c
@@ -289,11 +289,18 @@
.write_aai = default_spi_write_aai,
};
-static int it85xx_spi_common_init(struct superio s)
+int it85xx_spi_init(struct superio s)
{
chipaddr base;
+ struct it85spi_data *data;
+ msg_pdbg("%s():%d superio.vendor=0x%02x\n", __func__, __LINE__, s.vendor);
- struct it85spi_data *data = calloc(1, sizeof(struct it85spi_data));
+ if (!(internal_buses_supported & BUS_FWH)) {
+ msg_pdbg("%s():%d buses not support FWH\n", __func__, __LINE__);
+ return 1;
+ }
+
+ data = calloc(1, sizeof(struct it85spi_data));
if (!data) {
msg_perr("Unable to allocate space for extra SPI master data.\n");
return SPI_GENERIC_ERROR;
@@ -301,12 +308,8 @@
spi_master_it85xx.data = data;
- msg_pdbg("%s():%d superio.vendor=0x%02x\n", __func__, __LINE__,
- s.vendor);
-
if (register_shutdown(it85xx_shutdown, data)) {
- free(data);
- return 1;
+ goto it85spi_init_error;
}
#ifdef LPC_IO
@@ -334,9 +337,9 @@
* Major TODO here, and it will be a lot of work.
*/
base = (chipaddr)physmap("it85 communication", 0xFFFFF000, 0x1000);
- if (base == (chipaddr)ERROR_PTR)
- free(data);
- return 1;
+ if (base == (chipaddr)ERROR_PTR) {
+ goto it85spi_init_error;
+ }
msg_pdbg("%s():%d base=0x%08x\n", __func__, __LINE__,
(unsigned int)base);
@@ -344,37 +347,27 @@
data->ce_low = (unsigned char *)(base + 0xD00); /* 0xFFFFFD00 */
#endif
+ msg_pdbg("%s: internal_buses_supported=0x%x\n", __func__,
+ internal_buses_supported);
+ /* Check for FWH because IT85 listens to FWH cycles.
+ * FIXME: The big question is whether FWH cycles are necessary
+ * for communication even if LPC_IO is defined.
+ */
+ if (internal_buses_supported & BUS_FWH)
+ msg_pdbg("Registering IT85 SPI.\n");
+ /* FIXME: Really leave FWH enabled? We can't use this region
+ * anymore since accessing it would mess up IT85 communication.
+ * If we decide to disable FWH for this region, we should print
+ * a debug message about it.
+ */
+ /* Set this as SPI controller. */
+ register_spi_master(&spi_master_it85xx);
+
return 0;
-}
-int it85xx_spi_init(struct superio s)
-{
- int ret;
-
- if (!(internal_buses_supported & BUS_FWH)) {
- msg_pdbg("%s():%d buses not support FWH\n", __func__, __LINE__);
- return 1;
- }
- ret = it85xx_spi_common_init(s);
- msg_pdbg("FWH: %s():%d ret=%d\n", __func__, __LINE__, ret);
- if (!ret) {
- msg_pdbg("%s: internal_buses_supported=0x%x\n", __func__,
- internal_buses_supported);
- /* Check for FWH because IT85 listens to FWH cycles.
- * FIXME: The big question is whether FWH cycles are necessary
- * for communication even if LPC_IO is defined.
- */
- if (internal_buses_supported & BUS_FWH)
- msg_pdbg("Registering IT85 SPI.\n");
- /* FIXME: Really leave FWH enabled? We can't use this region
- * anymore since accessing it would mess up IT85 communication.
- * If we decide to disable FWH for this region, we should print
- * a debug message about it.
- */
- /* Set this as SPI controller. */
- register_spi_master(&spi_master_it85xx);
- }
- return ret;
+it85spi_init_error:
+ free(data);
+ return 1;
}
#endif
--
To view, visit https://review.coreboot.org/c/flashrom/+/48196
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Iac1b4ae9c6f34c5265e729ae0a80024800c3c272
Gerrit-Change-Number: 48196
Gerrit-PatchSet: 1
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-MessageType: newchange
Nikolai Artemiev has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/48778 )
Change subject: WIP: spi25_statusreg.c: restore SR contents at flashrom exit
......................................................................
WIP: spi25_statusreg.c: restore SR contents at flashrom exit
spi_disable_blockprotect_generic() now uses
register_chip_restore() to reset the chip's status
register at flashrom exit.
Imported from cros flashrom at `b170dd4e1d5c33b169c5`
Change-Id: If2f0e73518d40519b7569f627c90a34c364df47c
Signed-off-by: Nikolai Artemiev <nartemiev(a)google.com>
---
M spi25_statusreg.c
1 file changed, 9 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/78/48778/1
diff --git a/spi25_statusreg.c b/spi25_statusreg.c
index 34f9ad4..5dda912 100644
--- a/spi25_statusreg.c
+++ b/spi25_statusreg.c
@@ -108,6 +108,12 @@
return readarr[0];
}
+static int spi_restore_status(struct flashctx *flash, uint8_t status)
+{
+ msg_cdbg("restoring chip status (0x%02x)\n", status);
+ return spi_write_status_register(flash, status);
+}
+
/* A generic block protection disable.
* Tests if a protection is enabled with the block protection mask (bp_mask) and returns success otherwise.
* Tests if the register bits are locked with the lock_mask (lock_mask).
@@ -139,6 +145,9 @@
return 0;
}
+ /* restore status register content upon exit */
+ register_chip_restore(spi_restore_status, flash, status);
+
msg_cdbg("Some block protection in effect, disabling... ");
if ((status & lock_mask) != 0) {
msg_cdbg("\n\tNeed to disable the register lock first... ");
--
To view, visit https://review.coreboot.org/c/flashrom/+/48778
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: If2f0e73518d40519b7569f627c90a34c364df47c
Gerrit-Change-Number: 48778
Gerrit-PatchSet: 1
Gerrit-Owner: Nikolai Artemiev <nartemiev(a)google.com>
Gerrit-MessageType: newchange
Edward O'Callaghan has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/47909 )
Change subject: realtek_mst_i2c_spi.c: Make consistent with std=c99
......................................................................
realtek_mst_i2c_spi.c: Make consistent with std=c99
Use 'modern' C to scope iterator declarations only to
the loop constructs they are used in.
BUG=none
TEST=builds
Change-Id: I9d9d1bf01209a7840f7b3fa2c6f7592375a74330
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M realtek_mst_i2c_spi.c
1 file changed, 4 insertions(+), 7 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/09/47909/1
diff --git a/realtek_mst_i2c_spi.c b/realtek_mst_i2c_spi.c
index 538b07a..151f7f6 100644
--- a/realtek_mst_i2c_spi.c
+++ b/realtek_mst_i2c_spi.c
@@ -205,7 +205,6 @@
const unsigned char *writearr,
unsigned char *readarr)
{
- unsigned i;
int max_timeout_mul = 1;
int ret = 0;
@@ -262,7 +261,7 @@
ret |= realtek_mst_i2c_spi_write_register(fd, 0x60, ctrl_reg_val);
ret |= realtek_mst_i2c_spi_write_register(fd, 0x61, writearr[0]); /* opcode */
- for (i = 0; i < writecnt; ++i)
+ for (unsigned i = 0; i < writecnt; ++i)
ret |= realtek_mst_i2c_spi_write_register(fd, 0x64 + i, writearr[i + 1]);
ret |= realtek_mst_i2c_spi_write_register(fd, 0x60, ctrl_reg_val | 0x1);
if (ret)
@@ -272,7 +271,7 @@
if (ret)
return ret;
- for (i = 0; i < readcnt; ++i)
+ for (unsigned i = 0; i < readcnt; ++i)
ret |= realtek_mst_i2c_spi_read_register(fd, 0x67 + i, &readarr[i]);
return ret;
@@ -306,7 +305,6 @@
static int realtek_mst_i2c_spi_read(struct flashctx *flash, uint8_t *buf,
unsigned int start, unsigned int len)
{
- unsigned i;
int ret = 0;
if (start & 0xff)
@@ -339,7 +337,7 @@
uint8_t dummy;
realtek_mst_i2c_spi_read_register(fd, MCU_DATA_PORT, &dummy);
- for (i = 0; i < len; i += PAGE_SIZE) {
+ for (unsigned i = 0; i < len; i += PAGE_SIZE) {
ret |= realtek_mst_i2c_spi_read_data(fd, REGISTER_ADDRESS,
buf + i, min(len - i, PAGE_SIZE));
if (ret)
@@ -352,7 +350,6 @@
static int realtek_mst_i2c_spi_write_256(struct flashctx *flash, const uint8_t *buf,
unsigned int start, unsigned int len)
{
- unsigned i;
int ret = 0;
if (start & 0xff)
@@ -369,7 +366,7 @@
ret |= realtek_mst_i2c_spi_write_register(fd, 0x6D, 0x02); /* write opcode */
ret |= realtek_mst_i2c_spi_write_register(fd, 0x71, (PAGE_SIZE - 1)); /* fit len=256 */
- for (i = 0; i < len; i += PAGE_SIZE) {
+ for (unsigned i = 0; i < len; i += PAGE_SIZE) {
uint16_t page_len = min(len - i, PAGE_SIZE);
if (len - i < PAGE_SIZE)
ret |= realtek_mst_i2c_spi_write_register(fd, 0x71, page_len-1);
--
To view, visit https://review.coreboot.org/c/flashrom/+/47909
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I9d9d1bf01209a7840f7b3fa2c6f7592375a74330
Gerrit-Change-Number: 47909
Gerrit-PatchSet: 1
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-MessageType: newchange
Edward O'Callaghan has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/47910 )
Change subject: lspcon_i2c_spi.c: Make consistent with std=c99
......................................................................
lspcon_i2c_spi.c: Make consistent with std=c99
Use 'modern' C to scope iterator declarations only to
the loop constructs they are used in.
BUG=none
TEST=builds
Change-Id: Id61f8416416d2f625d424760e00f94dc730105f4
Signed-off-by: Edward O'Callaghan <quasisec(a)google.com>
---
M lspcon_i2c_spi.c
1 file changed, 3 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/10/47910/1
diff --git a/lspcon_i2c_spi.c b/lspcon_i2c_spi.c
index 7b9f1c0..6ee2840 100644
--- a/lspcon_i2c_spi.c
+++ b/lspcon_i2c_spi.c
@@ -127,14 +127,13 @@
static int lspcon_i2c_spi_register_control(int fd, packet_t *packet)
{
- int i;
int ret = lspcon_i2c_spi_write_register(fd, SWSPI_WDATA, packet->command);
if (ret)
return ret;
/* Higher 4 bits are read size. */
int write_size = packet->data_size & 0x0f;
- for (i = 0; i < write_size; ++i) {
+ for (unsigned i = 0; i < write_size; ++i) {
ret |= lspcon_i2c_spi_write_register(fd, SWSPI_WDATA, packet->data[i]);
}
@@ -256,7 +255,6 @@
const unsigned char *writearr,
unsigned char *readarr)
{
- unsigned int i;
if (writecnt > 16 || readcnt > 16 || writecnt == 0) {
msg_perr("%s: Invalid read/write count for send command.\n",
__func__);
@@ -285,7 +283,7 @@
if (ret)
return ret;
- for (i = 0; i < readcnt; ++i) {
+ for (unsigned i = 0; i < readcnt; ++i) {
ret |= lspcon_i2c_spi_read_register(fd, SWSPI_RDATA, &readarr[i]);
}
@@ -340,7 +338,6 @@
static int lspcon_i2c_spi_read(struct flashctx *flash, uint8_t *buf,
unsigned int start, unsigned int len)
{
- unsigned int i;
int ret = 0;
if (start & 0xff)
return default_spi_read(flash, buf, start, len);
@@ -349,7 +346,7 @@
if (fd < 0)
return SPI_GENERIC_ERROR;
- for (i = 0; i < len; i += PAGE_SIZE) {
+ for (unsigned i = 0; i < len; i += PAGE_SIZE) {
ret |= lspcon_i2c_spi_map_page(fd, start + i);
ret |= lspcon_i2c_spi_read_data(fd, PAGE_ADDRESS, buf + i, min(len - i, PAGE_SIZE));
}
--
To view, visit https://review.coreboot.org/c/flashrom/+/47910
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Id61f8416416d2f625d424760e00f94dc730105f4
Gerrit-Change-Number: 47910
Gerrit-PatchSet: 1
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-MessageType: newchange