0888104513af8e694489f13d0794e5a646216fe6
[coreboot.git] / src / mainboard / digitallogic / adl855pc / Config.lb
1 ##
2 ## Compute the location and size of where this firmware image
3 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
4 ##
5 if USE_FALLBACK_IMAGE
6         default ROM_SECTION_SIZE   = FALLBACK_SIZE
7         default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
8 else
9         default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
10         default ROM_SECTION_OFFSET = 0
11 end
12
13 ##
14 ## Compute the start location and size size of
15 ## The linuxBIOS bootloader.
16 ##
17 default PAYLOAD_SIZE            = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
18 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
19
20 ##
21 ## Compute where this copy of linuxBIOS will start in the boot rom
22 ##
23 default _ROMBASE      = ( CONFIG_ROM_PAYLOAD_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 ##
32 default XIP_ROM_SIZE=65536
33 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
34
35 ##
36 ## Set all of the defaults for an x86 architecture
37 ##
38
39 arch i386 end
40
41 ##
42 ## Build the objects we have code for in this directory.
43 ##
44
45 driver mainboard.o
46 if HAVE_PIRQ_TABLE object irq_tables.o end
47 #object reset.o
48
49 ##
50 ## Romcc output
51 ##
52 makerule ./failover.E
53         depends "$(MAINBOARD)/failover.c ./romcc" 
54         action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
55 end
56
57 makerule ./failover.inc
58         depends "$(MAINBOARD)/failover.c ./romcc"
59         action "./romcc    -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
60 end
61
62 makerule ./auto.E 
63         depends "$(MAINBOARD)/auto.c option_table.h ./romcc" 
64         action  "./romcc -E -mcpu=p3 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
65 end
66 makerule ./auto.inc 
67         depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
68         action  "./romcc    -mcpu=p3 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
69 end
70
71 ##
72 ## Build our 16 bit and 32 bit linuxBIOS entry code
73 ##
74 mainboardinit cpu/x86/16bit/entry16.inc
75 mainboardinit cpu/x86/32bit/entry32.inc
76 ldscript /cpu/x86/16bit/entry16.lds
77 ldscript /cpu/x86/32bit/entry32.lds
78
79 ##
80 ## Build our reset vector (This is where linuxBIOS is entered)
81 ##
82 if USE_FALLBACK_IMAGE 
83         mainboardinit cpu/x86/16bit/reset16.inc 
84         ldscript /cpu/x86/16bit/reset16.lds 
85 else
86         mainboardinit cpu/x86/32bit/reset32.inc 
87         ldscript /cpu/x86/32bit/reset32.lds 
88 end
89
90 ### Should this be in the northbridge code?
91 mainboardinit arch/i386/lib/cpu_reset.inc
92
93 ##
94 ## Include an id string (For safe flashing)
95 ##
96 mainboardinit arch/i386/lib/id.inc
97 ldscript /arch/i386/lib/id.lds
98
99 ###
100 ### This is the early phase of linuxBIOS startup 
101 ### Things are delicate and we test to see if we should
102 ### failover to another image.
103 ###
104 if USE_FALLBACK_IMAGE
105         ldscript /arch/i386/lib/failover.lds 
106         mainboardinit ./failover.inc
107 end
108
109 ###
110 ### O.k. We aren't just an intermediary anymore!
111 ###
112
113 ##
114 ## Setup RAM
115 ##
116 mainboardinit cpu/x86/fpu/enable_fpu.inc
117 mainboardinit cpu/x86/mmx/enable_mmx.inc
118 mainboardinit cpu/x86/sse/enable_sse.inc
119 mainboardinit ./auto.inc
120 mainboardinit cpu/x86/sse/disable_sse.inc
121 mainboardinit cpu/x86/mmx/disable_mmx.inc
122
123 ##
124 ## Include the secondary Configuration files 
125 ##
126 dir /pc80
127 config chip.h
128
129 ## This does not look right but it is a literal conversion of the
130 ## old version of this file.
131 chip northbridge/intel/i855pm
132         device pci_domain 0 on 
133                 device pci 0.0 on end
134                 device pci 1.0 on end
135                 chip southbridge/intel/i82801dbm
136 #                       pci 11.0 on end
137 #                       pci 11.1 on end
138 #                       pci 11.2 on end
139 #                       pci 11.3 on end
140 #                       pci 11.4 on end
141 #                       pci 11.5 on end
142 #                       pci 11.6 on end
143 #                       pci 12.0 on end
144                         register "enable_usb" = "0"
145                         register "enable_native_ide" = "0"
146                         register "enable_usb" = "0"
147                         register "enable_native_ide" = "0"
148                         chip superio/winbond/w83627hf # link 1
149                                 device pnp 2e.0 on      #  Floppy
150                                          io 0x60 = 0x3f0
151                                         irq 0x70 = 6
152                                         drq 0x74 = 2
153                                 end
154                                 device pnp 2e.1 off     #  Parallel Port
155                                          io 0x60 = 0x378
156                                         irq 0x70 = 7
157                                 end
158                                 device pnp 2e.2 on      #  Com1
159                                          io 0x60 = 0x3f8
160                                         irq 0x70 = 4
161                                 end
162                                 device pnp 2e.3 off     #  Com2
163                                         io 0x60 = 0x2f8
164                                         irq 0x70 = 3
165                                 end
166                                 device pnp 2e.5 on      #  Keyboard
167                                          io 0x60 = 0x60
168                                          io 0x62 = 0x64
169                                         irq 0x70 = 1
170                                         irq 0x72 = 12
171                                 end
172                                 device pnp 2e.6 off end #  CIR
173                                 device pnp 2e.7 off end #  GAME_MIDI_GIPO1
174                                 device pnp 2e.8 off end #  GPIO2
175                                 device pnp 2e.9 off end #  GPIO3
176                                 device pnp 2e.a off end #  ACPI
177                                 device pnp 2e.b on      #  HW Monitor
178                                          io 0x60 = 0x290
179                                 end
180                                 register "com1" = "{1}"
181                         #       register "com1" = "{1, 0, 0x3f8, 4}"
182                         #       register "lpt" = "{1}"
183                         end
184                 end
185         end
186         device apic_cluster 0 on 
187                 chip cpu/intel/socket_mPGA479M
188                         device apic 0 on end
189                 end
190         end
191 end