Rename almost all occurences of LinuxBIOS to coreboot.
[coreboot.git] / src / mainboard / supermicro / x6dai_g / Config.lb
1 ##
2 ## Only use the option table in a normal image
3 ##
4 default USE_OPTION_TABLE = !USE_FALLBACK_IMAGE
5
6 ##
7 ## Compute the location and size of where this firmware image
8 ## (coreboot plus bootloader) will live in the boot rom chip.
9 ##
10 if USE_FALLBACK_IMAGE
11         default ROM_SECTION_SIZE   = FALLBACK_SIZE
12         default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
13 else
14         default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
15         default ROM_SECTION_OFFSET = 0
16 end
17
18 ##
19 ## Compute the start location and size size of
20 ## The coreboot bootloader.
21 ##
22 default PAYLOAD_SIZE            = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
23 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
24
25 ##
26 ## Compute where this copy of coreboot will start in the boot rom
27 ##
28 default _ROMBASE      = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
29
30 ##
31 ## Compute a range of ROM that can be cached to speed up coreboot,
32 ## execution speed.
33 ##
34 ## XIP_ROM_SIZE must be a power of 2.
35 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
36 ##
37 default XIP_ROM_SIZE=131072
38 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
39
40 ##
41 ## Set all of the defaults for an x86 architecture
42 ##
43
44 arch i386 end
45
46 ##
47 ## Build the objects we have code for in this directory.
48 ##
49
50 driver mainboard.o
51 if HAVE_MP_TABLE object mptable.o end
52 if HAVE_PIRQ_TABLE object irq_tables.o end
53 object reset.o
54
55 ##
56 ## Romcc output
57 ##
58 makerule ./failover.E
59         depends "$(MAINBOARD)/failover.c ./romcc" 
60         action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
61 end
62
63 makerule ./failover.inc
64         depends "$(MAINBOARD)/failover.c ./romcc"
65         action "./romcc    -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
66 end
67
68 makerule ./auto.E 
69         depends "$(MAINBOARD)/auto.c option_table.h ./romcc" 
70         action  "./romcc -E -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
71 end
72 makerule ./auto.inc 
73         depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
74         action  "./romcc    -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
75 end
76
77 ##
78 ## Build our 16 bit and 32 bit coreboot entry code
79 ##
80 mainboardinit cpu/x86/16bit/entry16.inc
81 mainboardinit cpu/x86/32bit/entry32.inc
82 ldscript /cpu/x86/16bit/entry16.lds
83 ldscript /cpu/x86/32bit/entry32.lds
84
85 ##
86 ## Build our reset vector (This is where coreboot is entered)
87 ##
88 if USE_FALLBACK_IMAGE 
89         mainboardinit cpu/x86/16bit/reset16.inc
90         ldscript /cpu/x86/16bit/reset16.lds
91 else
92         mainboardinit cpu/x86/32bit/reset32.inc
93         ldscript /cpu/x86/32bit/reset32.lds
94 end
95
96 ### Should this be in the northbridge code?
97 mainboardinit arch/i386/lib/cpu_reset.inc
98
99 ##
100 ## Include an id string (For safe flashing)
101 ##
102 mainboardinit arch/i386/lib/id.inc
103 ldscript /arch/i386/lib/id.lds
104
105 ###
106 ### This is the early phase of coreboot startup 
107 ### Things are delicate and we test to see if we should
108 ### failover to another image.
109 ###
110 if USE_FALLBACK_IMAGE
111         ldscript /arch/i386/lib/failover.lds 
112         mainboardinit ./failover.inc
113 end
114
115 ###
116 ### O.k. We aren't just an intermediary anymore!
117 ###
118
119 ##
120 ## Setup RAM
121 ##
122 mainboardinit cpu/x86/fpu/enable_fpu.inc
123 mainboardinit cpu/x86/mmx/enable_mmx.inc
124 mainboardinit cpu/x86/sse/enable_sse.inc
125 mainboardinit ./auto.inc
126 mainboardinit cpu/x86/sse/disable_sse.inc
127 mainboardinit cpu/x86/mmx/disable_mmx.inc
128
129 ##
130 ## Include the secondary Configuration files 
131 ##
132 dir /pc80
133 config chip.h
134
135 chip northbridge/intel/e7525 # mch
136         device pci_domain 0 on
137                 chip southbridge/intel/esb6300  # esb6300 
138                         register "pirq_a_d" = "0x0b0a0a05"
139                         register "pirq_e_h" = "0x0a0b0c80"
140                 
141                         device pci 1c.0 on end
142                 
143                         device pci 1d.0 on end
144                         device pci 1d.1 on end
145                         device pci 1d.4 on end
146                         device pci 1d.5 on end
147                         device pci 1d.7 on end
148                 
149                         device pci 1e.0 on end
150                 
151                         device pci 1f.0 on 
152                                 chip superio/winbond/w83627hf
153                                         device pnp 2e.0 off end
154                                         device pnp 2e.1 off end
155                                         device pnp 2e.2 on
156                                                  io 0x60 = 0x3f8
157                                                 irq 0x70 = 4
158                                         end
159                                         device pnp 2e.3 on
160                                                  io 0x60 = 0x2f8
161                                                 irq 0x70 = 3
162                                         end
163                                         device pnp 2e.4 off end
164                                         device pnp 2e.5 off end
165                                         device pnp 2e.6 off end
166                                         device pnp 2e.7 off end
167                                         device pnp 2e.9 off end
168                                         device pnp 2e.a on  end
169                                         device pnp 2e.b off end
170                                         device pnp 2e.f off end
171                                         device pnp 2e.10 off end
172                                         device pnp 2e.14 off end
173                                 end
174                         end
175                         device pci 1f.1 on end
176                         device pci 1f.2 on end
177                         device pci 1f.3 on end
178                         device pci 1f.5 off end
179                         device pci 1f.6 on end
180                 end
181                 device pci 00.0 on end
182                 device pci 00.1 on end 
183                 device pci 00.2 on end
184                 device pci 02.0 on end
185                 device pci 03.0 on end
186                 device pci 04.0 on end
187                 device pci 08.0 on end
188         end
189         device apic_cluster 0 on
190                 chip cpu/intel/socket_mPGA604_800Mhz # cpu0
191                         device apic 0 on end
192                 end
193                 chip cpu/intel/socket_mPGA604_800Mhz # cpu1
194                         device apic 6 on end
195                 end
196         end
197 end
198