FreeBSD/ARM on the Bananapi family (R64/R2/R3/R4)

What is Bananapi-R64 Pi?

Peripherals Support Table

Peripheral

Status

Notes

SD Card (mmc0)

Working

eMMC

Not supported

Ethernet (LAN)

Working

Ethernet (WAN)

Not supported

Ethernet switch 7531

Working

Driver WIP, needs more testing

WiFi (MT7615)

Not supported

No driver in FreeBSD yet (mt76 missing)

USB 3.0

Not supported

USB 2.0

Not supported

UART0 (console)

Working

Default console

UART1/2

Disabled

GPIO

Partial

Basic gpio WIP, need test

Pinctrl

Working

Basic pinctrl

SPI

Not supported

I2C

Not supported

PWM

Not supported

SATA

Not supported

miniPCIe

Not supported

Use for extra WiFi cards, not tested

RTC

Partial

Internal RTC supported

Watchdog

Working

Driver WIP, needs more testing

Xhci

Working

Driver WIP, needs more testing

Clocks + clocks pll

Working

Driver WIP, needs more testing

What is Bananapi-R2 Pro?

Peripherals Support Table

Peripheral

Status

Notes

SD Card (mmc0)

Working

eMMC

Not supported

Ethernet (LAN)

Working

only ChaosBSD

Ethernet (WAN)

Working

only ChaosBSD

WiFi (MT7615)

Not supported

No driver in FreeBSD yet (mt76 missing)

USB 3.0

Broken

not working

UART0 (console)

Working

Default console

UART1/2

Disabled

GPIO

Working

Basic gpio WIP, need test

Pinctrl

Working

Basic pinctrl

SPI

Not supported

I2C

Working

PWM

Not supported

Sata

Developing

not tested

miniPCIe

Working

Use for extra WiFi cards, not tested

RTC

Working

Internal RTC supported

Watchdog

Working

Clocks

Working

Support for the Ethernet MT7531 switch has been merged into ChaosBSD

What is Bananapi-R3?

Peripherals Support Table

Device Tree Node

Compatible

Function

Status

Notes

watchdog@1001c000

mediatek,mt7986-wdt

Watchdog Timer

No driver attached

Watchdog driver missing

apmixedsys@1001e000

mediatek,mt7986-apmixedsys

PLL / Clock Controller

No driver attached

Required for clock framework

pinctrl@1001f000

mediatek,mt7986a-pinctrl

Pin Multiplexing / GPIO

No driver attached

Critical dependency for GPIO and peripherals

pwm@10048000

mediatek,mt7986-pwm

PWM Controller

No driver attached

PWM output support missing

rng@1020f000

mediatek,mt7986-rng

Hardware Random Generator

No driver attached

Entropy source

crypto@10320000

inside-secure,safexcel-eip97

Crypto Accelerator

No driver attached

Hardware AES/SHA/IPsec offload

serial@11002000

mediatek,mt7986-uart

UART1

No driver attached

Clock dependency unresolved

serial@11003000

mediatek,mt7986-uart

UART2

No driver attached

Clock dependency unresolved

serial@11004000

mediatek,mt7986-uart

UART3

No driver attached

Clock dependency unresolved

i2c@11008000

mediatek,mt7986-i2c

I²C Controller

No driver attached

Required for sensors and PMICs

spi@1100a000

mediatek,mt7986-spi-ipm

SPI Controller 0

No driver attached

Flash and peripheral support

spi@1100b000

mediatek,mt7986-spi-ipm

SPI Controller 1

No driver attached

Flash and peripheral support

thermal@1100c800

mediatek,mt7986-thermal

Thermal Sensor

No driver attached

Temperature monitoring

adc@1100d000

mediatek,mt7986-auxadc

ADC

Disabled / No driver

Analog input support

usb@11200000

mediatek,mt7986-xhci

USB 3.0 XHCI

No driver attached

USB host controller

mmc@11230000

mediatek,mt7986-mmc

SD/eMMC Controller

Disabled / No driver

Storage support

pcie@11280000

mediatek,mt7986-pcie

PCIe Host Bridge

No driver attached

PCIe subsystem support

t-phy

mediatek,mt7986-tphy

USB/PCIe PHY

No driver attached

PHY framework required

efuse@11d00000

mediatek,mt7986-efuse

eFuse Controller

No driver attached

Calibration and MAC address storage

t-phy@11e10000

mediatek,mt7986-tphy

PHY Controller

No driver attached

PHY framework required

ethernet@15100000

mediatek,mt7986-eth

Ethernet MAC + DMA

No driver attached

Core networking functionality

wifi@18000000

mediatek,mt7986-wmac

Integrated Wi-Fi 6 MAC

No driver attached

Wireless subsystem

pwm-fan

pwm-fan

PWM Fan Controller

No driver attached

Depends on PWM support

gpio-keys

gpio-keys

GPIO Buttons

No driver attached

Depends on GPIO framework

i2c-gpio-0

i2c-gpio

GPIO Bitbang I²C

No driver attached

Depends on GPIO support

i2c-gpio-1

i2c-gpio

GPIO Bitbang I²C

No driver attached

Depends on GPIO support

sfp-1

sff,sfp

SFP Cage

No driver attached

Optical module support

sfp-2

sff,sfp

SFP Cage

No driver attached

Optical module support

Additional Issues

Component

Issue

OFW Resource Allocation

ofwbus0: no default resources for rid = 4, type = 1

ARM Generic Timer

could not allocate irq for optional interrupt 'hyp-virt'

UART Clock Framework

uart0: Cannot get UART clock: 6

GPIO LED Support

failed to map pin

Pinctrl Framework

Likely root cause of GPIO LED failures

Clock Framework

Required by UART, Ethernet, USB, PCIe, GPIO and other peripherals

Suggested Driver Implementation Order

  1. MT7986 Clock Framework (apmixedsys / topckgen / infracfg)
  2. MT7986 Pinctrl
  3. MT7986 GPIO
  4. MT7986 Ethernet
  5. MT7986 XHCI USB
  6. MT7986 PCIe
  7. MT7986 I²C
  8. MT7986 SPI
  9. MT7986 Wi-Fi (WMAC)
  10. Remaining drivers (Thermal, RNG, Crypto, PWM, Watchdog)

Notes

The missing clock framework appears to be the primary blocker. Multiple subsystems already fail due to unresolved clock dependencies, including UART devices.

The missing pinctrl driver is also critical because GPIO-based devices (LEDs, GPIO keys, I²C-GPIO) cannot function correctly without proper pin mapping and mux configuration.

Once clock and pinctrl support are available, a significant portion of the currently unattached devices should become functional or at least probe successfully.

arm/Bananapi (last edited 2026-06-01T12:39:53+0000 by martinfilla)