This repo contains prebuilt binaries provided by Mediatek (or board vendors) for use with their platforms.
The sources for these binaries are not publicly available, but Mediatek (or boards vendors) provide them as compiled binaries.
This repo is consumed by armbian/build framework to build a full boot stack for specific boards; as such it is not
meant for end-users.
This is a DRAM initialization library used by U-Boot and ATF to initialize the DRAM memory controller on Mediatek
platforms.
It is provided as .a only (thus subject to ABI compatibility) and linked into TF-A/ATF build.
Mediatek publishes binaries in their GitLab repository: https://gitlab.com/mediatek/aiot/rity/libdram-prebuilt.git
Here we have organized them, per-board, for easier use and with a GitHub mirror.
This is a low-level hardware abstraction library for Mediatek platforms.
It is provided as .a only (thus subject to ABI compatibility) and linked into TF-A/ATF build.
Mediatek publishes binaries in their GitLab repository: https://gitlab.com/mediatek/aiot/bsp/libbase-prebuilt.git
Here we have organized them, per-board, for easier use and with a GitHub mirror.
The Little Kernel (LK) is a lightweight fastboot compatible bootloader used on Mediatek platforms.
Mediatek publishes builds in their GitLab repository: https://gitlab.com/mediatek/aiot/rity/lk-prebuilt.git but only
for their development kits. Board vendors (or Mediatek themselves) provide prebuilt lk.bin files for other boards.
The upstream is here: https://github.com/littlekernel/lk - but Mediatek apparently heavily modifies it with no public source code available.
It plays a similar role to Rockchip's spl_loader blob: the SoC loads it from USB OTG (similar to Rockchip's "Markrom"
USB).
The lk.bin itself contains all the BLxx bits (thus probably also libdram and libbase) plus a final payload
that implements fastboot protocol over OTG, allowing users to flash FIP images and disk images to eMMC/UFS storage.
It is an essential part of the flashing process for Mediatek boards, but is not required for normal booting.
The prebuilt binaries are organized in directories per-board, with each directory containing the relevant
.a files for libdram and libbase, and the lk.bin file for Little Kernel.
There might be variants for different storage types (eMMC, UFS) or board revisions.
In the case of Little Kernel, there might be more than one variant per board, and armbian/build selects one based on trial and error.
Look into each board directory for details.