Jump to content

Amlogic S905W/S905D/S912/S905X/S905L/S805X/S805Y/S905Z

From postmarketOS Wiki
Revision as of 18:18, 11 December 2023 by Exkc (talk | contribs)
Amlogic S905X/
S905W/
S905Z/
S905L/
S805X/
S805Y
Amlogic S905X chip
Amlogic S905X chip
Manufacturer Amlogic
Name S905X/
S905W/
S905Z/
S905L/
S805X/
S805Y
Architecture aarch64
CPU 4x 1.2/1.5/2 GHz Cortex-A53
GPU Mali-450 MP3
Year 2016
Process 28nm
Mainline yes
Community Page https://linux-meson.com/
Components
CPU
Works
UART
Works
Storage
Partial
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
No data
Audio
Works
Video
Partial
Thermal
Works
NPU
No data
Suspend
No data
Ethernet
No data
SATA
No data


Amlogic S905X/S905W/S905Z/S905L/S805X/S805Y SoCs are media player SoCs mainly used in Android set-top boxes. They are very similar to each other and are part of the GXL Amlogic SoC family.Here are the differences between them:

High-end Chip :

  • S905W : A slightly higher clock variant (CPU cores up to 2 GHz) of S905X
  • S905D :
    TODO TODO: {{{1}}}

    Mid-range Chip:

    • S905X : It capable of hardware decoding up to 4K@60fps and has ethernet,VP9 hardware decoding, camera interface and TS inputs, 4 X Cortex-A53@1.5GHZ
    • S905L : Identical to the S905X except for the lack of VP9 decoding, camera interface and TS inputs.

    Low-end Chip:

    • S805X : a slightly lower clocked (CPU cores up to 1.2 GHz) and can only decode up to 1080p.It is a stripped down variant of S905X.
    • S805Y : Used in Xiaomi Mi TV Stick (xiaomi-aquaman), be identical to the S805X.

    Unknown :

    Devices

    Device Codename Chipset Mainline booting
    Amazon Fire TV 3 amazon-needle Amlogic S905Z No
    Amediatech X96 Mini amediatech-x96-mini Amlogic S905W Y Yes
    HomeX X1 AK1708m-16 Amlogic S905X No
    Libre Computer AML-S805X-AC-V1.0 librecomputer-lafrite Amlogic S805X Y Yes
    Libre Computer AML-S905X-CC-V1.0 librecomputer-lepotato Amlogic S905X Y Yes
    OTT X96 ott-x96 Amlogic S905X Y Yes
    Xiaomi Mi Box 3 xiaomi-once Amlogic S905X-H Y Yes
    Xiaomi Mi TV Stick xiaomi-aquaman Amlogic S805Y P Yes

    Boot process

    See: Amlogic#Boot process

    BL1 looks for a header (named @AML header) at different offsets depending on the storage media:

    • On an SD card or eMMC: offset 512 (512 bytes completly ignored by BL1), header and checksum from offset 528 to 623, payload at offset 4608 onwards

    There's a bug where, because of the zero-offset requirement on eMMC, MBR structures cannot coexist, requiring tweaks to allow an MBR parition table to coexist. Further reading: https://github.com/LibreELEC/amlogic-boot-fip/pull/8

    BL2 is signed by using a proprietary utility from Amlogic called aml_encrypt_gxb, but there's a replacement called gxlimg. See https://github.com/repk/gxlimg. It has been confirmed to work on Libre_Computer_AML-S905X-CC-V1.0_(librecomputer-lepotato)

    Then BL2 loads the following:

    • BL30/SCP_BL2: System control processor firmware
    • BL31: EL3 Runtime Software
    • BL32: OPTEE (optional)
    • BL33: U-Boot

    All bootloader stages except U-Boot are proprietary. BL31 can be replaced with upstream Arm Trusted Firmware-A. There's also an ongoing effort led by User:F to reverse-engineer BL2 and port U-Boot SPL.

    Status

    GPU and hardware acceleration

    Works.

    IR RX

    Works

    Audio

    S/PDIF audio works, but HDMI is untested

    X11

    Works fine. A custom configuration file is needed else it crashes (included).

    See also