2 ## Compute the location and size of where this firmware image
3 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
6 default ROM_SECTION_SIZE = FALLBACK_SIZE
7 default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
9 default ROM_SECTION_SIZE = ( ROM_SIZE - FALLBACK_SIZE )
10 default ROM_SECTION_OFFSET = 0
14 ## Compute the start location and size size of
15 ## The linuxBIOS bootloader.
17 default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
18 default CONFIG_ROM_STREAM_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
19 default CONFIG_ROM_STREAM = 1
22 ## Compute where this copy of linuxBIOS will start in the boot rom
24 default _ROMBASE = ( CONFIG_ROM_STREAM_START + PAYLOAD_SIZE )
27 ## Compute a range of ROM that can cached to speed up linuxBIOS,
30 ## XIP_ROM_SIZE must be a power of 2.
31 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
33 default XIP_ROM_SIZE=65536
34 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
40 ## Build the objects we have code for in this directory.
45 #dir /drivers/ati/ragexl
47 if HAVE_MP_TABLE object mptable.o end
48 if HAVE_PIRQ_TABLE object irq_tables.o end
54 depends "$(MAINBOARD)/failover.c ./romcc"
55 action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
58 makerule ./failover.inc
59 depends "$(MAINBOARD)/failover.c ./romcc"
60 action "./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
64 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
65 action "./romcc -E -mcpu=k8 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
68 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
69 action "./romcc -mcpu=k8 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
73 ## Build our 16 bit and 32 bit linuxBIOS entry code
75 mainboardinit cpu/x86/16bit/entry16.inc
76 mainboardinit cpu/x86/32bit/entry32.inc
77 ldscript /cpu/x86/16bit/entry16.lds
78 ldscript /cpu/x86/32bit/entry32.lds
81 ## Build our reset vector (This is where linuxBIOS is entered)
84 mainboardinit cpu/x86/16bit/reset16.inc
85 ldscript /cpu/x86/16bit/reset16.lds
87 mainboardinit cpu/x86/32bit/reset32.inc
88 ldscript /cpu/x86/32bit/reset32.lds
91 ### Should this be in the northbridge code?
92 mainboardinit arch/i386/lib/cpu_reset.inc
95 ## Include an id string (For safe flashing)
97 mainboardinit southbridge/nvidia/ck804/id.inc
98 ldscript /southbridge/nvidia/ck804/id.lds
101 ## ROMSTRAP table for CK804
103 if USE_FALLBACK_IMAGE
104 mainboardinit southbridge/nvidia/ck804/romstrap.inc
105 ldscript /southbridge/nvidia/ck804/romstrap.lds
109 ### This is the early phase of linuxBIOS startup
110 ### Things are delicate and we test to see if we should
111 ### failover to another image.
113 if USE_FALLBACK_IMAGE
114 ldscript /arch/i386/lib/failover.lds
115 mainboardinit ./failover.inc
119 ### O.k. We aren't just an intermediary anymore!
125 mainboardinit cpu/x86/fpu/enable_fpu.inc
126 mainboardinit cpu/x86/mmx/enable_mmx.inc
127 mainboardinit cpu/x86/sse/enable_sse.inc
128 mainboardinit ./auto.inc
129 mainboardinit cpu/x86/sse/disable_sse.inc
130 mainboardinit cpu/x86/mmx/disable_mmx.inc
133 ## Include the secondary Configuration files
140 # sample config for tyan/s2891
141 chip northbridge/amd/amdk8/root_complex
142 device apic_cluster 0 on
143 chip cpu/amd/socket_940
148 device pci_domain 0 on
149 chip northbridge/amd/amdk8 #mc0
150 device pci 18.0 on # northbridge
151 # devices on link 0, link 0 == LDT 0
152 chip southbridge/nvidia/ck804
153 device pci 0.0 on end # HT
154 device pci 1.0 on # LPC
155 chip superio/winbond/w83627hf
156 device pnp 2e.0 on # Floppy
161 device pnp 2e.1 off # Parallel Port
165 device pnp 2e.2 on # Com1
169 device pnp 2e.3 on # Com2
173 device pnp 2e.5 on # Keyboard
179 device pnp 2e.6 off # CIR
182 device pnp 2e.7 off # GAME_MIDI_GIPO1
187 device pnp 2e.8 off end # GPIO2
188 device pnp 2e.9 off end # GPIO3
189 device pnp 2e.a off end # ACPI
190 device pnp 2e.b on # HW Monitor
196 device pci 1.1 on # SM 0
197 chip drivers/generic/generic #dimm 0-0-0
200 chip drivers/generic/generic #dimm 0-0-1
203 chip drivers/generic/generic #dimm 0-1-0
206 chip drivers/generic/generic #dimm 0-1-1
209 chip drivers/generic/generic #dimm 1-0-0
212 chip drivers/generic/generic #dimm 1-0-1
215 chip drivers/generic/generic #dimm 1-1-0
218 chip drivers/generic/generic #dimm 1-1-1
222 device pci 1.1 on # SM 1
223 chip drivers/i2c/adm1027 # ADT7463A CPU0 temp, SYS FAN 2/3/4
226 chip drivers/i2c/adm1027 # ADT7463A CPU1 temp, CPU0/1 FAN , SYS FAN 1/5
229 chip drivers/generic/generic # Winbond HWM 0x54 CPU0/1 VRM temp, SYSFAN 6/7, SB FAN
232 chip drivers/generic/generic # Winbond HWM 0x92
235 chip drivers/generic/generic # Winbond HWM 0x94
239 device pci 2.0 on end # USB 1.1
240 device pci 2.1 on end # USB 2
241 device pci 4.0 off end # ACI
242 device pci 4.1 off end # MCI
243 device pci 6.0 on end # IDE
244 device pci 7.0 on end # SATA 1
245 device pci 8.0 on end # SATA 0
246 device pci 9.0 on # PCI
247 # chip drivers/ati/ragexl
248 chip drivers/pci/onboard
249 device pci 7.0 on end
250 register "rom_address" = "0xfff80000"
253 device pci a.0 off end # NIC
254 device pci b.0 off end # PCI E 3
255 device pci c.0 off end # PCI E 2
256 device pci d.0 on end # PCI E 1
257 device pci e.0 on end # PCI E 0
258 register "ide0_enable" = "1"
259 register "ide1_enable" = "1"
260 register "sata0_enable" = "1"
261 register "sata1_enable" = "1"
263 end # device pci 18.0
264 device pci 18.0 on end # Link 1
266 # devices on link 2, link 2 == LDT 2
267 chip southbridge/amd/amd8131
268 # the on/off keyword is mandatory
269 device pci 0.0 on end
270 device pci 0.1 on end
272 chip drivers/pci/onboard
273 device pci 9.0 on end
274 device pci 9.1 on end
277 device pci 1.1 on end
279 end # device pci 18.0
280 device pci 18.1 on end
281 device pci 18.2 on end
282 device pci 18.3 on end
287 # chip drivers/generic/debug
288 # device pnp 0.0 off end
289 # device pnp 0.1 off end
290 # device pnp 0.2 off end
291 # device pnp 0.3 off end
292 # device pnp 0.4 off end
293 # device pnp 0.5 on end