2 ## This file is part of the coreboot project.
4 ## Copyright (C) 2008 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
22 ## CONFIG_XIP_ROM_SIZE must be a power of 2.
23 default CONFIG_XIP_ROM_SIZE = 64 * 1024
24 include /config/nofailovercalculation.lb
29 ## Build the objects we have code for in this directory.
36 if CONFIG_GENERATE_MP_TABLE object mptable.o end
37 if CONFIG_GENERATE_PIRQ_TABLE
42 if CONFIG_GENERATE_ACPI_TABLES
46 depends "$(CONFIG_MAINBOARD)/acpi/*.asl"
47 action "iasl -p $(CURDIR)/dsdt -tc $(CONFIG_MAINBOARD)/acpi/dsdt.asl"
48 action "mv dsdt.hex dsdt.c"
57 makerule ./cache_as_ram_auto.o
58 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
59 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -c $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
64 makerule ./cache_as_ram_auto.inc
65 depends "$(CONFIG_MAINBOARD)/cache_as_ram_auto.c option_table.h"
66 action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(TOP)/src -I. -c -S $(CONFIG_MAINBOARD)/cache_as_ram_auto.c -o $@"
67 action "perl -e 's/\.rodata/.rom.data/g' -pi $@"
68 action "perl -e 's/\.text/.section .rom.text/g' -pi $@"
74 ## Build our 16 bit and 32 bit coreboot entry code
76 mainboardinit cpu/x86/16bit/entry16.inc
77 mainboardinit cpu/x86/32bit/entry32.inc
78 ldscript /cpu/x86/16bit/entry16.lds
80 ldscript /cpu/x86/32bit/entry32.lds
84 ldscript /cpu/amd/car/cache_as_ram.lds
88 ## Build our reset vector (This is where coreboot is entered)
90 if CONFIG_USE_FALLBACK_IMAGE
91 mainboardinit cpu/x86/16bit/reset16.inc
92 ldscript /cpu/x86/16bit/reset16.lds
94 mainboardinit cpu/x86/32bit/reset32.inc
95 ldscript /cpu/x86/32bit/reset32.lds
99 ## Include an id string (For safe flashing)
101 mainboardinit arch/i386/lib/id.inc
102 ldscript /arch/i386/lib/id.lds
105 ## Setup Cache-As-Ram
107 mainboardinit cpu/amd/car/cache_as_ram.inc
110 ### This is the early phase of coreboot startup
111 ### Things are delicate and we test to see if we should
112 ### failover to another image.
114 if CONFIG_USE_FALLBACK_IMAGE
115 ldscript /arch/i386/lib/failover.lds
119 ### O.k. We aren't just an intermediary anymore!
126 initobject cache_as_ram_auto.o
128 mainboardinit ./cache_as_ram_auto.inc
132 ## Include the secondary Configuration files
136 #The variables belong to mainboard are defined here.
138 #Define gpp_configuration, A=0, B=1, C=2, D=3, E=4(default)
139 #Define vga_rom_address = 0xfff0000
140 #Define port_enable, (bit map): GFX(2,3), GPP(4,5,6,7)
141 #Define gfx_dev2_dev3, 0: a link will never be established on Dev2 or Dev3,
142 # 1: the system allows a PCIE link to be established on Dev2 or Dev3.
143 #Define gfx_dual_slot, 0: single slot, 1: dual slot
144 #Define gfx_lane_reversal, 0: disable lane reversal, 1: enable
145 #Define gfx_tmds, 0: didn't support TMDS, 1: support
146 #Define gfx_compliance, 0: didn't support compliance, 1: support
147 #Define gfx_reconfiguration, 0: short reconfiguration, 1(default): long reconfiguration
148 #Define gfx_link_width, 0: x16, 1: x1, 2: x2, 3: x4, 4: x8, 5: x12 (not supported), 6: x16
149 chip northbridge/amd/amdk8/root_complex
150 device apic_cluster 0 on
151 chip cpu/amd/socket_S1G1
155 device pci_domain 0 on
156 chip northbridge/amd/amdk8
157 device pci 18.0 on # southbridge
158 chip southbridge/amd/rs690
159 device pci 0.0 on end # HT 0x7910
160 device pci 1.0 on # Internal Graphics P2P bridge 0x7912
161 chip drivers/pci/onboard
162 device pci 5.0 on end # Internal Graphics 0x791F
163 register "rom_address" = "0xfff00000"
166 device pci 2.0 on end # PCIE P2P bridge (external graphics) 0x7913
167 device pci 3.0 off end # PCIE P2P bridge 0x791b
168 device pci 4.0 on end # PCIE P2P bridge 0x7914
169 device pci 5.0 on end # PCIE P2P bridge 0x7915
170 device pci 6.0 on end # PCIE P2P bridge 0x7916
171 device pci 7.0 on end # PCIE P2P bridge 0x7917
172 device pci 8.0 off end # NB/SB Link P2P bridge
173 register "vga_rom_address" = "0xfff00000"
174 register "gpp_configuration" = "4"
175 register "port_enable" = "0xfc"
176 register "gfx_dev2_dev3" = "1"
177 register "gfx_dual_slot" = "0"
178 register "gfx_lane_reversal" = "0"
179 register "gfx_tmds" = "0"
180 register "gfx_compliance" = "0"
181 register "gfx_reconfiguration" = "1"
182 register "gfx_link_width" = "0"
184 chip southbridge/amd/sb600 # it is under NB/SB Link, but on the same pri bus
185 device pci 12.0 on end # SATA 0x4380
186 device pci 13.0 on end # USB 0x4387
187 device pci 13.1 on end # USB 0x4388
188 device pci 13.2 on end # USB 0x4389
189 device pci 13.3 on end # USB 0x438a
190 device pci 13.4 on end # USB 0x438b
191 device pci 13.5 on end # USB 2 0x4386
192 device pci 14.0 on # SM 0x4385
193 chip drivers/generic/generic #dimm 0-0-0
196 chip drivers/generic/generic #dimm 0-0-1
199 chip drivers/generic/generic #dimm 0-1-0
202 chip drivers/generic/generic #dimm 0-1-1
206 device pci 14.1 on end # IDE 0x438c
207 device pci 14.2 on end # HDA 0x4383
208 device pci 14.3 on # LPC 0x438d
209 chip superio/ite/it8712f
210 device pnp 2e.0 off # Floppy
215 device pnp 2e.1 on # Com1
219 device pnp 2e.2 off # Com2
223 device pnp 2e.3 off # Parallel Port
227 device pnp 2e.4 off end # EC
228 device pnp 2e.5 on # Keyboard
233 device pnp 2e.6 on # Mouse
236 device pnp 2e.7 off # GPIO, must be closed for unresolved reason.
238 device pnp 2e.8 off # MIDI
242 device pnp 2e.9 off # GAME
245 device pnp 2e.a off end # CIR
246 end #superio/ite/it8712f
248 device pci 14.4 on end # PCI 0x4384
249 device pci 14.5 on end # ACI 0x4382
250 device pci 14.6 on end # MCI 0x438e
251 register "ide0_enable" = "1"
252 register "sata0_enable" = "1"
253 register "hda_viddid" = "0x10ec0882"
254 end #southbridge/amd/sb600
255 end # device pci 18.0
257 device pci 18.0 on end
258 device pci 18.0 on end
259 device pci 18.1 on end
260 device pci 18.2 on end
261 device pci 18.3 on end
262 end #northbridge/amd/amdk8
264 end #northbridge/amd/amdk8/root_complex