1 # $NetBSD: files.gemini,v 1.13 2018/09/21 12:04:06 skrll Exp $ 2 # 3 # Configuration info for GEMINI CPU support 4 # Based on omap/files.omap2 5 # 6 7 include "arch/arm/pic/files.pic" 8 9 file arch/arm/arm32/irq_dispatch.S 10 11 # Memory size in megabytes 12 defparam opt_gemini.h MEMSIZE 13 defflag opt_gemini.h GEMINI 14 defparam opt_gemini.h GEMINI_BUSBASE: GEMINI 15 defflag opt_gemini.h SL3516: GEMINI 16 defflag opt_gemini.h GEMINI_MASTER: GEMINI 17 defflag opt_gemini.h GEMINI_SLAVE: GEMINI 18 defflag opt_gemini.h GEMINI_SINGLE: GEMINI 19 20 # OBIO just an attach point 21 define obio { [addr=-1], [size=0], [intr=-1], [mult=1], [intrbase=-1], [nobyteacc=0] 22 } : bus_space_generic 23 device obio: obio, pcibus 24 attach obio at mainbus 25 file arch/arm/gemini/gemini_obio.c obio needs-count 26 27 # OBIO files 28 file arch/arm/gemini/gemini_space.c obio 29 ##file arch/arm/gemini/gemini_a2x_space.c obio 30 ##file arch/arm/gemini/gemini_a2x_io.S obio 31 file arch/arm/gemini/gemini_a4x_space.c obio 32 file arch/arm/arm/bus_space_a4x.S obio 33 file arch/arm/gemini/gemini_dma.c 34 35 # these bus space methods are not bus-specific ... 36 # 37 ##file arch/arm/gemini/gemini_nobyteacc_space.c obio 38 ##file arch/arm/gemini/gemini_nobyteacc_io.S obio 39 40 # GEMINI interrupt controller 41 device geminiicu: pic, pic_splfuncs 42 attach geminiicu at obio with geminiicu 43 file arch/arm/gemini/gemini_icu.c geminiicu needs-flag 44 45 # Gemini inter-processor-interrupts 46 device geminiipi {} 47 attach geminiipi at obio 48 file arch/arm/gemini/gemini_ipi.c geminiipi needs-flag 49 50 # Gemini inter-processor-messages 51 device geminiipm {} 52 attach geminiipm at geminiipi 53 file arch/arm/gemini/gemini_ipm.c geminiipm needs-flag 54 55 device gpn: ifnet, ether, arp 56 attach gpn at geminiipm 57 file arch/arm/gemini/if_gpn.c gpn needs-flag 58 59 # GEMINI GPIO controllers 60 61 # GEMINI Timers 62 device geminitmr 63 file arch/arm/gemini/gemini_timer.c geminitmr 64 defparam opt_gemini.h GEMINI_TIMER_CLOCK_FREQ 65 66 # OBIO/geminitmr 67 attach geminitmr at obio with obiotimer 68 file arch/arm/gemini/obio_timer.c obiotimer 69 70 # Gemini Watchdog timer 71 device geminiwdt: sysmon_wdog 72 file arch/arm/gemini/gemini_wdt.c geminiwdt needs-flag 73 defparam opt_gemini.h GEMINI_WDT_CLOCK_FREQ 74 75 attach geminiwdt at obio with obiowdt 76 file arch/arm/gemini/obio_wdt.c obiowdt 77 78 # NS16550 compatible serial ports 79 attach com at obio with gemini_com 80 file arch/arm/gemini/gemini_com.c gemini_com 81 82 # GEMINI LPC Bus 83 define lpcbus {[addr = -1]} 84 device lpc { [ldn=-1], [addr=-1], [size=0], [intr=-1] } 85 attach lpc at lpcbus 86 file arch/arm/gemini/gemini_lpc.c lpc needs-count 87 88 # GEMINI LPC Host Controller 89 device geminilpchc: lpcbus 90 attach geminilpchc at obio with obio_lpchc 91 file arch/arm/gemini/obio_lpchc.c obio_lpchc 92 file arch/arm/gemini/gemini_lpchc.c geminilpchc needs-count 93 94 # LPC Bus COM UARTs 95 attach com at lpc with lpc_com 96 file arch/arm/gemini/lpc_com.c lpc_com 97 98 # GEMINI GPIO controllers 99 device geminigpio: gpiobus 100 attach geminigpio at obio with geminigpio 101 file arch/arm/gemini/gemini_gpio.c geminigpio 102 103 # GEMINI USB controller 104 attach ehci at obio with ehci_obio 105 file arch/arm/gemini/obio_ehci.c ehci_obio 106 107 # GEMINI ATA controller 108 attach wdc at obio with wdc_obio 109 file arch/arm/gemini/obio_wdc.c wdc_obio 110 111 # PCI 112 device gemini_pci: pcibus 113 attach gemini_pci at obio 114 file arch/arm/gemini/gemini_pci.c pci needs-flag 115 116 # GEMINI MAC controller 117 device geminigmac { port, intr, phy }: mii, mii_bitbang 118 attach geminigmac at obio with geminigmac 119 file arch/arm/gemini/gemini_gmac.c geminigmac needs-flag 120 121 device gmc: ifnet, ether, arp, mii 122 attach gmc at geminigmac 123 file arch/arm/gemini/if_gmc.c gmc 124