# $NetBSD: files.fdt,v 1.73 2024/05/09 12:09:59 pho Exp $

include "external/bsd/libfdt/conf/files.libfdt"

defflag opt_fdt.h                               FDTBASE : libfdt, ofw_subr
defflag opt_fdt.h                               FDT: FDTBASE
defparam opt_fdt.h                              FDT_MEMORY_RANGES
defparam opt_fdt.h                              FDT_DEFAULT_STDOUT_PATH

define  fdt { [pass = 10] } : clk, pwm

device  simplebus: fdt
attach  simplebus at fdt
file    dev/fdt/fdtbus.c                        fdt

file    dev/fdt/fdt_userconf.c                  fdt & userconf

device  fregulator
attach  fregulator at fdt
file    dev/fdt/fixedregulator.c                fregulator

device  gregulator
attach  gregulator at fdt
file    dev/fdt/gpioregulator.c                 gregulator

device  pregulator
attach  pregulator at fdt
file    dev/fdt/pwmregulator.c                  pregulator

device  fclock: clk
attach  fclock at fdt
file    dev/fdt/fixedclock.c                    fclock

device  ffclock: clk
attach  ffclock at fdt
file    dev/fdt/fixedfactorclock.c              ffclock

device  gpiokeys: sysmon_envsys, sysmon_power, wskbddev, linux_keymap
attach  gpiokeys at fdt
file    dev/fdt/gpiokeys.c                      gpiokeys

device  gpioleds: leds
attach  gpioleds at fdt
file    dev/fdt/gpioleds.c                      gpioleds

file    dev/fdt/fdt_port.c                      fdt_port

device  connector: fdt_port
attach  connector at fdt with fdt_connector
file    dev/fdt/connector_fdt.c                 fdt_connector

device  panel: fdt_port
attach  panel at fdt with fdt_panel
file    dev/fdt/panel_fdt.c                     fdt_panel

attach  panel at fdt with panel_fdt: drmkms
file    dev/fdt/fdt_panel.c                     panel_fdt
makeoptions     panel_fdt       "CPPFLAGS.panel_fdt"+="${CPPFLAGS.drmkms}"

device  dispcon: fdt_port, drmkms, ddc_read_edid
attach  dispcon at fdt with dispcon_hdmi
file    dev/fdt/hdmi_connector.c                dispcon_hdmi
makeoptions     dispcon_hdmi    "CPPFLAGS.dispcon_hdmi"+="${CPPFLAGS.drmkms}"

device  iicmux: i2cbus, i2cmux
attach  iicmux at fdt with iicmux_fdt
file    dev/fdt/i2cmux_fdt.c                    iicmux_fdt

file    dev/fdt/fdt_boot.c                      fdtbase
file    dev/fdt/fdt_memory.c                    fdtbase
file    dev/fdt/fdt_openfirm.c                  fdtbase
file    dev/fdt/fdt_platform.c                  fdtbase
file    dev/fdt/fdt_subr.c                      fdtbase

file    dev/fdt/fdt_clock.c                     fdt
file    dev/fdt/fdt_dai.c                       fdt
file    dev/fdt/fdt_dma.c                       fdt
file    dev/fdt/fdt_ddb.c                       fdt & ddb
file    dev/fdt/fdt_gpio.c                      fdt
file    dev/fdt/fdt_i2c.c                       fdt
file    dev/fdt/fdt_iommu.c                     fdt
file    dev/fdt/fdt_intr.c                      fdt
file    dev/fdt/fdt_mbox.c                      fdt
file    dev/fdt/fdt_mmc_pwrseq.c                fdt
file    dev/fdt/fdt_phy.c                       fdt
file    dev/fdt/fdt_power.c                     fdt
file    dev/fdt/fdt_powerdomain.c               fdt
file    dev/fdt/fdt_pwm.c                       fdt
file    dev/fdt/fdt_regulator.c                 fdt
file    dev/fdt/fdt_reset.c                     fdt
file    dev/fdt/fdt_rtc.c                       fdt
file    dev/fdt/fdt_spi.c                       fdt
file    dev/fdt/fdt_syscon.c                    fdt
file    dev/fdt/fdt_pinctrl.c                   fdt

device  cpus: fdt
attach  cpus at fdt
file    dev/fdt/cpus.c                          cpus

device  mmcpwrseq
attach  mmcpwrseq at fdt with mmcpwrseq_simple
file    dev/fdt/mmc_pwrseq_simple.c             mmcpwrseq_simple
attach  mmcpwrseq at fdt with mmcpwrseq_emmc
file    dev/fdt/mmc_pwrseq_emmc.c               mmcpwrseq_emmc

