2020-02-02 08:27:08 +00:00
|
|
|
# arm-specific changes for doing a LINT build.
|
2012-11-27 01:17:50 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
|
2020-02-02 08:27:08 +00:00
|
|
|
|
|
|
|
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
|
2012-11-27 01:17:50 +00:00
|
|
|
|
2019-06-24 01:42:09 +00:00
|
|
|
# Undo options from sys/conf/NOTES that we do not want...
|
2012-11-27 01:17:50 +00:00
|
|
|
|
|
|
|
nooptions COMPAT_FREEBSD4
|
2016-03-16 15:31:09 +00:00
|
|
|
nooptions COMPAT_FREEBSD5
|
|
|
|
nooptions COMPAT_FREEBSD6
|
|
|
|
nooptions COMPAT_FREEBSD7
|
|
|
|
nooptions COMPAT_FREEBSD9
|
2019-06-24 01:42:09 +00:00
|
|
|
nooptions PPC_PROBE_CHIPSET
|
|
|
|
nooptions MAXCPU # value is set in machine/param.h
|
|
|
|
|
2012-11-27 01:17:50 +00:00
|
|
|
nodevice sym
|
|
|
|
|
2017-05-19 22:54:45 +00:00
|
|
|
nodevice ccr
|
2015-01-16 01:39:24 +00:00
|
|
|
nodevice cxgbe
|
Chelsio T4/T5 VF driver.
The cxgbev/cxlv driver supports Virtual Function devices for Chelsio
T4 and T4 adapters. The VF devices share most of their code with the
existing PF4 driver (cxgbe/cxl) and as such the VF device driver
currently depends on the PF4 driver.
Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf
PCI device driver that attaches to the VF device. It then creates
child cxgbev/cxlv devices representing ports assigned to the VF.
By default, the PF driver assigns a single port to each VF.
t4vf_hw.c contains VF-specific routines from the shared code used to
fetch VF-specific parameters from the firmware.
t4_vf.c contains the VF-specific PCI device driver and includes its
own attach routine.
VF devices are required to use a different firmware request when
transmitting packets (which in turn requires a different CPL message
to encapsulate messages). This alternate firmware request does not
permit chaining multiple packets in a single message, so each packet
results in a firmware request. In addition, the different CPL message
requires more detailed information when enabling hardware checksums,
so parse_pkt() on VF devices must examine L2 and L3 headers for all
packets (not just TSO packets) for VF devices. Finally, L2 checksums
on non-UDP/non-TCP packets do not work reliably (the firmware trashes
the IPv4 fragment field), so IPv4 checksums for such packets are
calculated in software.
Most of the other changes in the non-VF-specific code are to expose
various variables and functions private to the PF driver so that they
can be used by the VF driver.
Note that a limited subset of cxgbetool functions are supported on VF
devices including register dumps, scheduler classes, and clearing of
statistics. In addition, TOE is not supported on VF devices, only for
the PF interfaces.
Reviewed by: np
MFC after: 2 months
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D7599
2016-09-07 18:13:57 +00:00
|
|
|
nodevice cxgbev
|
2012-11-27 01:17:50 +00:00
|
|
|
nodevice snd_cmi
|
2015-06-10 15:53:39 +00:00
|
|
|
|
2019-04-13 06:30:45 +00:00
|
|
|
nodevice mpr
|
|
|
|
nodevice mps
|
2019-06-24 01:42:09 +00:00
|
|
|
|
2020-02-02 08:27:08 +00:00
|
|
|
# Build SOC-specific modules...
|
2019-06-24 01:42:09 +00:00
|
|
|
|
2020-02-02 08:27:08 +00:00
|
|
|
makeoptions MODULES_EXTRA+="allwinner"
|
|
|
|
makeoptions MODULES_EXTRA+="arm_ti"
|
|
|
|
makeoptions MODULES_EXTRA+="imx"
|
2020-01-02 22:26:54 +00:00
|
|
|
|
2020-02-02 08:27:08 +00:00
|
|
|
# Build dtb files...
|
2020-01-02 22:26:54 +00:00
|
|
|
|
2020-02-02 08:27:08 +00:00
|
|
|
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"
|