---
title: FreeBSD X.0 Hardware Notes
sidenav: download
---

:localRel: X.Y
:doctype: article
:toc: macro
:toclevels: 2
:icons: font
:sectnums:
:source-highlighter: rouge
:experimental:

include::shared/en/urls.adoc[]

= FreeBSD {localRel} Hardware Notes

toc::[]

[[intro]]
== Introduction

This hardware compatibility note describes all hardware known to work with FreeBSD {localRel}.
Other configurations may also work, but simply have not been tested yet.
Feedback, updates, and corrections to this list are encouraged!

[[proc]]
== Supported Platforms

This section describes the CPU architectures currently supported by the FreeBSD Platform projects, their support tiers, and the systems that are supported by each Platform.

[[proc-amd64]]
=== x86-64

link:/platforms/amd64[FreeBSD/amd64] supports x86-64 as a fully-supported, link:{committers-guide}#archs[Tier-1] architecture.
Release media is expected to work on all x86-64 machines with at least 256 MiB of RAM.
This release incorporates optimizations and enhancements to leverage the full capabilities of FreeBSD/amd64-based systems, delivering improved performance across a wide range of workloads.

[[proc-arm-64]]
=== AArch64

link:/platforms/arm[FreeBSD/aarch64] supports 64-bit ARM (ARMv9 and ARMv8) as a link:{committers-guide}#archs[Tier-1] architecture.

The following devices are currently supported:

Ampere Computing:

* Altra Max
* Altra
* eMAG

link:https://wiki.freebsd.org/arm/Allwinner[Allwinner]:

* Allwinner A64 SoC
* A64-Olinuxino
* Orange Pi PC2
* Pine A64
* Pine A64+
* Pine A64+ 2GB
* Pine A64-LTS
* SOPINE
* NanoPi A64
* OrangePi PC2
* NanoPI K1 Plus
* Pine H64
* Orange Pi 3 LTS

AWS / Annapurna Labs:

* Graviton
* Graviton 2
* Graviton 3

Cavium:

* ThunderX

Microsoft:

* Windows Dev Kit 2023

NXP Semiconductors:

* LS1028A SoC
* LS1046A SoC
* LS1088A SoC
* LX2160A SoC
* Conclusive Engineering WHLE-LS1
* SolidRun HoneyComb LX2
* Traverse Technologies Ten64

link:https://wiki.freebsd.org/arm/Raspberry%20Pi[Raspberry Pi]:

* Raspberry Pi Zero 2 W
* Raspberry Pi 3
* Raspberry Pi 4

link:https://wiki.freebsd.org/arm/RockChip[RockChip]:

* RK3328 SoC
* RK3399 SoC
* RK3566 SoC
* RK3568 SoC
* NanoPC-T4
* NanoPi R2S
* NanoPi R2S-Plus
* NanoPi R4S
* Radxa
* Pinebook Pro
* Rock64
* RockPro64

Zedboard:

* Zynq 7000 SoC

[[proc-arm-32]]
=== AArch32

link:/platforms/arm[FreeBSD/armv7] supports 32-bit ARM (ARM-v7 and up) as a link:{committers-guide}#archs[Tier-2] architecture.

The following devices are currently supported:

link:https://wiki.freebsd.org/arm/Allwinner[Allwinner]:

* Allwinner A10 SoC
* Allwinner A13/R8 SoC
* Allwinner A20 SoC
* Allwinner A31 & A31s SoC
* Allwinner A83T SoC
* Allwinner H3 & H2+ SoC
* Allwinner H5 SoC
* Allwinner H6 SoC
* Cubieboard
* A10-OlinuXino-Lime
* A13-OLinuXino
* Banana Pi
* CubieBoard 2
* Lamobo R1
* Olimex A20 SOM
* PCDuino3
* BananaPi M3
* Orange Pi +2E
* OrangePi One
* Orange Pi One Lite
* Orange Pi PC
* Orange Pi Zero
* NanoPI NEO

