1#	$NetBSD: files.hpcmips,v 1.110 2022/05/23 21:46:12 andvar Exp $
2
3# maxpartitions must be first item in files.${ARCH}.
4maxpartitions 8
5
6maxusers 2 8 64
7
8#
9# Stack-less Just-In-Time compiler
10#
11
12include	"external/bsd/sljit/conf/files.sljit"
13
14#
15# Machine-independent I2O drivers.
16#
17
18include "dev/i2o/files.i2o"
19
20#
21# Machine-independent SCSI drivers
22#
23
24include "dev/scsipi/files.scsipi"
25
26#
27# Machine-independent ATA drivers
28#
29
30include "dev/ata/files.ata"
31
32#
33# APM emulation
34#
35
36include "dev/hpc/files.hpcapm"
37file	arch/hpcmips/hpcmips/hpcapm_machdep.c	hpcapm
38
39#
40# Bus-independent devices
41#
42device mainbus { [platform = -1] }: hpcapmif
43attach mainbus at root
44
45device cpu				# not optional
46attach cpu at mainbus
47file arch/hpcmips/hpcmips/cpu.c		cpu
48
49# CPU support option headers
50defflag	opt_vr41xx.h	VR41XX VR4101 VR4102 VR4111 VR4121 VR4122 VR4181 VR4131
51defflag	opt_tx39xx.h	TX39XX TX3911 TX3912 TX3922
52
53#
54# CPU-dependent files
55#
56file	arch/hpcmips/vr/vr.c		vr41xx	# NEC VR4000 series
57file	arch/hpcmips/vr/vr_idle.S	vr41xx
58file	arch/hpcmips/tx/tx39.c		tx39xx	# TOSHIBA TX3900 series
59
60file	arch/hpcmips/hpcmips/autoconf.c
61file	arch/hpcmips/hpcmips/bus_dma.c
62file	arch/hpcmips/hpcmips/bus_space.c
63file	arch/hpcmips/hpcmips/bus_space_notimpl.c
64file	arch/hpcmips/hpcmips/bus_space_through.c
65file	arch/hpcmips/hpcmips/interrupt.c
66file	arch/hpcmips/hpcmips/machdep.c
67file	arch/hpcmips/hpcmips/mainbus.c
68
69file	dev/bus_dma/bus_dmamem_common.c
70
71file	dev/kloader.c				kloader
72file	arch/hpcmips/hpcmips/kloader_machdep.c	kloader
73file	arch/hpcmips/hpcmips/kloader_vr41.S	vr41xx & kloader
74file	arch/hpcmips/hpcmips/kloader_tx39.S	tx39xx & kloader
75defflag	opt_no_symbolsz_entry.h		NO_SYMBOLSZ_ENTRY
76defflag	opt_kloader.h			KLOADER
77defflag	debug_kloader.h			KLOADER_DEBUG
78defparam opt_kloader_kernel_path.h	KLOADER_KERNEL_PATH
79
80defparam opt_memsize.h			MEMSIZE
81
82#
83# H/PC Platform common files.
84#
85include "arch/hpc/conf/files.hpc"
86file	arch/hpc/hpc/disksubr.c			disk
87include "dev/hpc/files.bicons"
88include "dev/hpc/files.hpcfb"
89include "dev/hpc/files.hpckbd"
90include "dev/hpc/files.hpctp"
91
92#
93# Debug utility
94#
95include "arch/hpc/conf/files.debug"
96
97# Console autoconfiguration code: selects between a framebuffers
98file	dev/cons.c
99
100#
101# ISA bus support
102#
103include "dev/pci/files.pci"	# XXX some ISA devs are 'at pci' too.
104include "dev/isa/files.isa"
105
106#
107#  Vr41xx integrated peripherals
108#
109device vripif { [addr=-1], [size=-1], [addr2=-1], [size2=-1], [unit=-1], [pwctl=-1], [platform = -1] }
110define vrip_common
111file arch/hpcmips/vr/vrip.c		vrip_common needs-flag
112file arch/hpcmips/vr/vrip_spl.S		vrip_common
113device vrip: vripif
114attach vrip at mainbus: vrip_common
115device vr4102ip: vripif
116attach vr4102ip at mainbus: vrip_common
117file arch/hpcmips/vr/vr4102ip.c		vr4102ip
118device vr4122ip: vripif
119attach vr4122ip at mainbus: vrip_common
120file arch/hpcmips/vr/vr4122ip.c		vr4122ip
121device vr4181ip: vripif
122attach vr4181ip at mainbus: vrip_common
123file arch/hpcmips/vr/vr4181ip.c		vr4181ip
124
125device vrbcu
126attach vrbcu at vripif
127file arch/hpcmips/vr/bcu_vrip.c			vrbcu needs-flag
128
129device vrrtc
130attach vrrtc at vripif
131file arch/hpcmips/vr/rtc.c			vrrtc needs-flag
132
133device vrcmu
134attach vrcmu at vripif
135file arch/hpcmips/vr/cmu.c			vrcmu needs-flag
136
137include "dev/hpc/files.hpcio"
138device	vrisabif {[platform = -1], [isaportoffset=0], [isamemoffset=0]}		# GIU attachment
139
140device vrgiu: vrisabif, hpcioif
141attach vrgiu at vripif
142file arch/hpcmips/vr/vrgiu.c			vrgiu
143
144device vr4181giu: vrisabif, hpcioif
145attach vr4181giu at vripif
146file arch/hpcmips/vr/vr4181giu.c		vr4181giu
147
148device vrisab: isabus
149attach vrisab at vrisabif
150file arch/hpcmips/isa/isa_machdep.c		vrisab
151
152device vrkiu: hpckbdif
153attach vrkiu at vripif
154file arch/hpcmips/vr/vrkiu.c			vrkiu needs-flag
155
156device vrpmu
157attach vrpmu at vripif
158file arch/hpcmips/vr/vrpmu.c			vrpmu needs-flag
159
160device vrdsu
161attach vrdsu at vripif
162file arch/hpcmips/vr/vrdsu.c			vrdsu needs-flag
163
164device vrled
165attach vrled at vripif
166file arch/hpcmips/vr/vrled.c			vrled needs-flag
167
168define	vrpiu_common
169file arch/hpcmips/vr/vrpiu.c			vrpiu_common
170device vrpiu: wsmousedev
171attach vrpiu at vripif: hpctpanel, vrpiu_common
172device vrc4173piu: wsmousedev
173attach vrc4173piu at vripif: hpctpanel, vrpiu_common
174
175device vrdsiu_mouse: wsmousedev
176attach vrdsiu_mouse at vripif
177file arch/hpcmips/vr/vrdsiu_mouse.c		vrdsiu_mouse
178
179attach ohci at vripif with ohci_vrip
180file arch/hpcmips/dev/ohci_vrip.c		ohci_vrip
181
182device vrpciu: pcibus
183attach vrpciu at vripif
184file arch/hpcmips/vr/vrpciu.c			vrpciu needs-flag
185
186defflag opt_mq200.h	MQ200_DEBUG MQ200_USECRT
187device mqvideo: hpcfbif
188attach mqvideo at vripif with mqvideo_vrip
189file arch/hpcmips/vr/mq200_vrip.c		mqvideo_vrip
190file arch/hpcmips/dev/mq200.c			mqvideo
191file arch/hpcmips/dev/mq200subr.c		mqvideo
192file arch/hpcmips/dev/mq200debug.c		mqvideo
193file arch/hpcmips/dev/mq200machdep.c		mqvideo
194
195attach mqvideo at pci with mqvideo_pci
196file arch/hpcmips/dev/mq200_pci.c		mqvideo_pci
197
198device ite8181video: hpcfbif, hpccmap
199attach ite8181video at vripif with ite8181video_vrip
200file arch/hpcmips/vr/ite8181_vrip.c		ite8181video_vrip
201file arch/hpcmips/dev/ite8181.c			ite8181video
202
203defflag opt_vrc4172pci.h	VRC4172PCI_MCR700_SUPPORT
204device vrc4172pci: pcibus
205attach vrc4172pci at vripif
206file arch/hpcmips/vr/vrc4172pci.c		vrc4172pci
207
208device vrc4172pwm
209attach vrc4172pwm at vripif
210file arch/hpcmips/vr/vrc4172pwm.c		vrc4172pwm needs-flag
211
212device vrc4172gpio: hpcioif, vrisabif
213attach vrc4172gpio at hpcioif
214file arch/hpcmips/vr/vrc4172gpio.c		vrc4172gpio
215
216device vrc4173cardu: pcmciabus
217attach vrc4173cardu at pci
218file arch/hpcmips/pci/vrc4173cardu.c		vrc4173cardu
219
220device vrc4173bcu: vripif
221attach vrc4173bcu at pci
222file arch/hpcmips/vr/vrc4173bcu.c		vrc4173bcu
223
224#
225#	TOSHIBA TX3912/3922
226#
227defflag			TX39_WATCHDOGTIMER
228defflag			TX39ICU_DEBUG
229defflag			TX39CLOCK_DEBUG
230defflag			TX39BIU_DEBUG
231defflag			TX39POWER_DEBUG
232defflag			TX39UART_DEBUG
233defflag			USE_POLL
234
235device txsim { }
236device txcsbusif {[platform = -1]}
237device txcomif {[slot = -1]}
238device txsibif {[slot = -1]}
239device txspiif {[slot = -1]}
240device ucbif { }
241device irif { }
242
243attach txsim at mainbus
244file arch/hpcmips/tx/txsim.c		txsim
245file arch/hpcmips/tx/txsnd.c		txsim
246
247device tx39biu: txcsbusif
248attach tx39biu at txsim
249file arch/hpcmips/tx/tx39biu.c		tx39biu
250
251device txcsbus {[regcs=-1], [regcsbase=0], [regcssize=-1], [regcswidth=-1], [iocs=-1], [iocsbase=0], [iocssize=-1], [iocswidth=-1], [memcs=-1], [memcsbase=0], [memcssize=-1], [memcswidth=-1], [irq1=-1], [irq2=-1], [irq3=-1]}
252attach txcsbus at txcsbusif
253file arch/hpcmips/tx/txcsbus.c		txcsbus
254
255device tx39icu
256attach tx39icu at txsim
257file arch/hpcmips/tx/tx39icu.c		tx39icu
258
259device tx39power
260attach tx39power at txsim
261file arch/hpcmips/tx/tx39power.c	tx39power
262
263device tx39clock
264attach tx39clock at txsim
265file arch/hpcmips/tx/tx39clock.c	tx39clock
266
267device tx3912video: hpcfbif
268attach tx3912video at txsim
269file arch/hpcmips/tx/tx3912video.c	tx3912video
270
271device tx39io
272attach tx39io at txsim
273file arch/hpcmips/tx/tx39io.c		tx39io
274
275device txioman: hpcioif
276attach txioman at txsim
277file arch/hpcmips/tx/txioman.c		txioman
278
279device tx39sib: txsibif
280attach tx39sib at txsim
281file arch/hpcmips/tx/tx39sib.c		tx39sib
282
283device tx39spi: txspiif
284attach tx39spi at txsim
285file arch/hpcmips/tx/tx39spi.c		tx39spi
286
287#	PHILIPS UCB1200 / TOSHIBA TC35413F (modem/audio analog front-end)
288device ucb: ucbif
289attach ucb at txsibif
290file arch/hpcmips/dev/ucb1200.c		ucb
291
292device ucbtp: wsmousedev
293attach ucbtp at ucbif: hpctpanel
294file arch/hpcmips/dev/ucbtp.c		ucbtp
295
296device ucbsnd
297attach ucbsnd at ucbif
298file arch/hpcmips/dev/ucbsnd.c		ucbsnd		needs-flag
299
300device ucbio
301attach ucbio at ucbif
302file arch/hpcmips/dev/ucbio.c		ucbio
303
304device tx39uart: txcomif
305attach tx39uart at txsim
306file arch/hpcmips/tx/tx39uart.c		tx39uart	needs-flag
307
308device txcom: irif
309attach txcom at txcomif
310file arch/hpcmips/tx/txcom.c		txcom
311
312device tx39ir
313attach tx39ir at irif
314file arch/hpcmips/tx/tx39ir.c		tx39ir
315
316#	ITE IT8368E PCMCIA / TOSHIBA TC6345AF buffer chip (PCMCIA)
317device it8368e: pcmciabus
318attach it8368e at txcsbus
319file arch/hpcmips/dev/it8368.c		it8368e
320
321#	MITUBISHI M38813 keryboard controller
322device m38813c: hpckbdif
323attach m38813c at txcsbus
324file arch/hpcmips/dev/m38813c.c		m38813c		needs-flag
325
326#	PHILIPS 74ALVC16241 / TOSHIBA TC5165BTFS buffer driver (keyboard)
327device tc5165buf: hpckbdif
328attach tc5165buf at txcsbus
329file arch/hpcmips/dev/tc5165buf.c	tc5165buf	needs-flag
330
331#	TOSHIBA TC6358E(Plum2)
332device plumif {}
333device plum: plumif
334attach plum at txcsbus
335file arch/hpcmips/dev/plum.c		plum
336
337device plumicu
338attach plumicu at plumif
339file arch/hpcmips/dev/plumicu.c		plumicu
340
341device plumpower
342attach plumpower at plumif
343file arch/hpcmips/dev/plumpower.c	plumpower
344
345device plumvideo: hpcfbif
346attach plumvideo at plumif
347file arch/hpcmips/dev/plumvideo.c	plumvideo
348
349device plumpcmcia: pcmciabus
350attach plumpcmcia at plumif
351file arch/hpcmips/dev/plumpcmcia.c	plumpcmcia
352
353device plumiobusif {[platform = -1], [slot = -1]}
354device plumiobus: plumiobusif
355attach plumiobus at plumif
356file arch/hpcmips/dev/plumiobus.c	plumiobus
357
358device plumisab: isabus
359attach plumisab at plumiobusif
360file arch/hpcmips/isa/plumisa_machdep.c	plumisab
361
362# OHCI USB controller
363attach	ohci at plumif with plumohci
364file	arch/hpcmips/dev/plumohci.c	plumohci	needs-flag
365
366#device txisab: isabus
367#attach txisab at txcsbus
368#file arch/hpcmips/isa/txisa_machdep.c	txisab
369
370file	dev/hpc/video_subr.c		tx3912video | plumvideo
371
372# Sharp Telios LCD and battery control driver
373device	teliosio
374attach	teliosio at txcsbus
375file	arch/hpcmips/dev/teliosio.c	teliosio
376
377#
378#	Real-time clock (not optional)
379#
380file	arch/hpcmips/hpcmips/clock.c
381
382# Floppy disk controller
383device	fdc {drive = -1}
384#attach	fdc at isa
385#device	fd: disk, isadma
386device	fd: disk
387#attach	fd at fdc
388file	arch/i386/isa/fd.c		fdc needs-flag
389
390# XXXX pcic here because it needs to be late.  The catch: pcic needs
391# to be late, so devices which attach to it are attached late.  But it
392# needs to be before its isa and pci attachments.  This answer is
393# non-optimal, but I don't have a better answer right now.
394
395# PCIC pcmcia controller
396# XXX this needs to be done very late, so it's done here.  This feels
397# like a kludge, but it might be for the best.
398
399defparam		PCIC_ISA_ALLOC_IOBASE
400defparam		PCIC_ISA_ALLOC_IOSIZE
401defparam		PCIC_ISA_INTR_ALLOC_MASK
402
403device	pcic: pcmciabus
404file	dev/ic/i82365.c			pcic
405
406#
407# PCIC pcmcia controller
408#
409attach	pcic at isa with pcic_isa
410file	dev/isa/i82365_isa.c			pcic_isa
411file	dev/isa/i82365_isasubr.c		pcic_isa
412
413# PCIC pcmcia controller on vrip bus.
414attach	pcic at vripif with pcic_vrip
415file	arch/hpcmips/vr/vrecu.c			pcic_vrip
416
417#
418# Machine-independent PCMCIA drivers
419#
420include "dev/pcmcia/files.pcmcia"
421
422# Serial Interface Unit
423attach com at vripif with com_vrip
424file	arch/hpcmips/vr/com_vrip.c		com_vrip needs-flag
425
426attach com at hpcioif with com_hpcio
427file arch/hpcmips/dev/com_hpcio.c		com_hpcio needs-flag
428
429# Memory Disk for boot tape
430file dev/md_root.c				memory_disk_hooks
431
432include "dev/usb/files.usb"
433
434# DMA Address Unit
435device vrdmaau
436attach vrdmaau at vripif
437file arch/hpcmips/vr/vrdmaau.c	vrdmaau
438
439# DMA Control Unit
440device vrdcu
441attach vrdcu at vripif
442file arch/hpcmips/vr/vrdcu.c	vrdcu
443
444# Audio Interface Unit
445device vraiu: audiobus
446attach vraiu at vripif
447file arch/hpcmips/vr/vraiu.c	vraiu
448
449# VR4181 Audio Interface Unit
450device vr4181aiu
451attach vr4181aiu at vripif
452file arch/hpcmips/vr/vr4181aiu.c	vr4181aiu	needs-flag
453
454# Flash memory on L-card+	XXX should not be here
455device vrflash
456attach vrflash at vripif with flash_vrip
457file arch/hpcmips/vr/flash_vrip.c	flash_vrip	needs-flag
458
459# OptPoint on Telios HC-AJ2
460device optpoint : wsmousedev
461attach optpoint at txspiif
462file arch/hpcmips/dev/optpoint.c	optpoint
463
464file arch/hpcmips/pci/pci_machdep.c
465
466include "arch/hpcmips/conf/majors.hpcmips"
467