aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/Kconfig
blob: 766c226dc41b5183df804d2e312b4085d599d7be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
config SOC_INTEL_BROADWELL
	bool
	help
	  Intel Broadwell and Haswell ULT support.

if SOC_INTEL_BROADWELL

config SOC_SPECIFIC_OPTIONS
	def_bool y
	select CACHE_MRC_SETTINGS
	select CPU_INTEL_HASWELL
	select INTEL_GMA_ACPI
	select MRC_SETTINGS_PROTECT
	select REG_SCRIPT

config BROADWELL_VBOOT_IN_BOOTBLOCK
	depends on VBOOT
	bool "Start verstage in bootblock"
	default y
	select VBOOT_STARTS_IN_BOOTBLOCK
	select VBOOT_SEPARATE_VERSTAGE
	help
	  Broadwell can either start verstage in a separate stage
	  right after the bootblock has run or it can start it
	  after romstage for compatibility reasons.
	  Broadwell however uses a mrc.bin to initialize memory which
	  needs to be located at a fixed offset. Therefore even with
	  a separate verstage starting after the bootblock that same
	  binary is used meaning a jump is made from RW to the RO region
	  and back to the RW region after the binary is done.

config VBOOT
	select VBOOT_MUST_REQUEST_DISPLAY
	select VBOOT_STARTS_IN_ROMSTAGE if !BROADWELL_VBOOT_IN_BOOTBLOCK

config ECAM_MMCONF_BASE_ADDRESS
	default 0xf0000000

config ECAM_MMCONF_BUS_NUMBER
	default 64

config VGA_BIOS_ID
	string
	default "8086,0406"

config FIXED_MCHBAR_MMIO_BASE
	default 0xfed10000

config FIXED_DMIBAR_MMIO_BASE
	default 0xfed18000

config FIXED_EPBAR_MMIO_BASE
	default 0xfed19000

config DCACHE_RAM_BASE
	hex
	default 0xff7c0000

config DCACHE_RAM_SIZE
	hex
	default 0x10000
	help
	  The size of the cache-as-ram region required during bootblock
	  and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
	  must add up to a power of 2.

config DCACHE_RAM_MRC_VAR_SIZE
	hex
	default 0x30000
	help
	  The amount of cache-as-ram region required by the reference code.

config DCACHE_BSP_STACK_SIZE
	hex
	default 0x2000
	help
	  The amount of anticipated stack usage in CAR by bootblock and
	  other stages.

config HAVE_MRC
	bool "Add a Memory Reference Code binary"
	help
	  Select this option to add a Memory Reference Code binary to
	  the resulting coreboot image.

	  Note: Without this binary coreboot will not work

if HAVE_MRC

config MRC_FILE
	string "Intel Memory Reference Code path and filename"
	depends on HAVE_MRC
	default "mrc.bin"
	help
	  The filename of the file to use as Memory Reference Code binary.

config MRC_BIN_ADDRESS
	hex
	default 0xfffa0000

# The UEFI System Agent binary needs to be at a fixed offset in the flash
# and can therefore only reside in the COREBOOT fmap region
config RO_REGION_ONLY
	string
	depends on VBOOT
	default "mrc.bin"

endif # HAVE_MRC

config HAVE_REFCODE_BLOB
	depends on ARCH_X86
	bool "An external reference code blob should be put into cbfs."
	default n
	help
	 The reference code blob will be placed into cbfs.

if HAVE_REFCODE_BLOB

config REFCODE_BLOB_FILE
	string "Path and filename to reference code blob."
	default "refcode.elf"
	help
	 The path and filename to the file to be added to cbfs.

endif # HAVE_REFCODE_BLOB

source "src/soc/intel/broadwell/pch/Kconfig"

endif