link:https://wiki.freebsd.org/arm/imx6[NXP i.MX6]:

* Wandboard
* CuBox i
* HummingBoard

link:https://wiki.freebsd.org/arm/Raspberry%20Pi[Raspberry Pi]:

* Raspberry Pi 2 (pre v1.2)

[[proc-powerpc]]
=== POWER

FreeBSD supports 64-bit POWER as a link:{committers-guide}#archs[Tier-2] architecture.

link:/platforms/powerpc[FreeBSD/powerpc64le] supports 64-bit, bi-endian POWER9 and POWER8, including:

IBM:

* Power System LC922 (POWER9)
* Power System IC922 (POWER8)

QEMU

* PowerNV

Raptor CS:

* Talos II (POWER9)
* Blackbird (POWER9)

link:/platforms/powerpc[FreeBSD/powerpc64] supports 64-bit, big-endian POWER9 through POWER4, including the above as well as:

A-EON:

* AmigaONE X5000 (NXP QorIQ P5)

Apple:

* Power Mac G5 (PowerPC 970)
* Xserve G5 (PowerPC 970)

IBM:

* pSeries VM

[[proc-risc-v]]
=== RISC-V

link:https://wiki.freebsd.org/riscv[FreeBSD/riscv64] supports 64-bit RISC-V as a link:{committers-guide}#archs[Tier-2] architecture.

RISC-V support represents a significant milestone in the evolution of this open-source operating system.
FreeBSD was the first operating system to have bootable in-tree support for RISC-V, underscoring its commitment to embracing emerging hardware architectures.

FreeBSD currently supports the following platforms:

* HiFive Unleashed (SiFive FU540)
* HiFive Unmatched (SiFive FU740)
* StarFive VisionFive 2 (StarFive JH7110)
* Spike
* QEMU

// The "Supported Devices" section of the release notes.
// Generally processor-independent, with conditional text
// inclusion handling any architecture-dependent text.

// Within each subsection describing a class of hardware
// (i.e. Ethernet interfaces), list broad groups of devices
// alphabetically as paragraphs sorted alphabetically (frequently
// these groups will be arranged by manufacturer, i.e. 3Com
// Ethernet interfaces).

// Where applicable, a "Miscellaneous" section may follow all
// other named sections.

// These guidelines are not hard-and-fast rules, and exceptions
// will occur.  Following these guidelines (vague as they may be)
// is highly recommended to try to keep the formatting of
// this section consistent.

// We give manpage references using the &man entities where
// possible.  If a driver has no manpage (and consequently no
// &man entity, we simply give the name of the driver).
// Please avoid doing &man entity conversions unless you
// know for sure that an entity and manpage exist; sweeps through
// this file to fix "missed" conversions are likely to break the
// build.

[[support]]
== Supported Devices

This section describes the devices currently known to be supported by each device driver in FreeBSD.
If the driver in question has a manual page in the FreeBSD base distribution (most should), it is referenced here.
Information on usage, configuration, and specific models of supported devices, controllers, etc. can be found in the manual pages.

[NOTE]
====
The device lists in this document are being generated automatically from FreeBSD manual pages.
This means that some devices, which are supported by multiple drivers, may appear multiple times.
====

[[disk]]
=== Disk Controllers

&hwlist.aac;

&hwlist.aacraid;

&hwlist.ahc;

&hwlist.ahci;

&hwlist.ahd;

&hwlist.arcmsr;

&hwlist.ata;

&hwlist.ciss;

[NOTE]
====
[amd64, i386] Booting from these controllers is supported.
EISA adapters are not supported.
====

&hwlist.hpt27xx;

&hwlist.hptiop;

&hwlist.hptmv;

&hwlist.hptnr;

&hwlist.hptrr;

&hwlist.ida;

&hwlist.ips;

&hwlist.isci;

&hwlist.isp;

&hwlist.mfi;

&hwlist.mlx;

[NOTE]
====
[amd64, i386] Booting from these controllers is supported.
EISA adapters are not supported.
====

