#       $NetBSD: files.octeon,v 1.13 2024/03/26 10:51:16 riastradh Exp $

file    arch/mips/mips/locore_octeon.S
file    arch/mips/mips/bus_dma.c
file    arch/mips/mips/mips3_clock.c
file    arch/mips/mips/mips3_clockintr.c

file    arch/mips/cavium/octeon_dma.c
file    arch/mips/cavium/octeon_intr.c
file    arch/mips/cavium/octeon_misc.c

file    arch/mips/fdt/fdt_dma_machdep.c

device  mainbus {}: fdt
attach  mainbus at root
file    arch/mips/cavium/mainbus.c              mainbus
file    arch/mips/cavium/mainbus_octeon1p.c     mainbus

device  cpunode { [core=-1] }
attach  cpunode at mainbus

device  cpu {}
attach  cpu at cpunode with cpu_cpunode

device  wdog: sysmon_wdog
attach  wdog at cpunode with wdog_cpunode

file    arch/mips/cavium/octeon_cpunode.c       cpunode | cpu | wdog needs-flag

# FDT
device  octintc
attach  octintc at fdt
file    arch/mips/cavium/dev/octeon_intc.c      octintc

device  octcib
attach  octcib at fdt
file    arch/mips/cavium/dev/octeon_cib.c       octcib

attach  xhci at fdt with octxhci
file    arch/mips/cavium/dev/octeon_xhci.c      octxhci

# I/O Bus

device  iobus {}
attach  iobus at mainbus
file    arch/mips/cavium/octeon_iobus.c         iobus
file    arch/mips/cavium/octeon1p_iobus.c       iobus
file    arch/mips/cavium/dev/octeon_fpa.c       iobus
file    arch/mips/cavium/dev/octeon_pow.c       iobus
file    arch/mips/cavium/dev/octeon_fau.c       iobus
file    arch/mips/cavium/dev/octeon_ipd.c       iobus
file    arch/mips/cavium/dev/octeon_pko.c       iobus
file    arch/mips/cavium/dev/octeon_asx.c       iobus

# I/O Bus devices

attach  com at iobus with com_iobus
file    arch/mips/cavium/dev/octeon_uart.c      com_iobus
options         COM_REGMAP

device  octrnm
attach  octrnm at iobus
file    arch/mips/cavium/dev/octeon_rnm.c       octrnm

device  octtwsi: i2cbus
attach  octtwsi at iobus
file    arch/mips/cavium/dev/octeon_twsi.c      octtwsi

# XXX rename to octspi?
device  octmpi: spibus
attach  octmpi at iobus
file    arch/mips/cavium/dev/octeon_mpi.c       octmpi

device  octcit {}
attach  octcit at iobus
file    arch/mips/cavium/dev/octeon_cit.c       octcit

device  octciu {}
attach  octciu at iobus
file    arch/mips/cavium/dev/octeon_ciu.c       octciu

device  octsmi {}
attach  octsmi at iobus with octsmi_iobus
attach  octsmi at fdt with octsmi_fdt
file    arch/mips/cavium/dev/octeon_smi.c       octsmi_iobus | octsmi_fdt

device  octpip {}
attach  octpip at iobus with octpip_iobus
attach  octpip at fdt with octpip_fdt
file    arch/mips/cavium/dev/octeon_pip.c       octpip_iobus | octpip_fdt

device  octgmx {}
attach  octgmx at octpip
file    arch/mips/cavium/dev/octeon_gmx.c       octgmx

# On-chip ethernet device(s)
device  cnmac: ether, ifnet, arp, mii
attach  cnmac at octgmx
file    arch/mips/cavium/dev/if_cnmac.c         cnmac

# CN3xxx/CN5xxx USB
attach  dwctwo at iobus with octdwctwo
file    arch/mips/cavium/dev/octeon_dwctwo.c    octdwctwo

# CN6xxx USB
device  octuctl {}
attach  octuctl at iobus with octuctl
file    arch/mips/cavium/dev/octeon_uctl.c      octuctl

# CN7xxx USB
device  octxctl {}
attach  octxctl at iobus with octxctl
file    arch/mips/cavium/dev/octeon_xctl.c      octuctl

# Boot-Bus

device  bootbus {}
attach  bootbus at mainbus
file    arch/mips/cavium/octeon_bootbus.c       bootbus

# Machine-independent I2O drivers.
include "dev/i2o/files.i2o"

# Machine-independent SCSI drivers
include "dev/scsipi/files.scsipi"

# Machine-independent ATA drivers
include "dev/ata/files.ata"

# Machine-independent USB device support
include "dev/usb/files.usb"

## # Machine-independent PCI device support
## include "dev/pci/files.pci"