2 ## This file is part of the coreboot project.
4 ## Copyright (C) 2007 AMD
5 ## Written by Yinghai Lu <yinghailu@amd.com> for AMD.
6 ## Copyright (C) 2007 Silicon Integrated Systems Corp. (SiS)
7 ## Written by Morgan Tsai <my_tsai@sis.com> for SiS.
9 ## This program is free software; you can redistribute it and/or modify
10 ## it under the terms of the GNU General Public License as published by
11 ## the Free Software Foundation; either version 2 of the License, or
12 ## (at your option) any later version.
14 ## This program is distributed in the hope that it will be useful,
15 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ## GNU General Public License for more details.
19 ## You should have received a copy of the GNU General Public License
20 ## along with this program; if not, write to the Free Software
21 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24 ## CONFIG_XIP_ROM_SIZE must be a power of 2.
25 default CONFIG_XIP_ROM_SIZE = 64 * 1024
26 include /config/failovercalculation.lb
31 ## Build the objects we have code for in this directory.
35 #needed by irq_tables and mptable and acpi_tables
38 if CONFIG_HAVE_MP_TABLE object mptable.o end
39 if CONFIG_HAVE_PIRQ_TABLE object irq_tables.o end
43 makerule ./cache_as_ram_auto.o
44 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
45 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -c $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
48 makerule ./cache_as_ram_auto.inc
49 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
50 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(TOP)/src -I. -c -S $(CONFIG_CPU_OPT) $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
51 action "perl -e 's/\.rodata/.rom.data/g' -pi $@"
52 action "perl -e 's/\.text/.section .rom.text/g' -pi $@"
56 if CONFIG_USE_FAILOVER_IMAGE
58 if CONFIG_AP_CODE_IN_CAR
60 depends "$(CONFIG_MAINBOARD)/apc_auto.c option_table.h"
61 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -c $(CONFIG_MAINBOARD)/apc_auto.c -o $@"
63 ldscript /arch/i386/init/ldscript_apc.lb
69 ## Build our 16 bit and 32 bit coreboot entry code
71 if CONFIG_HAVE_FAILOVER_BOOT
72 if CONFIG_USE_FAILOVER_IMAGE
73 mainboardinit cpu/x86/16bit/entry16.inc
74 ldscript /cpu/x86/16bit/entry16.lds
77 if CONFIG_USE_FALLBACK_IMAGE
78 mainboardinit cpu/x86/16bit/entry16.inc
79 ldscript /cpu/x86/16bit/entry16.lds
83 mainboardinit cpu/x86/32bit/entry32.inc
86 ldscript /cpu/x86/32bit/entry32.lds
90 ldscript /cpu/amd/car/cache_as_ram.lds
94 ## Build our reset vector (This is where coreboot is entered)
96 if CONFIG_HAVE_FAILOVER_BOOT
97 if CONFIG_USE_FAILOVER_IMAGE
98 mainboardinit cpu/x86/16bit/reset16.inc
99 ldscript /cpu/x86/16bit/reset16.lds
101 mainboardinit cpu/x86/32bit/reset32.inc
102 ldscript /cpu/x86/32bit/reset32.lds
105 if CONFIG_USE_FALLBACK_IMAGE
106 mainboardinit cpu/x86/16bit/reset16.inc
107 ldscript /cpu/x86/16bit/reset16.lds
109 mainboardinit cpu/x86/32bit/reset32.inc
110 ldscript /cpu/x86/32bit/reset32.lds
115 ## Include an id string (For safe flashing)
117 mainboardinit southbridge/sis/sis966/id.inc
118 ldscript /southbridge/sis/sis966/id.lds
121 ## ROMSTRAP table for MCP55
123 if CONFIG_HAVE_FAILOVER_BOOT
124 if CONFIG_USE_FAILOVER_IMAGE
125 mainboardinit southbridge/sis/sis966/romstrap.inc
126 ldscript /southbridge/sis/sis966/romstrap.lds
129 if CONFIG_USE_FALLBACK_IMAGE
130 mainboardinit southbridge/sis/sis966/romstrap.inc
131 ldscript /southbridge/sis/sis966/romstrap.lds
136 ## Setup Cache-As-Ram
138 mainboardinit cpu/amd/car/cache_as_ram.inc
141 ### This is the early phase of coreboot startup
142 ### Things are delicate and we test to see if we should
143 ### failover to another image.
145 if CONFIG_HAVE_FAILOVER_BOOT
146 if CONFIG_USE_FAILOVER_IMAGE
147 ldscript /arch/i386/lib/failover_failover.lds
150 if CONFIG_USE_FALLBACK_IMAGE
151 ldscript /arch/i386/lib/failover.lds
159 initobject cache_as_ram_auto.o
161 mainboardinit ./cache_as_ram_auto.inc
165 ## Include the secondary Configuration files
169 chip northbridge/amd/amdk8/root_complex
170 device apic_cluster 0 on
171 chip cpu/amd/socket_AM2
175 device pci_domain 0 on
176 chip northbridge/amd/amdk8 #mc0
178 # devices on link 0, link 0 == LDT 0
179 chip southbridge/sis/sis966
180 device pci 0.0 on end # Northbridge
181 device pci 1.0 on # AGP bridge
182 chip drivers/pci/onboard # Integrated VGA
183 device pci 0.0 on end
184 register "rom_address" = "0xfff80000"
187 device pci 2.0 on # LPC
188 chip superio/ite/it8716f
189 device pnp 2e.0 off # Floppy (N/A)
194 device pnp 2e.1 on # Com1
198 device pnp 2e.2 off # Com2 (N/A)
202 device pnp 2e.3 off # Parallel port (N/A)
206 device pnp 2e.4 on # EC
211 device pnp 2e.5 off # PS/2 keyboard (N/A)
216 device pnp 2e.6 off # Mouse (N/A)
219 device pnp 2e.8 off # MIDI (N/A)
223 device pnp 2e.9 off # GAME (N/A)
226 device pnp 2e.a off end # CIR (N/A)
230 device pci 2.5 off end # IDE (SiS5513)
231 device pci 2.6 off end # Modem (SiS7013)
232 device pci 2.7 off end # Audio (SiS7012)
233 device pci 3.0 on end # USB (SiS7001,USB1.1)
234 device pci 3.1 on end # USB (SiS7001,USB1.1)
235 device pci 3.3 on end # USB (SiS7002,USB2.0)
236 device pci 4.0 on end # NIC (SiS191)
237 device pci 5.0 on end # SATA (SiS1183,Native Mode)
238 device pci 6.0 on end # PCI-e x1
239 device pci 7.0 on end # PCI-e x1
240 device pci a.0 off end
241 device pci b.0 off end
242 device pci c.0 off end
243 device pci d.0 off end
244 device pci e.0 off end
245 device pci f.0 off end # HD Audio (SiS7502)
247 register "ide0_enable" = "1"
248 register "ide1_enable" = "1"
249 register "sata0_enable" = "1"
250 register "sata1_enable" = "1"
252 end # device pci 18.0
253 device pci 18.0 on end # Link 1
254 device pci 18.0 on end
255 device pci 18.1 on end
256 device pci 18.2 on end
257 device pci 18.3 on end
262 # chip drivers/generic/debug
263 # device pnp 0.0 off end # chip name
264 # device pnp 0.1 on end # pci_regs_all
265 # device pnp 0.2 off end # mem
266 # device pnp 0.3 off end # cpuid
267 # device pnp 0.4 off end # smbus_regs_all
268 # device pnp 0.5 off end # dual core msr
269 # device pnp 0.6 off end # cache size
270 # device pnp 0.7 off end # tsc
271 # device pnp 0.8 off end # io
272 # device pnp 0.9 off end # io