# arm-specific changes for doing a LINT build.


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 	FDT			# Flattened device tree support
options 	FREEBSD_BOOT_LOADER	# Process metadata passed from loader(8)
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

# PCI/PCIE
device		pci
device		pci_host_generic

# Annapurna Alpine drivers
device		al_ccu			# Alpine Cache Coherency Unit
device		al_nb_service		# Alpine North Bridge Service
device		al_iofic		# I/O Fabric Interrupt Controller
device		al_serdes		# Serializer/Deserializer
device		al_udma			# Universal DMA
device		al_pci			# Annapurna Alpine PCI-E

# Add pseudo devices...

device		clk
device		phy
device		hwreset
device		nvmem
device		regulator
device		syscon

# Backlight subsystem
device		backlight

# Serial (COM) ports
device		pl011

# Early printf using the pl011 uart under the Arm FVP
options 	SOCDEV_PA=0x1c090000
options 	SOCDEV_VA=0x1c090000
options 	EARLY_PRINTF=pl011

# 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

nooptions 	OFED
nooptions 	SDP
nooptions 	IPOIB
nooptions 	IPOIB_CM

nodevice	iser
nodevice	sym

nodevice	ccr
nodevice	cxgbe
nodevice	cxgbev
nodevice	snd_cmi

nodevice	mpr
nodevice	mps

nodevice	bnxt

# Build SOC-specific modules...

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

# Build dtb files...

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