Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$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