11.24Sskrll#	$NetBSD: files.imx51,v 1.24 2020/06/21 16:33:34 skrll Exp $
21.1Sbsh#
31.10Shkenken# Configuration info for the Freescale i.MX5x
41.1Sbsh#
51.1Sbsh
61.1Sbshdefparam opt_imx.h				MEMSIZE
71.1Sbshdefflag opt_imx.h				IMX51
81.11Shkenkendefflag opt_imx.h				IMX50
91.1Sbsh
101.1Sbshdefine	bus_dma_generic
111.1Sbsh
121.13Shkenkenfile	arch/arm/arm32/arm32_boot.c
131.13Shkenkenfile	arch/arm/arm32/arm32_kvminit.c
141.13Shkenkenfile	arch/arm/arm32/arm32_reboot.c
151.13Shkenkenfile	arch/arm/arm32/irq_dispatch.S
161.15Shkenken
171.15Shkenkendefine	bus_dma_generic
181.13Shkenkenfile	arch/arm/arm32/armv7_generic_space.c
191.18Sryofile	arch/arm/arm/arm_generic_dma.c		bus_dma_generic needs-flag
201.13Shkenkenfile	arch/arm/arm/bus_space_a4x.S
211.1Sbsh
221.1Sbsh# iMX51 AXI/AHB bus interface and SoC domains
231.1Sbshdevice	axi { [addr=-1], [size=0], [irq=-1], [irqbase=-1]} : bus_space_generic
241.1Sbshattach	axi at mainbus
251.1Sbshfile	arch/arm/imx/imx51_axi.c		axi
261.1Sbsh
271.1Sbsh# iMX51 TrustZone Interrupt Controller
281.1Sbshinclude "arch/arm/pic/files.pic"
291.3Sbshdevice	tzic: pic, pic_splfuncs
301.1Sbshattach	tzic at axi
311.1Sbshfile	arch/arm/imx/imx51_tzic.c		tzic	needs-flag
321.1Sbsh
331.1Sbsh# iMX51 Enhanced Periodic Interrupt Timer
341.1Sbshdevice	imxclock
351.1Sbshattach	imxclock at axi
361.1Sbshfile	arch/arm/imx/imxclock.c
371.1Sbshfile	arch/arm/imx/imx51_clock.c
381.1Sbsh
391.1Sbsh# Clock Control Module
401.1Sbshdevice	imxccm
411.1Sbshattach	imxccm	at axi
421.11Shkenkenfile	arch/arm/imx/imx51_ccm.c		imxccm	needs-flag
431.11Shkenkendefflag opt_imx51clk.h				IMXCCMDEBUG
441.1Sbsh
451.1Sbsh# frequency of external low frequency clock
461.1Sbsh# typically 32000, 32768, or 38400.
471.1Sbshdefparam opt_imx51clk.h	IMX51_CKIL_FREQ
481.1Sbsh
491.1Sbsh# frequency of on-chip oscillator. typeilcally 24000000.
501.1Sbshdefparam opt_imx51clk.h	IMX51_OSC_FREQ
511.1Sbsh
521.1Sbsh# following parameters are used when imxccm is not configured in the kernel.
531.1Sbshdefparam opt_imx51clk.h IMX51_AHBCLK_FREQ
541.1Sbshdefparam opt_imx51clk.h IMX51_IPGCLK_FREQ
551.1Sbsh
561.6Shkenken# Watchdog
571.6Shkenkendevice imxwdog: sysmon_wdog
581.6Shkenkenattach imxwdog at axi
591.6Shkenkenfile   arch/arm/imx/imx51_wdog.c	imxwdog
601.6Shkenkenfile   arch/arm/imx/imxwdog.c		imxwdog
611.6Shkenken
621.1Sbsh# iMX GPIO
631.2Sbshdevice	imxgpio: gpiobus
641.2Sbshattach	imxgpio at axi
651.19Shkenkenfile	arch/arm/imx/imxgpio.c		imxgpio
661.2Sbshfile	arch/arm/imx/imx51_gpio.c	imxgpio
671.1Sbsh
681.1Sbsh# iMX IOMUX
691.1Sbshdevice	imxiomux : bus_space_generic
701.1Sbshattach	imxiomux at axi
711.2Sbshfile	arch/arm/imx/imx51_iomux.c		imxiomux
721.1Sbsh
731.11Shkenken# EPDC controller
741.11Shkenken# device	epdc : bus_dma_generic, wsemuldisplaydev, rasops16, rasops8, rasops4, rasops_rotation, vcons
751.11Shkenken# file	arch/arm/imx/imx50_epdc.c	epdc	 needs-flag
761.11Shkenken# defflag opt_imx50_epdc.h		IMXEPDCCONSOLE
771.11Shkenken# defparam opt_imx50_epdc.h		EPDC_DEBUG
781.11Shkenken
791.4Sbsh# IPU v3 controller
801.14Shkenkendevice	ipu { }
811.14Shkenkenfile	arch/arm/imx/imx51_ipuv3.c	imx_ipuv3	needs-flag
821.4Sbshdefparam opt_imx51_ipuv3.h		IPUV3_DEBUG
831.1Sbsh
841.14Shkenken# Framebuffer console
851.14Shkenkenattach	genfb at ipu with imx_genfb
861.14Shkenkenfile	arch/arm/imx/imx_genfb.c	imx_genfb
871.14Shkenken
881.1Sbsh# iMX M3IF - Multi Master Memory Interface
891.1Sbsh# iMX ESDCTL/MDDRC - Enhanced SDRAM/LPDDR memory controller
901.1Sbsh# iMX PCMCIA - PCMCIA memory controller
911.1Sbsh# iMX NANDFC - NAND Flash memory controller
921.1Sbsh# iMX WEIM - Wireless External Interface Module
931.1Sbsh
941.1Sbsh# iMX UART
951.1Sbshdevice	imxuart
961.17Shkenkenattach	imxuart at axi with imx51_uart
971.1Sbshfile	arch/arm/imx/imxuart.c			imxuart	needs-flag
981.17Shkenkenfile	arch/arm/imx/imx51_uart.c		imx51_uart
991.1Sbshdefflag	opt_imxuart.h				IMXUARTCONSOLE
1001.1Sbsh
1011.2Sbsh# USB controller
1021.23Ssimonb# attach of this driver need to be specified in platform configuration
1031.2Sbshdevice imxusbc { unit, irq } : bus_dma_generic
1041.2Sbshfile   arch/arm/imx/imx51_usb.c			imxusbc
1051.2Sbsh
1061.2Sbshattach ehci at imxusbc with imxehci
1071.2Sbshfile   arch/arm/imx/imxusb.c			imxehci
1081.1Sbsh
1091.1Sbsh# SD host controller for SD/MMC
1101.5Sbshattach	sdhc at axi with sdhc_axi
1111.5Sbshfile	arch/arm/imx/imx51_esdhc.c		sdhc_axi
1121.1Sbsh
1131.20Sskrll# iic controller
1141.12Shkenkendevice	imxi2c: motoi2c, i2cbus, i2cexec
1151.10Shkenkenattach	imxi2c at axi
1161.10Shkenkenfile	arch/arm/imx/imxi2c.c		imxi2c
1171.10Shkenkenfile	arch/arm/imx/imx51_i2c.c	imxi2c
1181.1Sbsh
1191.20Sskrll# SPI bus controller
1201.24Sskrll# attach of this driver need to be specified in platform configuration
1211.8Shkenken# use flags to module version
1221.8Shkenkendevice  imxspi : spibus
1231.8Shkenkenfile    arch/arm/imx/imxspi.c			imxspi
1241.8Shkenkendefparam opt_imxspi.h                   	IMXSPINSLAVES
1251.8Shkenkendefparam opt_imxspi.h				IMXSPI_DEBUG
1261.8Shkenken# attach	imxspi at axi with imx51_spi
1271.8Shkenken# file	arch/arm/imx/imx51_spi.c		imx51_spi
1281.1Sbsh
1291.1Sbsh# Smart Direct Memory Access Controller
1301.1Sbsh# device	imxsdma: dmover_service, bus_dma_generic
1311.10Shkenken# attach	imxsdma at axi
1321.1Sbsh# file	arch/arm/imx/imxsdma.c		imxsdma
1331.1Sbsh# file	arch/arm/imx/imxsdmaprog.c		imxsdma
1341.1Sbsh
1351.1Sbsh# iis sound Controller (SSI module)
1361.1Sbsh# device	imxi2s {} : bus_dma_generic
1371.1Sbsh# file	arch/arm/imx/imx51_i2s.c		imxi2s needs-flag
1381.9Shkenken
1391.20Sskrll# PWM controller
1401.22Srindevice	imxpwm: pwm, clk
1411.9Shkenkenfile	arch/arm/imx/imxpwm.c			imxpwm
1421.9Shkenkenfile	arch/arm/imx/imx51_pwm.c		imxpwm
143