Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-36
[coreboot.git] / src / mainboard / via / epia / 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 CONFIG_ROM_STREAM_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
18 default PAYLOAD_SIZE            = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
19
20 ##
21 ## Compute where this copy of linuxBIOS will start in the boot rom
22 ##
23 default _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 ##
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=c3 -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=c3 -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 ./auto.inc
119 mainboardinit cpu/x86/mmx/disable_mmx.inc
120
121 ##
122 ## Include the secondary Configuration files 
123 ##
124 dir /pc80
125 config chip.h
126
127 chip northbridge/via/vt8601
128         device pci_domain 0 on
129                 device pci 0.0 on end                   # Northbridge
130                 device pci 0.1 on                       # AGP bridge
131                 #       chip drivers/pci/onboard        # Integrated VGA
132                 #               device pci 0.0 on end
133                 #               register "rom_adress" = "0xfff80000"
134                 #       end
135                 end
136                 chip southbridge/via/vt8231
137                         register "enable_native_ide" = "0"
138                         register "enable_com_ports" = "1"
139                         register "enable_keyboard" = "0"
140                         device pci 11.0 on              # Southbrdge
141                                 chip superio/winbond/w83627hf
142                                         device pnp 2e.0 on      #  Floppy
143                                            io 0x60 = 0x3f0
144                                           irq 0x70 = 6
145                                           drq 0x74 = 2
146                                         end
147                                         device pnp 2e.1 off     #  Parallel Port
148                                            io 0x60 = 0x378
149                                           irq 0x70 = 7
150                                         end
151                                         device pnp 2e.2 on      #  Com1
152                                            io 0x60 = 0x3f8
153                                           irq 0x70 = 4
154                                         end
155                                         device pnp 2e.3 off     #  Com2
156                                            io 0x60 = 0x2f8
157                                           irq 0x70 = 3
158                                         end
159                                         device pnp 2e.5 on      #  Keyboard
160                                            io 0x60 = 0x60
161                                            io 0x62 = 0x64
162                                           irq 0x70 = 1
163                                           irq 0x72 = 12
164                                         end
165                                 register "com1" = "{1}"
166                                 end
167                                 device pnp 2e.6 off end         #  CIR
168                                 device pnp 2e.7 off end         #  GAME_MIDI_GIPO1
169                                 device pnp 2e.8 off end         #  GPIO2
170                                 device pnp 2e.9 off end         #  GPIO3
171                                 device pnp 2e.a off end         #  ACPI
172                                 device pnp 2e.b on              #  HW Monitor
173                                         io 0x60 = 0x290
174                                 end
175                         end
176                         device pci 11.1 on  end         # Ide
177                         device pci 11.2 off end         # Usb port 0-1
178                         device pci 11.3 off end         # Usb port 2-3
179                         device pci 11.4 off end         # ACPI
180                         device pci 11.5 off end         # AC97 Audio
181                         device pci 11.6 on  end         # AC97 Modem
182                         device pci 12.0 on  end         # Ethernet
183                 end
184         end
185
186         chip cpu/via/model_centaur 
187         end
188 end