device  syscon: fdt
attach  syscon at fdt
file    dev/fdt/syscon.c                        syscon

device  pinctrl
attach  pinctrl at fdt with pinctrl_single
file    dev/fdt/pinctrl_single.c                pinctrl_single

device  pwmbacklight
attach  pwmbacklight at fdt
file    dev/fdt/pwm_backlight.c                 pwmbacklight

device  pwmfan
attach  pwmfan at fdt
file    dev/fdt/pwm_fan.c                       pwmfan

device  ausoc: audiobus
attach  ausoc at fdt
file    dev/fdt/ausoc.c                         ausoc

device  spdiftx
attach  spdiftx at fdt
file    dev/fdt/spdif_tx.c                      spdiftx

define  fdt_display_timing
file    dev/fdt/display_timing.c                fdt_display_timing

# Display controller
attach  genfb at fdt with simplefb
file    dev/fdt/simplefb.c                      simplefb

# NS 8250 compatible UART
attach  com at fdt with ns8250_uart
file    dev/fdt/ns8250_uart.c                   ns8250_uart

# Designware APB UART
attach  com at fdt with dw_apb_uart
file    dev/fdt/dw_apb_uart.c                   dw_apb_uart

# EHCI
attach  ehci at fdt with ehci_fdt
file    dev/fdt/ehci_fdt.c                      ehci_fdt

# OHCI
attach  ohci at fdt with ohci_fdt
file    dev/fdt/ohci_fdt.c                      ohci_fdt

# Cadence USB3 XHCI
attach  xhci at fdt with cdns3_fdt
file    dev/fdt/cdns3_fdt.c                     cdns3_fdt

# Designware USB2 OTG
attach  dwctwo at fdt with dwc2_fdt
file    dev/fdt/dwc2_fdt.c                      dwc2_fdt

# Designware USB3 XHCI
attach  xhci at fdt with dwc3_fdt
file    dev/fdt/dwc3_fdt.c                      dwc3_fdt

# Designware SD/MMC
attach  dwcmmc at fdt with dwcmmc_fdt
file    dev/fdt/dwcmmc_fdt.c                    dwcmmc_fdt

# Designware Watchdog Timer
attach  dwcwdt at fdt with dwcwdt_fdt
file    dev/fdt/dwcwdt_fdt.c                    dwcwdt_fdt

# Virtio virtio,mmio
attach  virtio at fdt with virtio_mmio_fdt:     virtio_mmio
file    dev/fdt/virtio_mmio_fdt.c               virtio_mmio_fdt

# QEMU Firmware Configuration (fw_cfg) device
attach  qemufwcfg at fdt with qemufwcfg_fdt
file    dev/fdt/qemufwcfg_fdt.c                 qemufwcfg_fdt

# ARM PrimeCell General Purpose Input/Output (PL061)
attach  plgpio at fdt with plgpio_fdt
file    dev/fdt/pl061gpio_fdt.c                 plgpio_fdt

# AHCI SATA controller
attach  ahcisata at fdt with ahcisata_fdt
file    dev/fdt/ahcisata_fdt.c                  ahcisata_fdt

# Designware I2C
attach  dwiic at fdt with dwiic_fdt
file    dev/fdt/dwiic_fdt.c                     dwiic_fdt

# Cadence I2C
attach  cdnsiic at fdt with cdnsiic_fdt
file    dev/fdt/cdnsiic_fdt.c                   cdnsiic_fdt

# AMD Cryptographic Coprocessor
attach  amdccp at fdt with amdccp_fdt
file    dev/fdt/amdccp_fdt.c                    amdccp_fdt

# Arasan SDHCI controller
attach  sdhc at fdt with arasan_sdhc_fdt
file    dev/fdt/arasan_sdhc_fdt.c               arasan_sdhc_fdt

# Generic USB PHY
device  usbnopphy
attach  usbnopphy at fdt
file    dev/fdt/usbnopphy.c                     usbnopphy

# Simple Amplifier Audio Driver
device  simpleamp
attach  simpleamp at fdt
file    dev/fdt/simple_amplifier.c              simpleamp

# Broadcom GENET v5
attach  genet at fdt with genet_fdt
file    dev/fdt/genet_fdt.c                     genet_fdt

# Google Goldfish RTC
attach  gfrtc at fdt with gfrtc_fdt
file    dev/fdt/gfrtc_fdt.c                     gfrtc_fdt