U-Boot Development Status

Amlogic SoCs support is done via full Driver Model support with default boot scheme including EFI boot support.

Mainline U-Boot is limited to be used with Linux 4.16+, where the Power Domain handling has been added.

Development is done on the master branch of U-Boot.

Official Amlogic U-Boot Documentation: https://u-boot.readthedocs.io/en/latest/board/amlogic/index.html

A custodian tree is available at https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

A mailing list has been created : u-boot-amlogic@groups.io (https://groups.io/g/u-boot-amlogic)

U-Boot mainlining progress

v2022.04 (WiP)

  • CONFIG_NET_RANDOM_ETHADDR cleanup

  • android boot support for Khadas VIM3/L

v2022.01

  • Add new SoC ID for S905Y2 found in Radxa Zero

  • pcie_dw_meson: fix usb fail when pci link fails to go up

  • Sync Amlogic DT from Linux 5.14

  • dwc3-meson-gxl: add AXG compatible

  • dts: keep back HW order for MMC devices since change in Upstream Linux

  • Cleanup local AXG DT USB nodes now everything is upstream

  • distro_bootcmd: run pci enum for scsi_boot just like it is done for nvme_boot

  • New Boards:

    • Odroid-HC4: a variant of Odroid-C4 with 2 SATA ports (via PCIe-SATA bridge)

    • Beelink GS-King X: A variant of the other Beelink board with 2 SATA ports (via USB3-SATA bridge)

    • Banana Pi M5: another credit card SBC

    • JetHub D1/H1: home automation controllers

    • Radxa Zero: another RPi Zero sized SBC

v2021.10

  • Add SMBIOS info for Khadas VIM boards

  • Fix meson-axg-mipi PHY build

  • Fix VIM3 board phy-names property setup

  • Return correct value for non emmc boot sources on VIM3

  • add kernel compression vars

  • odroid-n2: fix fdtfile suffix for n2-plus

  • sei610 & meson64_android cleanups to prepare android 11 boot support

  • use Android BCB mechanism for reboot reason instead of HW reboot flag

  • Switch meson64_android boot flow to use abootimg for A/B, AVB and DTBO support

v2021.07

  • Add proper Ethernet glue to drop mach-meson code

  • Add proper MDIO mux driver to drop mach-meson code

  • Add support for PCIe for A113d/G12A/G12B/SM1

v2021.04

  • HDMI BROKEN on G12A/G12B/SM1 HDMI is broken, this patch must be applied to fix it

  • sync amlogic GX & AXG DT to Linux 5.10

  • Add new MESON_EE driver support for GXBB & AXG

  • Add support for Libretech-CC v2, Wetek Core2, Beelink GT-King/Pro boards

  • add driver for TDO tl070wsh30 panel driver

  • meson: isolate loading of socinfo

  • Add soc_rev to environment

  • Enable G12A support for saradc

  • Add correct mmcdev on VIM3(L) & Odroid-N2(C4)

  • Read MAC from fuses for VIM3 & VIM3L boards

  • Add support for ADC function button on VIM3 & VIM3L

v2021.01

  • HDMI BROKEN on G12A/G12B/SM1 HDMI is broken, this patch must be applied to fix it

  • Add PWM driver

v2020.10

  • Add support for Odroid-C4

  • Supports fused MAC address on Odroid-N2 & Odroid-C4

v2020.07

  • USB Gadget support for GXL/GXM boards

  • USB Host support for Odroid-C2

  • add support for Libre Computer AML-S905D-PC and AML-S912-PC

v2020.04

  • Khadas VIM3L support

v2020.01

  • Add support for HDMI/CVBS outpuut for G12A/G12B/SM1

  • Add support for Khadas VIM3 board

  • Add support for SEI Robotic SEI610 board

v2019.10

  • add support for unique generated MAC adresses from SoC serial

  • adds support for the Odroid-N2 board

  • adds support for the SEI Robotic SEI510 board

v2019.07

  • Add support for Amlogic p200 & p201 Reference Designs

  • Add Amlogic SoC information display

  • Add support for the Libretech-AC AML-S805X-AC board

  • Amlogic G12A SoC support and U200 reference board

  • USB2/USB3 + OTG Support for Amlogic G12A SoC

  • add support for getting pinmux status

Note: booting Libretech-AC AML-S805X-AC board with an USB device plugged in the first USB port (next to the IR received) will fail, this will be fixed in v2019.10

v2019.04

  • Add support for HDMI output, only enabled on libretech-cc

  • Finally fixed VIM2 usb support

v2019.01

  • Add support for AXG SoC family

  • Add support for the S400 board

  • Add support for the SPIFC Controller

v2018.11

  • Add preliminary support for VPU Power Domain

  • Support for Khadas VIM2

v2018.09

  • Support for FriendlyElec Nanopi-k2

  • Fix P212 Ethernet setup

v2018.07

  • Support for GXBB, GXL & GXM SAR ADC

  • Device Tree synchronized with 4.16

  • Amlogic code cleanup

  • Add small Amlogic GX Clock driver

  • Enable of USB support for Libretech-CC ** Enabled for P212 and Khadas VIM, but Broken**

  • Enable of ADC support for Libretech-CC

v2018.05

  • Support for GXL & GXM USB Phys and Host Controller

  • Support for GXBB, GXL & GXM Reset Controller

v2018.03

  • BROKEN Avoid this version, the MMC driver crashes on a division by zero, please stick to v2018.01, the bug has been fixed in v2018.05

v2018.01

  • Support for GXL Internal PHY

  • Support for I2C Controller

  • Support for GXL SoC

  • Add BLx memory hole handling as reserved memory for FDT and EFI

  • Support for new Boards :

    • Support for P212

    • Support for Khadas VIM

    • Support for LibreTech-CC (Potato)

Mainline U-Boot Support Matrix

S905

S905X

S912 S905D

A113X

S905X2 S905D2 S905Y2

S922X A311D

S905X3

Boards

Odroid-C2 Nanopi-K2 P200 P201

P212 Khadas VIM LibreTech-CC LibreTech-AC

Khadas VIM2

S400

U200 SEI510 Radxa Zero

Odroid-N2 Khadas VIM3 Beelink GS-King X

SEI610 Khadas VIM3L Odroid-C4 Odroid-HC4 Banana Pi M5

UART

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Pinctrl/GPIO

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Clock Control

Yes

Yes

Yes

Yes

Yes

Yes

Yes

PWM

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Reset Control

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Infrared Decoder

No

No

No

No

No

No

No

Ethernet

Yes

Yes (with internal PHY)

Yes

Yes

Yes

Yes

Yes

Multi-core

Yes (PSCI)

Yes (PSCI)

Yes (PSCI)

Yes (PSCI)

Yes (PSCI)

Yes (PSCI)

Yes (PSCI)

Fuse access

Yes

Yes

Yes

Yes

Yes

Yes

Yes

SPI (FC)

Yes

Yes

Yes

Yes

Yes

Yes

No

SPI (CC)

No

No

No

No

No

No

No

I2C

Yes

Yes

Yes

Yes

Yes

Yes

Yes

USB

Yes

Yes

Yes

No

Yes

Yes

Yes

USB OTG

No

Yes

Yes

No

Yes

Yes

Yes

eMMC

Yes

Yes

Yes

Yes

Yes

Yes

Yes

SDCard

Yes

Yes

Yes

Yes

Yes

Yes

Yes

NAND

No

No

No

No

No

No

No

ADC

Yes

Yes

Yes

Yes

Yes

Yes

Yes

CVBS Output

Yes

Yes

Yes

N/A

Yes

Yes

Yes

HDMI Output

Yes

Yes

Yes

N/A

Yes

Yes

Yes

CEC

No

No

No

N/A

No

No

No

Thermal Sensor

No

No

No

No

No

No

No

LCD/LVDS Output

No

N/A

No

No

No

No

No

DSI Output

N/A

N/A

N/A

WiP

WiP

WiP

WiP

SoC (version) information

Yes

Yes

Yes

Yes

Yes

Yes

Yes

PCIe

N/A

N/A

N/A

Yes

Yes

Yes

Yes

Work in Progress

  • DSI Output support for AXG

TODO

  • Add support for changing rate of serial port (setbgr op)

  • Port Linux NAND driver to U-Boot

  • Add support for 32bit Meson 6/8/8b