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

# arm-specific changes for doing a LINT build.
# $FreeBSD$


machine		arm armv7
cpu		CPU_CORTEXA
cpu		CPU_MV_PJ4B
makeoptions	CONF_CFLAGS+="-march=armv7a"

# Add options for armv7 that are not in sys/conf/NOTES...

options 	ARM_L2_PIPT		# Only L2 PIPT is supported
options 	FDT			# Flattened device tree support
options 	FREEBSD_BOOT_LOADER	# Process metadata passed from loader(8)
options 	INTRNG			# Include INTRNG framework
options 	LINUX_BOOT_ABI		# Process metadata passed from U-Boot
options 	PLATFORM		# Include platform_if support
options 	SMP			# Nearly all v7 SoCs are multicore
options 	VFP			# Enable floating point hardware support

# NOTE: dtrace introduces CDDL-licensed components into the kernel
device		dtrace			# dtrace core
device		dtraceall		# include all dtrace modules
options 	KDTRACE_HOOKS

# Add misc devices which are specific to various arm platforms...

device		generic_timer   # ARM Generic Timer
device		gic		# Interrupt controller
device		gpio		# gpio interface and bus
device		mpcore_timer	# ARM MPCore Timer
device		pl310		# PL310 L2 cache controller
device		pl330		# ARM PL330 dma controller
device		pmu		# PMU support (for CCNT).
device		twsi		# i2c controller on Marvel and Allwinner
device		xdma		# xDMA framework for SoC on-chip dma controllers

# Add EXT_RESOURCES pseudo devices...

options 	EXT_RESOURCES
device		clk
device		phy
device		hwreset
device		nvmem
device		regulator
device		syscon

# Backlight subsystem
device		backlight

# Undo options from sys/conf/NOTES that we do not want...

nooptions	COMPAT_FREEBSD4
nooptions	COMPAT_FREEBSD5
nooptions	COMPAT_FREEBSD6
nooptions	COMPAT_FREEBSD7
nooptions	COMPAT_FREEBSD9
nooptions	PPC_PROBE_CHIPSET
nooptions	MAXCPU		# value is set in machine/param.h

nodevice	sym

nodevice	ccr
nodevice	cxgbe
nodevice	cxgbev
nodevice	snd_cmi

nodevice	mpr
nodevice	mps

# Build SOC-specific modules...

makeoptions	MODULES_EXTRA+="allwinner"
makeoptions	MODULES_EXTRA+="arm_ti"
makeoptions	MODULES_EXTRA+="imx"

# Build dtb files...

makeoptions	MODULES_EXTRA+="dtb/allwinner"
makeoptions	MODULES_EXTRA+="dtb/am335x"
makeoptions	MODULES_EXTRA+="dtb/imx6"
makeoptions	MODULES_EXTRA+="dtb/nvidia"
makeoptions	MODULES_EXTRA+="dtb/omap4"
makeoptions	MODULES_EXTRA+="dtb/rpi"
makeoptions	MODULES_EXTRA+="dtb/zynq"