# $NetBSD: files.imx51,v 1.24 2020/06/21 16:33:34 skrll Exp $ # # Configuration info for the Freescale i.MX5x # defparam opt_imx.h MEMSIZE defflag opt_imx.h IMX51 defflag opt_imx.h IMX50 define bus_dma_generic file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S define bus_dma_generic file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm/arm_generic_dma.c bus_dma_generic needs-flag file arch/arm/arm/bus_space_a4x.S # iMX51 AXI/AHB bus interface and SoC domains device axi { [addr=-1], [size=0], [irq=-1], [irqbase=-1]} : bus_space_generic attach axi at mainbus file arch/arm/imx/imx51_axi.c axi # iMX51 TrustZone Interrupt Controller include "arch/arm/pic/files.pic" device tzic: pic, pic_splfuncs attach tzic at axi file arch/arm/imx/imx51_tzic.c tzic needs-flag # iMX51 Enhanced Periodic Interrupt Timer device imxclock attach imxclock at axi file arch/arm/imx/imxclock.c file arch/arm/imx/imx51_clock.c # Clock Control Module device imxccm attach imxccm at axi file arch/arm/imx/imx51_ccm.c imxccm needs-flag defflag opt_imx51clk.h IMXCCMDEBUG # frequency of external low frequency clock # typically 32000, 32768, or 38400. defparam opt_imx51clk.h IMX51_CKIL_FREQ # frequency of on-chip oscillator. typeilcally 24000000. defparam opt_imx51clk.h IMX51_OSC_FREQ # following parameters are used when imxccm is not configured in the kernel. defparam opt_imx51clk.h IMX51_AHBCLK_FREQ defparam opt_imx51clk.h IMX51_IPGCLK_FREQ # Watchdog device imxwdog: sysmon_wdog attach imxwdog at axi file arch/arm/imx/imx51_wdog.c imxwdog file arch/arm/imx/imxwdog.c imxwdog # iMX GPIO device imxgpio: gpiobus attach imxgpio at axi file arch/arm/imx/imxgpio.c imxgpio file arch/arm/imx/imx51_gpio.c imxgpio # iMX IOMUX device imxiomux : bus_space_generic attach imxiomux at axi file arch/arm/imx/imx51_iomux.c imxiomux # EPDC controller # device epdc : bus_dma_generic, wsemuldisplaydev, rasops16, rasops8, rasops4, rasops_rotation, vcons # file arch/arm/imx/imx50_epdc.c epdc needs-flag # defflag opt_imx50_epdc.h IMXEPDCCONSOLE # defparam opt_imx50_epdc.h EPDC_DEBUG # IPU v3 controller device ipu { } file arch/arm/imx/imx51_ipuv3.c imx_ipuv3 needs-flag defparam opt_imx51_ipuv3.h IPUV3_DEBUG # Framebuffer console attach genfb at ipu with imx_genfb file arch/arm/imx/imx_genfb.c imx_genfb # iMX M3IF - Multi Master Memory Interface # iMX ESDCTL/MDDRC - Enhanced SDRAM/LPDDR memory controller # iMX PCMCIA - PCMCIA memory controller # iMX NANDFC - NAND Flash memory controller # iMX WEIM - Wireless External Interface Module # iMX UART device imxuart attach imxuart at axi with imx51_uart file arch/arm/imx/imxuart.c imxuart needs-flag file arch/arm/imx/imx51_uart.c imx51_uart defflag opt_imxuart.h IMXUARTCONSOLE # USB controller # attach of this driver need to be specified in platform configuration device imxusbc { unit, irq } : bus_dma_generic file arch/arm/imx/imx51_usb.c imxusbc attach ehci at imxusbc with imxehci file arch/arm/imx/imxusb.c imxehci # SD host controller for SD/MMC attach sdhc at axi with sdhc_axi file arch/arm/imx/imx51_esdhc.c sdhc_axi # iic controller device imxi2c: motoi2c, i2cbus, i2cexec attach imxi2c at axi file arch/arm/imx/imxi2c.c imxi2c file arch/arm/imx/imx51_i2c.c imxi2c # SPI bus controller # attach of this driver need to be specified in platform configuration # use flags to module version device imxspi : spibus file arch/arm/imx/imxspi.c imxspi defparam opt_imxspi.h IMXSPINSLAVES defparam opt_imxspi.h IMXSPI_DEBUG # attach imxspi at axi with imx51_spi # file arch/arm/imx/imx51_spi.c imx51_spi # Smart Direct Memory Access Controller # device imxsdma: dmover_service, bus_dma_generic # attach imxsdma at axi # file arch/arm/imx/imxsdma.c imxsdma # file arch/arm/imx/imxsdmaprog.c imxsdma # iis sound Controller (SSI module) # device imxi2s {} : bus_dma_generic # file arch/arm/imx/imx51_i2s.c imxi2s needs-flag # PWM controller device imxpwm: pwm, clk file arch/arm/imx/imxpwm.c imxpwm file arch/arm/imx/imx51_pwm.c imxpwm