1#	$NetBSD: files.imx51,v 1.24 2020/06/21 16:33:34 skrll Exp $
2#
3# Configuration info for the Freescale i.MX5x
4#
5
6defparam opt_imx.h				MEMSIZE
7defflag opt_imx.h				IMX51
8defflag opt_imx.h				IMX50
9
10define	bus_dma_generic
11
12file	arch/arm/arm32/arm32_boot.c
13file	arch/arm/arm32/arm32_kvminit.c
14file	arch/arm/arm32/arm32_reboot.c
15file	arch/arm/arm32/irq_dispatch.S
16
17define	bus_dma_generic
18file	arch/arm/arm32/armv7_generic_space.c
19file	arch/arm/arm/arm_generic_dma.c		bus_dma_generic needs-flag
20file	arch/arm/arm/bus_space_a4x.S
21
22# iMX51 AXI/AHB bus interface and SoC domains
23device	axi { [addr=-1], [size=0], [irq=-1], [irqbase=-1]} : bus_space_generic
24attach	axi at mainbus
25file	arch/arm/imx/imx51_axi.c		axi
26
27# iMX51 TrustZone Interrupt Controller
28include "arch/arm/pic/files.pic"
29device	tzic: pic, pic_splfuncs
30attach	tzic at axi
31file	arch/arm/imx/imx51_tzic.c		tzic	needs-flag
32
33# iMX51 Enhanced Periodic Interrupt Timer
34device	imxclock
35attach	imxclock at axi
36file	arch/arm/imx/imxclock.c
37file	arch/arm/imx/imx51_clock.c
38
39# Clock Control Module
40device	imxccm
41attach	imxccm	at axi
42file	arch/arm/imx/imx51_ccm.c		imxccm	needs-flag
43defflag opt_imx51clk.h				IMXCCMDEBUG
44
45# frequency of external low frequency clock
46# typically 32000, 32768, or 38400.
47defparam opt_imx51clk.h	IMX51_CKIL_FREQ
48
49# frequency of on-chip oscillator. typeilcally 24000000.
50defparam opt_imx51clk.h	IMX51_OSC_FREQ
51
52# following parameters are used when imxccm is not configured in the kernel.
53defparam opt_imx51clk.h IMX51_AHBCLK_FREQ
54defparam opt_imx51clk.h IMX51_IPGCLK_FREQ
55
56# Watchdog
57device imxwdog: sysmon_wdog
58attach imxwdog at axi
59file   arch/arm/imx/imx51_wdog.c	imxwdog
60file   arch/arm/imx/imxwdog.c		imxwdog
61
62# iMX GPIO
63device	imxgpio: gpiobus
64attach	imxgpio at axi
65file	arch/arm/imx/imxgpio.c		imxgpio
66file	arch/arm/imx/imx51_gpio.c	imxgpio
67
68# iMX IOMUX
69device	imxiomux : bus_space_generic
70attach	imxiomux at axi
71file	arch/arm/imx/imx51_iomux.c		imxiomux
72
73# EPDC controller
74# device	epdc : bus_dma_generic, wsemuldisplaydev, rasops16, rasops8, rasops4, rasops_rotation, vcons
75# file	arch/arm/imx/imx50_epdc.c	epdc	 needs-flag
76# defflag opt_imx50_epdc.h		IMXEPDCCONSOLE
77# defparam opt_imx50_epdc.h		EPDC_DEBUG
78
79# IPU v3 controller
80device	ipu { }
81file	arch/arm/imx/imx51_ipuv3.c	imx_ipuv3	needs-flag
82defparam opt_imx51_ipuv3.h		IPUV3_DEBUG
83
84# Framebuffer console
85attach	genfb at ipu with imx_genfb
86file	arch/arm/imx/imx_genfb.c	imx_genfb
87
88# iMX M3IF - Multi Master Memory Interface
89# iMX ESDCTL/MDDRC - Enhanced SDRAM/LPDDR memory controller
90# iMX PCMCIA - PCMCIA memory controller
91# iMX NANDFC - NAND Flash memory controller
92# iMX WEIM - Wireless External Interface Module
93
94# iMX UART
95device	imxuart
96attach	imxuart at axi with imx51_uart
97file	arch/arm/imx/imxuart.c			imxuart	needs-flag
98file	arch/arm/imx/imx51_uart.c		imx51_uart
99defflag	opt_imxuart.h				IMXUARTCONSOLE
100
101# USB controller
102# attach of this driver need to be specified in platform configuration
103device imxusbc { unit, irq } : bus_dma_generic
104file   arch/arm/imx/imx51_usb.c			imxusbc
105
106attach ehci at imxusbc with imxehci
107file   arch/arm/imx/imxusb.c			imxehci
108
109# SD host controller for SD/MMC
110attach	sdhc at axi with sdhc_axi
111file	arch/arm/imx/imx51_esdhc.c		sdhc_axi
112
113# iic controller
114device	imxi2c: motoi2c, i2cbus, i2cexec
115attach	imxi2c at axi
116file	arch/arm/imx/imxi2c.c		imxi2c
117file	arch/arm/imx/imx51_i2c.c	imxi2c
118
119# SPI bus controller
120# attach of this driver need to be specified in platform configuration
121# use flags to module version
122device  imxspi : spibus
123file    arch/arm/imx/imxspi.c			imxspi
124defparam opt_imxspi.h                   	IMXSPINSLAVES
125defparam opt_imxspi.h				IMXSPI_DEBUG
126# attach	imxspi at axi with imx51_spi
127# file	arch/arm/imx/imx51_spi.c		imx51_spi
128
129# Smart Direct Memory Access Controller
130# device	imxsdma: dmover_service, bus_dma_generic
131# attach	imxsdma at axi
132# file	arch/arm/imx/imxsdma.c		imxsdma
133# file	arch/arm/imx/imxsdmaprog.c		imxsdma
134
135# iis sound Controller (SSI module)
136# device	imxi2s {} : bus_dma_generic
137# file	arch/arm/imx/imx51_i2s.c		imxi2s needs-flag
138
139# PWM controller
140device	imxpwm: pwm, clk
141file	arch/arm/imx/imxpwm.c			imxpwm
142file	arch/arm/imx/imx51_pwm.c		imxpwm
143