&hwlist.mmcsd;

&hwlist.mpi3mr;

&hwlist.mpr;

&hwlist.mps;

&hwlist.mpt;

&hwlist.mrsas;

&hwlist.mvs;

&hwlist.nda;

&hwlist.nvd;

&hwlist.ocs_fc;

&hwlist.pms;

&hwlist.pst;

&hwlist.sdhci;

&hwlist.siis;

&hwlist.smartpqi;

&hwlist.sym;

&hwlist.tws;

&hwlist.ufshci;

With all supported SCSI controllers, full support is provided for SCSI-I, SCSI-II, and SCSI-III peripherals, including hard disks, optical disks, tape drives (including DAT, 8mm Exabyte, Mammoth, and DLT), medium changers, processor target devices and CD-ROM drives.
WORM devices that support CD-ROM commands are supported for read-only access by the CD-ROM drivers (such as man:cd[4]).
WORM/CD-R/CD-RW writing support is provided by man:cdrecord[1], which is a part of the package:sysutils/cdrtools[] port in the Ports Collection.

The following CD-ROM type systems are supported at this time:

* SCSI interface (also includes ProAudio Spectrum and SoundBlaster SCSI) (man:cd[4])
* ATAPI IDE interface (man:acd[4])

[[ethernet]]
=== Ethernet Interfaces

&hwlist.ae;

&hwlist.age;

&hwlist.alc;

&hwlist.ale;

&hwlist.aue;

&hwlist.axe;

&hwlist.axge;

&hwlist.bce;

The man:bfe[4] driver supports Broadcom BCM4401-based Fast Ethernet devices.

&hwlist.bge;

&hwlist.bnxt;

&hwlist.bxe;

&hwlist.cas;

&hwlist.cdce;

&hwlist.cue;

&hwlist.cxgb;

&hwlist.cxgbe;

&hwlist.cxgbev;

&hwlist.dc;

&hwlist.man4.powerpc/dtsec;

&hwlist.em;

The man:ena[4] driver supports the AWS EC2 Elastic Network Adapter.

&hwlist.enic;

&hwlist.man4.i386/ep;

&hwlist.et;

&hwlist.man4.i386/ex;

&hwlist.man4.i386/fe;

&hwlist.fxp;

&hwlist.gem;

&hwlist.genet;

The man:gve[4] driver supports the Google Cloud Compute Engine (GCE) Virtual NIC (gVNIC).

&hwlist.hme;

&hwlist.ice;

&hwlist.igc;

&hwlist.ipheth;

&hwlist.ix;

&hwlist.ixl;

&hwlist.jme;

&hwlist.kue;

&hwlist.lge;

&hwlist.liquidio;

&hwlist.mgb;

&hwlist.mlx4en;

&hwlist.mlx4ib;

&hwlist.mlx5en;

&hwlist.mlx5ib;

&hwlist.mos;

&hwlist.msk;

&hwlist.muge;

&hwlist.mxge;

&hwlist.my;

&hwlist.nfe;

&hwlist.nge;

&hwlist.oce;

&hwlist.pcn;

&hwlist.qlnxe;

&hwlist.qlxgb;

&hwlist.qlxgbe;

&hwlist.qlxge;

&hwlist.re;

&hwlist.rl;

&hwlist.rue;

&hwlist.sf;

&hwlist.sfxge;

&hwlist.sge;

&hwlist.sis;

&hwlist.sk;

&hwlist.smsc;

&hwlist.sn;

&hwlist.ste;

&hwlist.stge;

&hwlist.ti;

&hwlist.tl;

&hwlist.man4.powerpc/tsec;

&hwlist.txp;

&hwlist.udav;

&hwlist.ufoma;

&hwlist.uhso;

&hwlist.ure;

&hwlist.urndis;

&hwlist.vge;

&hwlist.vr;

&hwlist.vte;

&hwlist.man4.i386/vx;

&hwlist.wb;

