freebsd-dev/sys/arm64/conf/NOTES
Eric Joyner 71d104536b ice(4): Introduce new driver for Intel E800 Ethernet controllers
The ice(4) driver is the driver for the Intel E8xx series Ethernet
controllers; currently with codenames Columbiaville and
Columbia Park.

These new controllers support 100G speeds, as well as introducing
more queues, better virtualization support, and more offload
capabilities. Future work will enable virtual functions (like
in ixl(4)) and the other functionality outlined above.

For full functionality, the kernel should be compiled with
"device ice_ddp" like in the amd64 NOTES file, and/or
ice_ddp_load="YES" should be added to /boot/loader.conf so that
the DDP package file included in this commit can be downloaded
to the adapter. Otherwise, the adapter will fall back to a single
queue mode with limited functionality.

A man page for this driver will be forthcoming.

MFC after:	1 month
Relnotes:	yes
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D21959
2020-05-26 23:35:10 +00:00

234 lines
5.9 KiB
Plaintext

#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
# This file contains machine dependent kernel configuration notes. For
# machine independent notes, look in /sys/conf/NOTES.
#
# $FreeBSD$
#
#
# We want LINT to cover profiling as well.
# Except it's broken.
#profile 2
#
# Enable the kernel DTrace hooks which are required to load the DTrace
# kernel modules.
#
options KDTRACE_HOOKS
#
# Most of the following is copied from ARM64 GENERIC.
cpu ARM64
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
options KDTRACE_FRAME # Ensure frames are compiled in
options VFP # Floating-point support
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options INTRNG
nooptions GDB # Support remote GDB -- not supported
# SoC support
options SOC_ALLWINNER_A64
options SOC_ALLWINNER_H5
options SOC_CAVM_THUNDERX
options SOC_HISI_HI6220
options SOC_BRCM_BCM2837
options SOC_BRCM_BCM2838
options SOC_MARVELL_8K
options SOC_ROCKCHIP_RK3328
options SOC_ROCKCHIP_RK3399
options SOC_XILINX_ZYNQ
# Timer drivers
device a10_timer
# 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
# Qualcomm Snapdragon drivers
device qcom_gcc # Global Clock Controller
# VirtIO support
device virtio
device virtio_pci
device virtio_mmio
device virtio_blk
device vtnet
# CPU frequency control
device cpufreq
# Bus drivers
device al_pci # Annapurna Alpine PCI-E
options PCI_HP # PCI-Express native HotPlug
options PCI_IOV # PCI SR-IOV support
# Ethernet NICs
device mdio
device awg # Allwinner EMAC Gigabit Ethernet
device axgbe # AMD Opteron A1100 integrated NIC
device neta # Marvell Armada 370/38x/XP/3700 NIC
device smc # SMSC LAN91C111
device vnic # Cavium ThunderX NIC
device al_eth # Annapurna Alpine Ethernet NIC
device dwc_rk # Rockchip Designware
device dwc_socfpga # Altera SOCFPGA Ethernet MAC
device ice # Intel 800 Series Physical Function
device ice_ddp # Intel 800 Series DDP Package
# Etherswitch devices
device e6000sw # Marvell mv88e6085 based switches
# NVM Express (NVMe) support
device nvme # base NVMe driver
options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver
device nvd # expose NVMe namespaces as disks, depends on nvme
# MMC/SD/SDIO Card slot support
device sdhci_xenon # Marvell Xenon SD/MMC controller
device aw_mmc # Allwinner SD/MMC controller
device dwmmc
device dwmmc_altera
device rk_emmcphy
# Serial (COM) ports
device uart_msm # Qualcomm MSM UART driver
device uart_mu # RPI3 aux port
device uart_mvebu # Armada 3700 UART driver
device uart_ns8250 # ns8250-type UART driver
device uart_snps
device pl011
# USB support
device aw_usbphy # Allwinner USB PHY
device dwcotg # DWC OTG controller
device ehci_mv # Marvell EHCI USB interface
# USB ethernet support
device muge
device smsc
# Sound support
device a10_codec
# DMA controller
device a31_dmac
# GPIO / PINCTRL
device a37x0_gpio # Marvell Armada 37x0 GPIO controller
device aw_gpio # Allwinner GPIO controller
device fdt_pinctrl
device mv_gpio # Marvell GPIO controller
device mvebu_pinctrl # Marvell Pinmux Controller
device rk_gpio # RockChip GPIO Controller
device rk_pinctrl # RockChip Pinmux Controller
# I2C
device aw_rsb # Allwinner Reduced Serial Bus
device bcm2835_bsc # Broadcom BCM283x I2C bus
device twsi # Allwinner I2C controller
device rk_i2c # RockChip I2C controller
# Clock and reset controllers
device aw_ccu # Allwinner clock controller
# Interrupt controllers
device aw_nmi # Allwinner NMI support
device mv_cp110_icu # Marvell CP110 ICU
device mv_ap806_gicp # Marvell AP806 GICP
# Real-time clock support
device aw_rtc # Allwinner Real-time Clock
device mv_rtc # Marvell Real-time Clock
# Watchdog controllers
device aw_wdog # Allwinner Watchdog
# Power management controllers
device axp81x # X-Powers AXP81x PMIC
device rk805 # RockChip RK805 PMIC
# EFUSE
device aw_sid # Allwinner Secure ID EFUSE
# Thermal sensors
device aw_thermal # Allwinner Thermal Sensor Controller
device mv_thermal # Marvell Thermal Sensor Controller
# SPI
device bcm2835_spi # Broadcom BCM283x SPI bus
# PWM
device pwm
device aw_pwm
device vt_efifb
# EVDEV support
options EVDEV_SUPPORT # evdev support in legacy drivers
device aw_cir
# Pseudo devices.
options EFIRT # EFI Runtime Services
# EXT_RESOURCES pseudo devices
options EXT_RESOURCES
device clk
device phy
device hwreset
device nvmem
device regulator
device syscon
device aw_syscon
# Misc devices.
device pl330 # ARM PL330 dma controller
device xdma # xDMA framework for SoC on-chip dma controllers
# Chip-specific errata
options THUNDERX_PASS_1_1_ERRATA
options FDT
device acpi
# DTBs
makeoptions MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"
# Add CAMDEBUG stuff
options CAMDEBUG
options CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
# bring in camified MMC too
options MMCCAM
# arm64 doesn't support inb/outb, so disable chipset probing which needs it
nooptions PPC_PROBE_CHIPSET
# These cause weird issues, not sure why
nooptions DEBUG
# Makes assumptions about bus tags that aren't true on arm64
nodevice snd_cmi
# arm64 didn't exist for these releases, so doesn't have the required compat
# support. Just disable them because they are meaningless.
nooptions COMPAT_FREEBSD4
nooptions COMPAT_FREEBSD5
nooptions COMPAT_FREEBSD6
nooptions COMPAT_FREEBSD7
nooptions COMPAT_FREEBSD9
nooptions COMPAT_FREEBSD10
# arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs)
options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm