xref: /OK3568_Linux_fs/u-boot/board/google/common/early_init.S (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright (c) 2014 Google, Inc
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun.globl early_board_init
8*4882a593Smuzhiyunearly_board_init:
9*4882a593Smuzhiyun	/* Enable post codes to EC */
10*4882a593Smuzhiyun#ifdef CONFIG_EARLY_POST_CROS_EC
11*4882a593Smuzhiyun	mov    $0x1b, %ecx
12*4882a593Smuzhiyun	rdmsr
13*4882a593Smuzhiyun	and    $0x100, %eax
14*4882a593Smuzhiyun	test   %eax, %eax
15*4882a593Smuzhiyun	je     1f
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	mov    $0x8000f8f0, %eax
18*4882a593Smuzhiyun	mov    $0xcf8, %dx
19*4882a593Smuzhiyun	out    %eax, (%dx)
20*4882a593Smuzhiyun	mov    $0xfed1c001, %eax
21*4882a593Smuzhiyun	mov    $0xcfc, %dx
22*4882a593Smuzhiyun	out    %eax, (%dx)
23*4882a593Smuzhiyun	mov    $0xfed1f410, %esp
24*4882a593Smuzhiyun	mov    (%esp), %eax
25*4882a593Smuzhiyun	and    $0xfffffffb, %eax
26*4882a593Smuzhiyun	mov    %eax, (%esp)
27*4882a593Smuzhiyun1:
28*4882a593Smuzhiyun#endif
29*4882a593Smuzhiyun	jmp	early_board_init_ret
30