summaryrefslogtreecommitdiff
path: root/board/google/common/early_init.S
diff options
context:
space:
mode:
Diffstat (limited to 'board/google/common/early_init.S')
-rw-r--r--board/google/common/early_init.S21
1 files changed, 20 insertions, 1 deletions
diff --git a/board/google/common/early_init.S b/board/google/common/early_init.S
index cf70ae4..7017185 100644
--- a/board/google/common/early_init.S
+++ b/board/google/common/early_init.S
@@ -6,5 +6,24 @@
.globl early_board_init
early_board_init:
- /* No 32-bit board specific initialisation */
+ /* Enable post codes to EC */
+#ifdef CONFIG_EARLY_POST_CROS_EC
+ mov $0x1b, %ecx
+ rdmsr
+ and $0x100, %eax
+ test %eax, %eax
+ je 1f
+
+ mov $0x8000f8f0, %eax
+ mov $0xcf8, %dx
+ out %eax, (%dx)
+ mov $0xfed1c001, %eax
+ mov $0xcfc, %dx
+ out %eax, (%dx)
+ mov $0xfed1f410, %esp
+ mov (%esp), %eax
+ and $0xfffffffb, %eax
+ mov %eax, (%esp)
+1:
+#endif
jmp early_board_init_ret