summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x230
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/lenovo/x230')
-rw-r--r--src/mainboard/lenovo/x230/Kconfig19
-rw-r--r--src/mainboard/lenovo/x230/cmos.layout3
-rw-r--r--src/mainboard/lenovo/x230/vboot-rwab.fmd34
3 files changed, 56 insertions, 0 deletions
diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig
index e7edf6bb61..bf70950532 100644
--- a/src/mainboard/lenovo/x230/Kconfig
+++ b/src/mainboard/lenovo/x230/Kconfig
@@ -27,6 +27,25 @@ config BOARD_SPECIFIC_OPTIONS
# Workaround for EC/KBC IRQ1.
select SERIRQ_CONTINUOUS_MODE
+config VBOOT
+ select VBOOT_VBNV_CMOS
+ select GBB_FLAG_DISABLE_LID_SHUTDOWN
+ select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
+ select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
+ select GBB_FLAG_DISABLE_FWMP
+ select HAS_RECOVERY_MRC_CACHE
+
+config VBOOT_SLOTS_RW_AB
+ default y
+
+config VBOOT_VBNV_OFFSET
+ hex
+ default 0x2a
+
+config FMDFILE
+ string
+ default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT
+
config MAINBOARD_DIR
string
default "lenovo/x230"
diff --git a/src/mainboard/lenovo/x230/cmos.layout b/src/mainboard/lenovo/x230/cmos.layout
index 27197fb4b8..99034009a4 100644
--- a/src/mainboard/lenovo/x230/cmos.layout
+++ b/src/mainboard/lenovo/x230/cmos.layout
@@ -80,6 +80,9 @@ entries
440 8 h 0 volume
+# VBOOT
+448 128 r 0 vbnv
+
# SandyBridge MRC Scrambler Seed values
896 32 r 0 mrc_scrambler_seed
928 32 r 0 mrc_scrambler_seed_s3
diff --git a/src/mainboard/lenovo/x230/vboot-rwab.fmd b/src/mainboard/lenovo/x230/vboot-rwab.fmd
new file mode 100644
index 0000000000..1747c0e708
--- /dev/null
+++ b/src/mainboard/lenovo/x230/vboot-rwab.fmd
@@ -0,0 +1,34 @@
+FLASH@0xff400000 0xc00000 {
+ SI_ALL@0x0 0x500000 {
+ SI_DESC@0x0 0x1000
+ SI_GBE@0x1000 0x2000
+ SI_ME
+ }
+ SI_BIOS@0x500000 0x700000 {
+ RW_SECTION_A 0x280000 {
+ VBLOCK_A 0x10000
+ FW_MAIN_A(CBFS)
+ RW_FWID_A 0x40
+ }
+ RW_SECTION_B 0x280000 {
+ VBLOCK_B 0x10000
+ FW_MAIN_B(CBFS)
+ RW_FWID_B 0x40
+ }
+ UNIFIED_MRC_CACHE@0x500000 0x20000 {
+ RECOVERY_MRC_CACHE@0x0 0x10000
+ RW_MRC_CACHE@0x10000 0x10000
+ }
+ RW_VPD(PRESERVE) 0x1000
+ SMMSTORE(PRESERVE)@0x521000 0x40000
+
+ WP_RO {
+ FMAP 0x800
+ RO_FRID 0x40
+ RO_PADDING 0x7c0
+ RO_VPD(PRESERVE) 0x1000
+ GBB 0x1e000
+ COREBOOT(CBFS)
+ }
+ }
+}