2 # This file is part of the coreboot project.
4 # Copyright (C) 2007 Advanced Micro Devices, Inc.
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; version 2 of the License.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 ## CONFIG_XIP_ROM_SIZE must be a power of 2.
21 default CONFIG_XIP_ROM_SIZE = 64 * 1024
22 include /config/failovercalculation.lb
27 ## Build the objects we have code for in this directory.
33 #needed by irq_tables and mptable and acpi_tables
36 if CONFIG_GENERATE_MP_TABLE
40 if CONFIG_GENERATE_PIRQ_TABLE
44 if CONFIG_GENERATE_ACPI_TABLES
48 depends "$(CONFIG_MAINBOARD)/dx/dsdt_lb.dsl"
49 action "iasl -p $(CURDIR)/dsdt_lb -tc $(CONFIG_MAINBOARD)/dx/dsdt_lb.dsl"
50 action "mv dsdt_lb.hex dsdt.c"
54 #./ssdt.o is moved to northbridge/amd/amdk8/Config.lb
56 if CONFIG_ACPI_SSDTX_NUM
58 depends "$(CONFIG_MAINBOARD)/dx/pci2.asl"
59 action "iasl -p $(CURDIR)/pci2 -tc $(CONFIG_MAINBOARD)/dx/pci2.asl"
60 action "perl -pi -e 's/AmlCode/AmlCode_ssdt2/g' pci2.hex"
61 action "mv pci2.hex ssdt2.c"
65 depends "$(CONFIG_MAINBOARD)/dx/pci3.asl"
66 action "iasl -p $(CURDIR)/pci3 -tc $(CONFIG_MAINBOARD)/dx/pci3.asl"
67 action "perl -pi -e 's/AmlCode/AmlCode_ssdt3/g' pci3.hex"
68 action "mv pci3.hex ssdt3.c"
72 depends "$(CONFIG_MAINBOARD)/dx/pci4.asl"
73 action "iasl -p $(CURDIR)/pci4 -tc $(CONFIG_MAINBOARD)/dx/pci4.asl"
74 action "perl -pi -e 's/AmlCode/AmlCode_ssdt4/g' pci4.hex"
75 action "mv pci4.hex ssdt4.c"
79 depends "$(CONFIG_MAINBOARD)/dx/pci5.asl"
80 action "iasl -p $(CURDIR)/pci5 -tc $(CONFIG_MAINBOARD)/dx/pci5.asl"
81 action "perl -pi -e 's/AmlCode/AmlCode_ssdt5/g' pci5.hex"
82 action "mv pci5.hex ssdt5.c"
89 # compile cache_as_ram.c to auto.o
90 makerule ./cache_as_ram_auto.o
91 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
92 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -c $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
96 #compile cache_as_ram.c to auto.inc
97 makerule ./cache_as_ram_auto.inc
98 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
99 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(TOP)/src -I. -c -S $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
100 action "perl -e 's/\.rodata/.rom.data/g' -pi $@"
101 action "perl -e 's/\.text/.section .rom.text/g' -pi $@"
106 if CONFIG_USE_FAILOVER_IMAGE
108 if CONFIG_AP_CODE_IN_CAR
109 makerule ./apc_auto.o
110 depends "$(CONFIG_MAINBOARD)/apc_auto.c option_table.h"
111 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -c $(CONFIG_MAINBOARD)/apc_auto.c -o $@"
113 ldscript /arch/i386/init/ldscript_apc.lb
118 ## Build our 16 bit and 32 bit coreboot entry code
121 if CONFIG_HAVE_FAILOVER_BOOT
122 if CONFIG_USE_FAILOVER_IMAGE
123 mainboardinit cpu/x86/16bit/entry16.inc
124 ldscript /cpu/x86/16bit/entry16.lds
127 if CONFIG_USE_FALLBACK_IMAGE
128 mainboardinit cpu/x86/16bit/entry16.inc
129 ldscript /cpu/x86/16bit/entry16.lds
133 mainboardinit cpu/x86/32bit/entry32.inc
135 ldscript /cpu/x86/32bit/entry32.lds
139 ldscript /cpu/amd/car/cache_as_ram.lds
143 ## Build our reset vector (This is where coreboot is entered)
145 if CONFIG_HAVE_FAILOVER_BOOT
146 if CONFIG_USE_FAILOVER_IMAGE
147 mainboardinit cpu/x86/16bit/reset16.inc
148 ldscript /cpu/x86/16bit/reset16.lds
150 mainboardinit cpu/x86/32bit/reset32.inc
151 ldscript /cpu/x86/32bit/reset32.lds
154 if CONFIG_USE_FALLBACK_IMAGE
155 mainboardinit cpu/x86/16bit/reset16.inc
156 ldscript /cpu/x86/16bit/reset16.lds
158 mainboardinit cpu/x86/32bit/reset32.inc
159 ldscript /cpu/x86/32bit/reset32.lds
165 ## Include an id string (For safe flashing)
167 mainboardinit arch/i386/lib/id.inc
168 ldscript /arch/i386/lib/id.lds
171 ## Setup Cache-As-Ram
173 mainboardinit cpu/amd/car/cache_as_ram.inc
176 ### This is the early phase of coreboot startup
177 ### Things are delicate and we test to see if we should
178 ### failover to another image.
180 if CONFIG_HAVE_FAILOVER_BOOT
181 if CONFIG_USE_FAILOVER_IMAGE
182 ldscript /arch/i386/lib/failover_failover.lds
185 if CONFIG_USE_FALLBACK_IMAGE
186 ldscript /arch/i386/lib/failover.lds
191 ### O.k. We aren't just an intermediary anymore!
198 initobject cache_as_ram_auto.o
200 mainboardinit ./cache_as_ram_auto.inc
204 ## Include the secondary Configuration files
208 dir /southbridge/amd/amd8151
210 # sample config for amd/serengeti_cheetah_fam10
211 chip northbridge/amd/amdfam10/root_complex
212 device apic_cluster 0 on
213 chip cpu/amd/socket_F_1207 #L1 and DDR2
217 device pci_domain 0 on
218 chip northbridge/amd/amdfam10
219 device pci 18.0 on # northbridge
220 # devices on link 0, link 0 == LDT 0
221 chip southbridge/amd/amd8132
222 # the on/off keyword is mandatory
223 device pci 0.0 on end
224 device pci 0.1 on end
225 device pci 1.0 on end
226 device pci 1.1 on end
228 chip southbridge/amd/amd8111
229 # this "device pci 0.0" is the parent the next one
232 device pci 0.0 on end
233 device pci 0.1 on end
234 device pci 0.2 off end
235 device pci 1.0 off end
238 chip superio/winbond/w83627hf
239 device pnp 2e.0 off # Floppy
244 device pnp 2e.1 off # Parallel Port
248 device pnp 2e.2 on # Com1
252 device pnp 2e.3 off # Com2
256 device pnp 2e.5 on # Keyboard
262 device pnp 2e.6 off # CIR
265 device pnp 2e.7 off # GAME_MIDI_GIPO1
270 device pnp 2e.8 off end # GPIO2
271 device pnp 2e.9 off end # GPIO3
272 device pnp 2e.a off end # ACPI
273 device pnp 2e.b on # HW Monitor
279 device pci 1.1 on end
280 device pci 1.2 on end
282 chip drivers/i2c/i2cmux2 # pca9556 smbus mux
283 chip drivers/i2c/i2cmux2 # pca9556 smbus mux
284 device i2c 18 on #0 pca9516 1
285 chip drivers/generic/generic #dimm 0-0-0
288 chip drivers/generic/generic #dimm 0-0-1
291 chip drivers/generic/generic #dimm 0-1-0
294 chip drivers/generic/generic #dimm 0-1-1
298 device i2c 18 on #1 pca9516 2
299 chip drivers/generic/generic #dimm 1-0-0
302 chip drivers/generic/generic #dimm 1-0-1
305 chip drivers/generic/generic #dimm 1-1-0
308 chip drivers/generic/generic #dimm 1-1-1
315 device pci 1.5 off end
316 device pci 1.6 off end
317 register "ide0_enable" = "1"
318 register "ide1_enable" = "1"
320 end # device pci 18.0
322 device pci 18.0 on end
323 device pci 18.0 on end
324 device pci 18.1 on end
325 device pci 18.2 on end
326 device pci 18.3 on end
327 device pci 18.4 on end
328 # device pci 00.5 on end
331 #for node 32 to node 63
332 # device pci_domain 0 on
333 # chip northbridge/amd/amdfam10
334 # device pci 00.0 on end# northbridge
335 # device pci 00.0 on end
336 # device pci 00.0 on end
337 # device pci 00.0 on end
338 # device pci 00.1 on end
339 # device pci 00.2 on end
340 # device pci 00.3 on end
341 # device pci 00.4 on end
342 # device pci 00.5 on end
346 # chip drivers/generic/debug
347 # device pnp 0.0 off end # chip name
348 # device pnp 0.1 on end # pci_regs_all
349 # device pnp 0.2 off end # mem
350 # device pnp 0.3 off end # cpuid
351 # device pnp 0.4 off end # smbus_regs_all
352 # device pnp 0.5 off end # dual core msr
353 # device pnp 0.6 off end # cache size
354 # device pnp 0.7 off end # tsc
355 # device pnp 0.8 off end # hard reset
356 # device pnp 0.9 off end # mcp55
357 # device pnp 0.a on end # GH ext table