&hwlist.xe;

&hwlist.xl;

[[switch]]
=== Ethernet Switches

The man:adm6996fc[4] driver supports the Infineon ADM6996FC Fast Ethernet switch controller.

&hwlist.man4.arm/ar40xx;

&hwlist.arswitch;

&hwlist.e6000sw;

&hwlist.e6060sw;

The man:felix[4] driver supports the Microsemi VSC9959 Felix Gigabit Ethernet switch controller found in the NXP Layerscape LS1028A SoC.

&hwlist.ip17x;

The man:ksz8995ma[4] driver supports the Micrel KSZ8995MA/KSZ8995FQ Fast Ethernet switch controller.

&hwlist.mtkswitch;

The *rtl8366* driver supports the Realtek 8366 Gigabit Ethernet switch controller.

The *ukswitch* driver is designed to support potentially unknown Ethernet Switches.

[[wlan]]
=== Wireless Network Interfaces

&hwlist.ath;

&hwlist.ath_hal;

&hwlist.bwi;

&hwlist.bwn;

&hwlist.ipw;

&hwlist.iwi;

&hwlist.iwlwifi;

&hwlist.iwm;

&hwlist.iwn;

&hwlist.iwx;

&hwlist.malo;

Marvell 88W8363 IEEE 802.11n wireless network adapters (man:mwl[4] driver)

&hwlist.mtw;

&hwlist.otus;

&hwlist.ral;

&hwlist.rsu;

&hwlist.rtw88;

&hwlist.rtw89;

&hwlist.rtwn_pci;

&hwlist.rtwn_usb;

&hwlist.rum;

&hwlist.run;

&hwlist.uath;

&hwlist.upgt;

&hwlist.ural;

&hwlist.urtw;

&hwlist.wpi;

&hwlist.zyd;

[[misc-network]]
=== Miscellaneous Networks

&hwlist.man4.i386/ce;

&hwlist.man4.i386/cx;

&hwlist.man4.i386/cp;

&hwlist.man4.i386/ctau;

&hwlist.u3g;

&hwlist.umb;

[[serial]]
=== Serial Interfaces

&hwlist.uart;

&hwlist.scc;

&hwlist.puc;

&hwlist.uark;

&hwlist.ubsa;

&hwlist.ubser;

&hwlist.uchcom;

&hwlist.ucycom;

&hwlist.ufintek;

&hwlist.uftdi;

&hwlist.umcs;

&hwlist.umct;

&hwlist.umoscom;

&hwlist.uplcom;

&hwlist.uslcom;

&hwlist.uvscom;

[[sound]]
=== Sound Devices

&hwlist.snd_als4000;

&hwlist.snd_atiixp;

&hwlist.snd_cmi;

&hwlist.snd_cs4281;

&hwlist.snd_csa;

&hwlist.snd_emu10k1;

&hwlist.snd_emu10kx;

&hwlist.snd_envy24;

&hwlist.snd_envy24ht;

&hwlist.snd_es137x;

&hwlist.snd_fm801;

&hwlist.snd_hda;

&hwlist.snd_hdspe;

&hwlist.snd_ich;

&hwlist.snd_maestro3;

&hwlist.snd_neomagic;

&hwlist.snd_solo;

&hwlist.snd_spicds;

&hwlist.snd_t4dwave;

&hwlist.snd_uaudio;

&hwlist.snd_via8233;

&hwlist.snd_via82c686;

&hwlist.snd_vibes;

[[usb]]
=== USB Devices

A range of USB peripherals are supported; devices known to work are listed in this section.
Owing to the generic nature of most USB devices, with some exceptions any device of a given class will be supported, even if not explicitly listed here.

[NOTE]
====
USB Bluetooth adapters can be found in <<bluetooth,Bluetooth>>.

USB human interface devices can be found in <<misc,Miscellaneous>>.

USB network interfaces can be found in <<ethernet,Ethernet Interfaces>> or <<wlan,Wireless Network Interfaces>>.

