aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSergii Dmytruk <sergii.dmytruk@3mdeb.com>2022-07-24 17:11:05 +0300
committerAnastasia Klimchuk <aklm@chromium.org>2022-11-19 06:56:11 +0000
commit125a328b4d8445f41c9fdde9e51c1b2bb40ad72e (patch)
treeebc90fd1c88be2924d9d034bd171312fe829229e /include
parentf32f5e31d99531ee61bd31c64f41cc4baee68d57 (diff)
downloadflashrom-125a328b4d8445f41c9fdde9e51c1b2bb40ad72e.tar.gz
flashrom-125a328b4d8445f41c9fdde9e51c1b2bb40ad72e.tar.bz2
flashrom-125a328b4d8445f41c9fdde9e51c1b2bb40ad72e.zip
spi25_statusreg: support reading/writing configuration register
One more variation of registers. This one is read via a separate RDCR command, but written as if it's SR2 using WRSR_EXT2. Change-Id: I45f9afcc31f1928ef6263a749596380082963de4 Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/66211 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Nikolai Artemiev <nartemiev@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'include')
-rw-r--r--include/flash.h4
-rw-r--r--include/spi.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/include/flash.h b/include/flash.h
index 197c11ea..23222c72 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -161,6 +161,9 @@ enum write_granularity {
*/
#define FEATURE_SCUR (1 << 24)
+/* Whether chip has configuration register (RDCR/WRSR_EXT2 commands) */
+#define FEATURE_CFGR (1 << 25)
+
#define ERASED_VALUE(flash) (((flash)->chip->feature_bits & FEATURE_ERASED_ZERO) ? 0x00 : 0xff)
#define UNERASED_VALUE(flash) (((flash)->chip->feature_bits & FEATURE_ERASED_ZERO) ? 0xff : 0x00)
@@ -196,6 +199,7 @@ enum flash_reg {
STATUS2,
STATUS3,
SECURITY,
+ CONFIG,
MAX_REGISTERS
};
diff --git a/include/spi.h b/include/spi.h
index c77866c4..505aecd0 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -177,6 +177,11 @@
#define JEDEC_WRSCUR_OUTSIZE 0x01
#define JEDEC_WRSCUR_INSIZE 0x00
+/* Read Configuration Register */
+#define JEDEC_RDCR 0x15
+#define JEDEC_RDCR_OUTSIZE 0x01
+#define JEDEC_RDCR_INSIZE 0x01
+
/* Enter 4-byte Address Mode */
#define JEDEC_ENTER_4_BYTE_ADDR_MODE 0xB7