Amlogic S905X chip
|4x 1.2/1.5/2 GHz Cortex-A53
Amlogic S905W/S905D/S905X/S905L/S805X/S805Y/S905Z 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 : It capable of hardware decoding 4Kp60/30 H.265/H.264, VP9 and has 100M ethernet phy,1G ethernet mac,VP9 hardware , camera interface and TS inputs, 4 X Cortex-A53@2GHZ
- S905D : Seem to identical to S905W , but support ISO7816 IN for DVB
- S905X : A slightly lower clock variant (CPU cores up to 1.5 GHz) of S905W
- S905L : Identical to the S905X except for the lack of VP9 decoding, camera interface and TS inputs.
- S805X : a slightly lower clocked (CPU cores up to 1.2 GHz) and can only decode 1080p60/30 H.265/H.264 , VP9.It is a stripped down variant of S905X.
- S805Y : Used in Xiaomi Mi TV Stick (xiaomi-aquaman), be identical to the S805X.
- S905Z : Used in the Amazon Fire TV 3 (amazon-needle), identical to the S905X except for the cant decode VP9 via hardware decoding.
There are also -h variant of Amlogic S905W/S905D/S905X/S905L/S805X/S805Y/S905Z. it is a variant of the soc that has include Dolby/DTS licenses.
|Amazon Fire TV 3
|Amediatech X96 Mini
|Home x x1
|Libre Computer AML-S805X-AC-V1.0
|Libre Computer AML-S905X-CC-V1.0
|Xiaomi Mi Box 3
|Xiaomi Mi TV Stick
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.
GPU and hardware acceleration
S/PDIF audio works, but HDMI is untested
Works fine. A custom configuration file is needed else it crashes (included).