USB serial interfaces can be found in <<serial,Serial Interfaces>>.
====

&hwlist.atp;

&hwlist.atopcase;

&hwlist.man4.powerpc/abtn;

&hwlist.man4.powerpc/akbd;

&hwlist.man4.powerpc/ams;

&hwlist.man4.arm/dwcotg;

The man:ehci[4] driver supports USB 2.0 controllers implementing the Enhanced Host Controller Interface standard.

&hwlist.ohci;

&hwlist.ugold;

&hwlist.uhci;

&hwlist.uipaq;

&hwlist.umass;

&hwlist.urio;

&hwlist.umodem;

&hwlist.rtsx;

&hwlist.ulpt;

&hwlist.umct;

&hwlist.uvisor;

&hwlist.xhci;

[[firewire]]
=== IEEE 1394 (Firewire) Devices

&hwlist.fwohci;

&hwlist.sbp;

[[bluetooth]]
=== Bluetooth Devices

&hwlist.ng_ubt;

[[crypto-accel]]
=== Cryptographic Accelerators

The man:aesni[4] driver supports the AES and SHA functions of x86 processors.

The man:armv8crypto[4] driver supports the AES, SHA-1, SHA-2, and finite field Arithmetic engines in processors implementing the ARMv8 Cryptograpic Extension.

The **ccp** driver supports the AMD Platform Security Processor (PSP) Cryptographic Coprocessor found in AMD Ryzen devices.

&hwlist.ccr;

The man:glxsb[4] driver supports the security block found in AMD Geode LX devices.

&hwlist.hifn;

The man:padlock[4] driver supports the AES/RNG/RSA/SHA-1, and SHA-2 engine found on Via Technologies C7, C3, and Eden devices.

&hwlist.qat;

The man:qat_c2xxx[4] driver supports the Intel QuickAssist Technology engine found on Atom C2000 devices.

&hwlist.safe;

&hwlist.safexcel;

[[misc]]
=== Miscellaneous

Keyboards including:

* HID keyboards (man:hkbd[4] driver) over USB, I2C, or Apple SPI
* USB keyboards (man:ukbd[4] driver)
* PS/2 keyboards (man:atkbd[4] driver)
* ADB keyboards (man:akbd[4] driver)
* AT-style keyboards (man:atkbd[4] driver)
* Hyper-v keyboards (**hv_kbd** driver)

Pointing devices including:

* HID mice (man:hms[4] driver) and touch devices (man:hmt[4] driver)
over USB, I2C, Hyper-V, or Apple SPI
* USB mice (man:ums[4] driver) and touch devices (man:wmt[4] driver)
* Apple laptop trackpads (man:wsp[4] or man:apt[4] drivers)
* Elantech I2C touchpads (man:ietp[4] driver)
* Chromebook Cypress APA I2C touchpads (man:cyapa[4] driver)
* PS/2 mice and compatible devices,
including many laptop pointing devices (man:psm[4] driver)
* ADB mice and touch devices (man:ams[4] driver)
* Serial mice and compatible devices

[NOTE]
====
man:moused[8] has more information on using traditional pointing devices with the FreeBSD console.
====

&hwlist.hgame;

[amd64, i386] Floppy drives (man:fdc[4] driver)

[amd64, i386] VGA-compatible video cards (man:vga[4] driver)

[NOTE]
====
Information regarding specific video cards and compatibility with Xorg can be found at link:http://www.x.org/[http://www.x.org/].
====

[amd64, i386] "PC standard" parallel ports (man:ppc[4] driver)

&hwlist.ads111x;

&hwlist.amdsbwd;

&hwlist.at45d;

&hwlist.gpioths;

&hwlist.ig4;

&hwlist.intpm;

&hwlist.mx25l;

&hwlist.netfpga10g_nf10bmac;

&hwlist.ntb_hw_plx;

&hwlist.ow_temp;

&hwlist.superio;

&hwlist.u2f;

&hwlist.udl;
