blob: 2647c17aec93fcdbf741901d975d6795d0ed002e [file] [log] [blame]
Duncan Lauriec88c54c2014-04-30 16:36:13 -07001config SOC_INTEL_BROADWELL
2 bool
3 help
4 Intel Broadwell and Haswell ULT support.
5
6if SOC_INTEL_BROADWELL
7
Angel Ponsa3288b32020-11-23 13:00:51 +01008config SOC_SPECIFIC_OPTIONS
Duncan Lauriec88c54c2014-04-30 16:36:13 -07009 def_bool y
Duncan Lauriec88c54c2014-04-30 16:36:13 -070010 select CACHE_MRC_SETTINGS
Angel Pons3f0a95a2020-11-23 13:34:56 +010011 select CPU_INTEL_HASWELL
Matt DeVillier773488f2017-10-18 12:27:25 -050012 select INTEL_GMA_ACPI
Angel Ponsdbdd5282021-06-14 12:14:48 +020013 select MRC_SETTINGS_PROTECT
14 select REG_SCRIPT
Youness Alaouib191c9f2017-05-08 15:22:03 -040015
Arthur Heymans4d56a062018-12-22 16:11:52 +010016config BROADWELL_VBOOT_IN_BOOTBLOCK
17 depends on VBOOT
18 bool "Start verstage in bootblock"
19 default y
20 select VBOOT_STARTS_IN_BOOTBLOCK
Arthur Heymans4d56a062018-12-22 16:11:52 +010021 help
22 Broadwell can either start verstage in a separate stage
23 right after the bootblock has run or it can start it
24 after romstage for compatibility reasons.
Martin Roth26f97f92021-10-01 14:53:22 -060025 Broadwell however uses a mrc.bin to initialize memory which
Arthur Heymans4d56a062018-12-22 16:11:52 +010026 needs to be located at a fixed offset. Therefore even with
27 a separate verstage starting after the bootblock that same
28 binary is used meaning a jump is made from RW to the RO region
29 and back to the RW region after the binary is done.
30
Julius Werner1210b412017-03-27 19:26:32 -070031config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080032 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans4d56a062018-12-22 16:11:52 +010033 select VBOOT_STARTS_IN_ROMSTAGE if !BROADWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070034
Shelley Chen4e9bb332021-10-20 15:43:45 -070035config ECAM_MMCONF_BASE_ADDRESS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070036 default 0xf0000000
37
Shelley Chen4e9bb332021-10-20 15:43:45 -070038config ECAM_MMCONF_BUS_NUMBER
Angel Pons9debbd62021-01-28 12:42:53 +010039 default 64
40
Duncan Lauriec88c54c2014-04-30 16:36:13 -070041config VGA_BIOS_ID
42 string
43 default "8086,0406"
44
Angel Ponsc715dc82021-01-31 00:33:04 +010045config FIXED_MCHBAR_MMIO_BASE
46 default 0xfed10000
47
48config FIXED_DMIBAR_MMIO_BASE
49 default 0xfed18000
50
51config FIXED_EPBAR_MMIO_BASE
52 default 0xfed19000
53
Duncan Lauriec88c54c2014-04-30 16:36:13 -070054config DCACHE_RAM_BASE
55 hex
56 default 0xff7c0000
57
58config DCACHE_RAM_SIZE
59 hex
60 default 0x10000
61 help
62 The size of the cache-as-ram region required during bootblock
63 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
64 must add up to a power of 2.
65
66config DCACHE_RAM_MRC_VAR_SIZE
67 hex
68 default 0x30000
69 help
70 The amount of cache-as-ram region required by the reference code.
71
Arthur Heymans5bb15f12018-12-22 16:02:25 +010072config DCACHE_BSP_STACK_SIZE
73 hex
74 default 0x2000
75 help
76 The amount of anticipated stack usage in CAR by bootblock and
77 other stages.
78
Duncan Lauriec88c54c2014-04-30 16:36:13 -070079config HAVE_MRC
80 bool "Add a Memory Reference Code binary"
81 help
82 Select this option to add a Memory Reference Code binary to
83 the resulting coreboot image.
84
85 Note: Without this binary coreboot will not work
86
87if HAVE_MRC
88
89config MRC_FILE
90 string "Intel Memory Reference Code path and filename"
91 depends on HAVE_MRC
92 default "mrc.bin"
93 help
94 The filename of the file to use as Memory Reference Code binary.
95
96config MRC_BIN_ADDRESS
97 hex
98 default 0xfffa0000
99
Arthur Heymans4d56a062018-12-22 16:11:52 +0100100# The UEFI System Agent binary needs to be at a fixed offset in the flash
101# and can therefore only reside in the COREBOOT fmap region
102config RO_REGION_ONLY
103 string
104 depends on VBOOT
105 default "mrc.bin"
106
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700107endif # HAVE_MRC
108
Patrick Georgie6e94932015-06-22 22:26:45 +0200109config HAVE_REFCODE_BLOB
110 depends on ARCH_X86
111 bool "An external reference code blob should be put into cbfs."
112 default n
113 help
114 The reference code blob will be placed into cbfs.
115
116if HAVE_REFCODE_BLOB
117
118config REFCODE_BLOB_FILE
119 string "Path and filename to reference code blob."
120 default "refcode.elf"
121 help
122 The path and filename to the file to be added to cbfs.
123
124endif # HAVE_REFCODE_BLOB
125
Angel Ponsdbdd5282021-06-14 12:14:48 +0200126source "src/soc/intel/broadwell/pch/Kconfig"
127
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700128endif