========================= 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) E-Mails Archives are available at: https://lore.kernel.org/u-boot-amlogic/ U-Boot mainlining progress -------------------------- v2024.04 (Work In Progress) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Add support for new GXL MDIO mux, with driver and Linux DT sync from v6.4 - clk: meson: add Hardware Clock measure driver v2024.01 ~~~~~~~~ - add Amlogic A1 clock driver - add Amlogic A1 reset support - add USB Device support for Amlogic A1 - enable RNG on Amlogic A1 & Amlogic S4 - move Amlogic Secure Monitor to standalone driver - sync A1 with Linux and add missing UART compatible - Fix environment saving for new Android boot features on vim3*_android - Add SPIFC support for Amlogic A1 - Add DFU RAM boot step when booting over USB v2023.10 ~~~~~~~~ - add support for Amlogic A1 SoC and ad401 board - add support for Videostrong KII Pro - introduce secure power domain for A1 SoC v2023.07 ~~~~~~~~ - meson_uart empty logic fix - Add initial support for BPI-CM4 - Spring Cleanup of Amlogic board documentation - add support for BananaPi M2-Pro - add support for BananaPi M2S - add support for Radxa Zero2 - add support for WeTek Hub and WeTek Play2 - switch LibreTech-CC v2 and WeTek Core2 to EE powerdomain - add support for Beelink GT1 Ultimate v2023.04 ~~~~~~~~ - Switch USB Gadget to DM ! Finally, the last legacy bit is now over - jethub j100: add rescue boot from microSD - move meson sm command to cmd/meson and add efusedump sub-command - Add new boards: - Odroid Go Ultra, a portable console based on S922X - Odroid-N2L, a smaller version of the N2+ v2023.01 ~~~~~~~~ - Implement setbrg op to meson serial device - Re-add the old PHY reset binding for nanopi-k2 v2022.10 ~~~~~~~~ - Updated work e-mail of Neil Armstrong - fixup error on efuse commands return - add documentation on boot flow v2022.07 ~~~~~~~~ - Add AXG support for SARADC, including minimal ao-clk driver - Update Amlogic documentation for Matrix & Jethub D1 v2022.04 ~~~~~~~~ - 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 A113X S905X2 S922X S905X3 S905D S905D2 A311D S905Y2 Boards Odroid-C2 P212 Khadas VIM2 S400 U200 Odroid-N2 SEI610 Nanopi-K2 Khadas VIM SEI510 Khadas VIM3 Khadas VIM3L P200 LibreTech-CC Radxa Zero Beelink GS-King X Odroid-C4 P201 LibreTech-AC Odroid Go Ultra Odroid-HC4 Odroid N2L 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** **Yes** 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 ---- - Port Linux NAND driver to U-Boot - Add support for 32bit Meson 6/8/8b