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.imx6,v 1.18 2019/07/27 08:02:04 skrll Exp $
#
# Configuration info for the Freescale i.MX6
#

include "arch/arm/pic/files.pic"
include "arch/arm/cortex/files.cortex"

defparam opt_imx.h				MEMSIZE
defflag opt_imx.h				IMX6

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

file	arch/arm/imx/imx6_board.c

# iMX6 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/imx6_axi.c			axi

# iMX6 PCIe
device	imxpcie: pcibus
attach	imxpcie at axi with imx6_pcie
file	arch/arm/imx/imxpcie.c			imxpcie
file	arch/arm/imx/imx6_pcie.c		imx6_pcie

# iMX6 Clock Control Module
device	imxccm : clk
attach	imxccm at axi
file	arch/arm/imx/imx6_ccm.c			imxccm needs-flag
file	arch/arm/imx/imx6_clk.c			imxccm
defparam opt_imx6clk.h				IMX6_OSC_FREQ
defparam opt_imx6clk.h				IMX6_CKIL_FREQ
defparam opt_imx6clk.h				IMX6_CKIH_FREQ
defparam opt_imx6clk.h				IMX6_ANACLK1_FREQ
defparam opt_imx6clk.h				IMX6_ANACLK2_FREQ

# iMX6 Enhanced Periodic Interrupt Timer
device	imxclock
attach	imxclock at axi
file	arch/arm/imx/imxclock.c			imxclock
file	arch/arm/imx/imx6_clock.c		imxclock

# iMX6 On-Chip OTP Controller
device	imxocotp
attach	imxocotp at axi
file	arch/arm/imx/imx6_ocotp.c		imxocotp	needs-flag

# Watchdog
device imxwdog: sysmon_wdog
attach imxwdog at axi
file	arch/arm/imx/imx6_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		needs-flag
file	arch/arm/imx/imx6_gpio.c		imxgpio

# iMX6 IOMUX
device	imxiomux
attach	imxiomux at axi
file	arch/arm/imx/imx6_iomux.c		imxiomux

# iMX iic Controler
device	imxi2c: motoi2c, i2cbus, i2cexec
attach	imxi2c at axi
file	arch/arm/imx/imxi2c.c			imxi2c
file	arch/arm/imx/imx6_i2c.c			imxi2c

# iMX UART
device	imxuart
attach	imxuart at axi with imx6_uart
file	arch/arm/imx/imxuart.c			imxuart	needs-flag
file	arch/arm/imx/imx6_uart.c		imx6_uart
defflag opt_imxuart.h				IMXUARTCONSOLE

# iMX6 10/100/1000-Mbps Ethernet MAC(ENET)
device	enet: ether, ifnet, arp, mii, bus_dma_generic
attach	enet at axi
file	arch/arm/imx/if_enet.c			enet
file	arch/arm/imx/if_enet_imx6.c		enet

# USB Controller
# attach of this driver need to be specified in paltform configuration
device	imxusbc { unit, irq } : bus_dma_generic
file	arch/arm/imx/imx6_usb.c			imxusbc

# USB Phy
device	imxusbphy
attach	imxusbphy at axi
file	arch/arm/imx/imx6_usbphy.c		imxusbphy

attach	ehci at imxusbc with imxehci
file	arch/arm/imx/imxusb.c			imxehci

# uSDHC
attach	sdhc at axi with sdhc_axi
file	arch/arm/imx/imx6_usdhc.c		sdhc_axi

# iMX6 SATA Controllers (AHCI)
attach	ahcisata at axi with imx6_ahcisata
file	arch/arm/imx/imx6_ahcisata.c		imx6_ahcisata

# iMX6 Secure Non-Volatile Storage (SNVS)
device	imxsnvs
attach	imxsnvs at axi
file	arch/arm/imx/imxsnvs.c			imxsnvs
file	arch/arm/imx/imx6_snvs.c		imxsnvs