blob: db80ccd02aa210742ae83ae64620e52d599200ca [file] [log] [blame]
Ronald G. Minnichdf46cb22006-04-18 16:36:58 +00001##
2## Compute the location and size of where this firmware image
3## (linuxBIOS plus bootloader) will live in the boot rom chip.
4##
5if USE_FALLBACK_IMAGE
6 default ROM_SECTION_SIZE = FALLBACK_SIZE
7 default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
8else
9 default ROM_SECTION_SIZE = ( ROM_SIZE - FALLBACK_SIZE )
10 default ROM_SECTION_OFFSET = 0
11end
12
13##
14## Compute the start location and size size of
15## The linuxBIOS bootloader.
16##
17default CONFIG_ROM_STREAM_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
18default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
19
20##
21## Compute where this copy of linuxBIOS will start in the boot rom
22##
23default _ROMBASE = ( CONFIG_ROM_STREAM_START + PAYLOAD_SIZE )
24
25##
26## Compute a range of ROM that can cached to speed up linuxBIOS,
27## execution speed.
28##
29## XIP_ROM_SIZE must be a power of 2.
30## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
31##
32default XIP_ROM_SIZE=65536
33default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
34
35##
36## Set all of the defaults for an x86 architecture
37##
38
39arch i386 end
40
41##
42## Build the objects we have code for in this directory.
43##
44
45driver mainboard.o
46
47if HAVE_PIRQ_TABLE object irq_tables.o end
48#object reset.o
49
50##
51## Romcc output
52##
53makerule ./failover.E
54 depends "$(MAINBOARD)/failover.c ./romcc"
55 action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
56end
57
58makerule ./failover.inc
59 depends "$(MAINBOARD)/failover.c ./romcc"
60 action "./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
61end
62
63makerule ./auto.E
64 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
65 action "./romcc -E -mcpu=p2 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
66end
67makerule ./auto.inc
68 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
69 action "./romcc -mcpu=p2 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
70end
71
72##
73## Build our 16 bit and 32 bit linuxBIOS entry code
74##
75mainboardinit cpu/x86/16bit/entry16.inc
76mainboardinit cpu/x86/32bit/entry32.inc
77ldscript /cpu/x86/16bit/entry16.lds
78ldscript /cpu/x86/32bit/entry32.lds
79
80##
81## Build our reset vector (This is where linuxBIOS is entered)
82##
83if USE_FALLBACK_IMAGE
84 mainboardinit cpu/x86/16bit/reset16.inc
85 ldscript /cpu/x86/16bit/reset16.lds
86else
87 mainboardinit cpu/x86/32bit/reset32.inc
88 ldscript /cpu/x86/32bit/reset32.lds
89end
90
91### Should this be in the northbridge code?
92mainboardinit arch/i386/lib/cpu_reset.inc
93
94##
95## Include an id string (For safe flashing)
96##
97mainboardinit arch/i386/lib/id.inc
98ldscript /arch/i386/lib/id.lds
99
100###
101### This is the early phase of linuxBIOS startup
102### Things are delicate and we test to see if we should
103### failover to another image.
104###
105if USE_FALLBACK_IMAGE
106 ldscript /arch/i386/lib/failover.lds
107 mainboardinit ./failover.inc
108end
109
110###
111### O.k. We aren't just an intermediary anymore!
112###
113
114##
115## Setup RAM
116##
117mainboardinit cpu/x86/fpu/enable_fpu.inc
118mainboardinit ./auto.inc
119
120##
121## Include the secondary Configuration files
122##
123dir /pc80
124config chip.h
125
126chip northbridge/amd/gx2
Ronald G. Minnich2d7bb592006-06-18 02:28:07 +0000127 register "irqmap" = "0xaa5b"
Li-Ta Lo05c08692006-04-20 21:26:01 +0000128 device apic_cluster 0 on
129 chip cpu/amd/model_gx2
130 device apic 0 on end
131 end
132 end
133 device pci_domain 0 on
134 device pci 1.0 on end
135 device pci 1.1 on end
136 chip southbridge/amd/cs5536
Ronald G. Minnichc01fe5d2006-05-03 03:30:23 +0000137 register "enable_gpio0_inta" = "1"
Ronald G. Minnich88fb1a62006-06-22 04:37:27 +0000138 register "enable_ide_nand_flash" = "1"
139 register "enable_uarta" = "1"
140 register "audio_irq" = "5"
141 register "usbf4_irq" = "10"
Ronald G. Minnich707097f2006-06-27 02:26:06 +0000142 register "usbf5_irq" = "10"
Ronald G. Minnich88fb1a62006-06-22 04:37:27 +0000143 register "usbf6_irq" = "0"
144 register "usbf7_irq" = "0"
Li-Ta Lo05c08692006-04-20 21:26:01 +0000145 device pci d.0 on end # Realtek 8139 LAN
146 device pci f.0 on end # ISA Bridge
147 device pci f.2 on end # IDE Controller
148 device pci f.3 on end # Audio
149 device pci f.4 on end # OHCI
Ronald G. Minnich92e8b802006-06-24 14:46:26 +0000150 device pci f.5 on end # UHCI
Li-Ta Lo05c08692006-04-20 21:26:01 +0000151 end
152 end
Ronald G. Minnichdf46cb22006-04-18 16:36:58 +0000153end
154