Archive

Posts Tagged ‘amlogic’
Orange Pi Development Boards

Amlogic 2016 Roadmap Reveals Upcoming S905D Processor, Android 6.0 for Amlogic S905 and S912 SoCs

March 10th, 2016 20 comments

A new Amlogic roadmap reveals the company will release at least three new processors this year: Amlogic S905X, Amlogic S912 and Amlogic S905D all based on four to eight ARM Cortex A53 cores, and that Android 6.0 support is coming to Amlogic S905 X/D and S912 processors.

Amlogic_Roadmap_2015-2016

Amlogic 2015 – 2016 Roadmap (Click to Enlarge)

Since the processors are in development, there are always some tweaks and new information about the specifications, as now Amlogic S905X and S912 quad and octa core processors will be clocked at 2.0 GHz (instead of just 1.5GHz as previously reported), and S905X will support 2-layer PCB, while all other recent Amlogic processors require 4-layer, which promises some very cheap 4K TV boxes with H.265 and VP9 support. Amlogic S912 will apparently not support USB 3.x since the new document only shows 3x USB 2.0 interfaces for the SoC.

Amlogic S905D is similar to S905X except it supports Gigabit Ethernet (RGMII), TS video input, which would make it suitable for tuners, and RGB interface meaning it could be found in tablets too:

  • CPU – Quad core Cortex A53 @ up to 2.0 GHz
  • GPU – Penta-core ARM Mali-450MP @ up to 750 MHz
  • Memory I/F – 16/32-bit DDR3/4, LPDDR2/3 up to 2GB, DDR2400
  • Storage I/F – NAND flash @ BCH60, eMMC 5310, SD, NOR flash
  • Video Decoder – 4Kp60 10-bit H.265, 4Kp60 VP9 Profile 2, 4Kp30 H.264
  • Video Encoder – 1080p60 H.264
  • Ethernet – 10/100/1000 RGMII, 10/100M PHY
  • Audio – Stereo DACs, I2S, S/PDIF, DMIC
  • USB – 2x USB 2.0
  • Video Output – 4Kp60 HDMI 2.0a, CVBS, RGB
  • Video Input – TS in, DVP
  • HDR – HDR10, royalty-free Hybrid Log Gamma (HLG)
  • Package – 15 x 15 mm BGA (S905 is 13 x 13 mm)
  • PCB – 4-layer

I don’t have much information about Amlogic Android 6.0 Marshmallow SDK, except it’s been available to developers having access to Amlogic git source code repository for about a month.

Categories: AMLogic, Android Tags: 4k, amlogic, Android, h.265, marshmallow, vp9

Amlogic S905 vs S812 Benchmarks Comparison

January 29th, 2016 24 comments

After seeing benchmarks comparisons between Amlogic S905 and S805, as well as Amlogic S905 vs Rockchip RK3368, several people asked me to compare the older Amlogic S812 32-bit processor to the newer Amlogic S905 64-bit processor, so I’ve gone ahead and compared the results for several benchmarks obtained with WeTek Core and K1 Plus Android 5.1 TV boxes, respectively powered by Amlogic S812 and Amlogic S905.

Amlogic_S905_vs_S812A ratio greater than one means Amlogic S812 is the fastest, and I’ve highlighted the ratio with red or green colors so that red color is a plus for S905, and green color means S812 achieved a better result.

Amlogic S905 Amlogic S812 Ratio
CPU Quad core Cortex A53 @ 2.02 GHz Quad core Cortex A9 @ 1.99 GHz
GPU Penta-core ARM Mali-450MP Octa-core ARM Mali-450MP
Antutu 5.x
Overall 28,027 33,953 1.21
Multitask 4,260 4,701 1.10
Runtime 2,721 3,383 1.24
RAM Ops 1,960 2,228 1.14
RAM Speed 2,420 2,181 0.90
CPU Integer (multi-thread) 2,310 2,393 1.04
CPU float-point (multi-thread) 2,483 2,687 1.08
CPU Integer (single thread) 1,587 1,735 1.09
CPU float-point (single thread) 1,510 1,483 0.98
2D Graphics(1920×1080) 1,374 825 0.60
3D Graphics (1920×1080) 6,126 10,942 1.79
Vellamo 3.x
Metal 763 735 0.96
Multicore 1,572 1,620 1.03
Browser 2,002 2,052 1.02
3DMark – Ice Storm Extreme v1.2
Total score 4,304 5,763 1.34
Graphics score 3,684 5,265 1.43
Physics score 10,468 8,616 0.82

The benchmarks basically match the theory that says Cortex A9 is slightly faster than Cortex A53 for integer performance, at a given CPU frequency, but overall the results are unlikely to be noticeable to the end user, except when it comes to 3D graphics where the octa-core GPU is faster then the penta-core core one, by 34% based on 3DMark, and 79% based on Antutu’s 3D graphics benchmark. For some reasons, 2D graphics appears to be significantly faster on Amlogic S905.

The main advantage of Amlogic S905 over S812 is support for HDMI 2.0 ports allowing 2160p @ 60 Hz video output, and 4K H.265 hardware video decoding up to 60 fps, while both are limited to 30 Hz on S812. Also bear in mind than most Amlogic S812 / S802 devices currently on the market are running Android 4.4, and will not perform quite as fast as Android 5.1 devices such as WeTek Core.

Amlogic S905X Processor Specifications

January 12th, 2016 19 comments

[Update September 2016: Removed Video Input Unit and Gigabit Ethernet MAC, since the latest documents have removed them]

A few weeks ago, I wrote about the upcoming Amlogic S905M quad core Cortex A53 processor support 4K VP9 and 10-bit HEVC, but the silicon manufacturer seems to struggle with sticking with a name, as after the initial S908 part, they moved to S905M, before hopefully settling on Amlogic S905X, for which I received more information include a block diagram, and more detailed specifications.

Click to Enlarge

Click to Enlarge

These are most of the specifications currently available for Amlogic S905X processor with highlights in bold:

  • CPU Sub-system –  Quad core ARM Cortex-A53 CPU up to 1.5GHz (DVFS) with Neon and Crypto extensions
  • 3D Graphics Processing Unit – Penta-core ARM Mali-450 GPU up to 750MHz+ (DVFS) with two geometry/vertex processors, three pixel processors supporting OpenGL ES 1.1/2.0 and OpenVG 1.1.
  • 2.5D Graphics Processor – Fast bitblt engine with dual inputs and single output, programmable raster operations (ROP) and polyphase scaling filter, etc..
  • Crypto Engine – AES/AES-XTS block cipher with 128/192/256 bits keys, DES/TDES block cipher, Hardware crypto key-ladder operation and DVB-CSA for transport stream encryption,  built-in hardware True Random Number Generator (TRNG), CRC and SHA-1/SHA-2/HMAC SHA engine
  • Video/Picture CODEC
  • Video Post-Processing Engine – HDR10 & HLG HDR processing, REC709/BT2020 processing, motion adaptive 3D noise reduction filter, advanced motion adaptive edge enhancing de-interlacing engine, 3:2 pull-down support, deblocking fliters, etc..
  • Video Output
    • Built-in HDMI 2.0a transmitter including both controller and PHY with 3D, CEC, HDR and HDCP 2.2, [email protected] max resolution output
    • CVBS 480i/576i standard definition output
  • Camera Interface – 2x ITU 601/656 parallel video input with down-scalar, supports camera input as YUV422, RGB565,16bit RGB or JPEG
  • Audio Decoder and Input/Output
    • Supports MP3, AAC, WMA, RM, FLAC, Ogg and programmable with 7.1/5.1 down-mixing
    • I2S audio interface supporting 8-channel (7.1) input and output
    • Built-in serial digital audio SPDIF/IEC958 output and PCM input/output
    • Built-in dual-channel audio DAC with amplifier
    • Dual-channel digital microphone PDM input
    • Supports concurrent dual audio stereo channel output with combination of I2S+PCM
  • Memory and Storage Interface
    • 16/32-bit SDRAM memory interface running up to DDR2133
    • Supports up to 2GB DDR3/4, DDR3L, LPDDR2, LPDDR3 with dual ranks
    • Supports SLC/MLC/TLC NAND Flash with 60-bit ECC
    • SDSC/SDHC/SDXC card and SDIO interface with 1-bit and 4-bit data bus width supporting up to UHS-I SDR104
    • eMMC and MMC card interface with 1/4/8-bit data bus width fully supporting spec version 5.0 HS400
    • Supports serial 1, 2 or 4-bit NOR Flash via SPI interface
    • Built-in 4k bits One-Time-Programming memory for key storage (That must be where DRM / HDCP keys are programmed)
  • Network
  • Integrated I/O Controllers and Interfaces
    • 2x USB 2.0 high-speed USB I/O, one USB Host and one USB OTG
    • Multiple UART, I2C and SPI interface with slave select
    • Multiple PWMs
    • Programmable IR remote input/output controllers
    • Built-in 10bit SAR ADC with 2 input channels
    • General Purpose IOs with built-in pull up and pull down
  • System, Peripherals and Misc. Interfaces
    • Integrated general purpose timers, counters, DMA controllers
    • 24 MHz crystal input
    • Embedded debug interface using ICE/JTAG
  • Power Management
    • Multiple external power domains controlled by PMIC, and internal ones controlled by software
    • Multiple sleep modes for CPU, system, DRAM, etc.
    • Multiple internal PLLs for DVFS operation
    • Multi-voltage I/O design for 1.8V and 3.3V
    • Power management auxiliary processor in a dedicated always-on (AO) power domain that can communicate with an external PMIC
  • Security
    • Trustzone based Trusted Execution Environment (TEE)
    • Secured boot, encrypted OTP, encrypted DRAM with memory integrity checker, hardware key ladder and internal control buses and storage
    • Protected memory regions and electric fence data partition
    • Hardware based Trusted Video Path (TVP) , video watermarking and secured contents (requires SecureOS software)
    • Secured IO and secured clock

While we’ve now got much more details, the main features of Amlogic S905X have not changed since last month, so they’ll probably stay that way. I don’t have specific information about availability of the processor yet.

Amlogic S905X and S912 Processors To Support 4K VP9, HDMI 2.0a, Built-in DAC and More

December 17th, 2015 13 comments

I had heard some news that Amlogic S912 was delayed, and even possibly canceled, while talks about a new S908 processor surfaced recently with support for VP9 up to 4K resolution. We now have some more details as I’ve received some more information about Amlogic product roadmap, and S908 should be renamed S905M [Update: The name will apparently be changed to S905X now, the saga continues…]

Amlogic S905 Amlogic S908 / S905M / S905X
Amlogic S912
CPU Quad core Cortex A53 @ up to 2.0 GHz Quad core Cortex A53 @ up to 1.5/2.0 GHz Octa core Cortex A53 @ up to 2.0 GHz
GPU Penta-core Mali-450 up to 750 MHz High perf gaming GPU
Memory 16/32-bit DDR3, LPDDR2/3
Up to 2GB, DDR2133
16/32-bit DDR3/4, LPDDR2/3
Up to 2GB, DDR2400
Storage NAND [email protected]
eMMC 5.0, SD, Nor Flash
Video Decoding 4Kp60 10-bit HEVC, 4Kp30 H.264 4Kp60 10-bit HEVC, VP9
4Kp30 H.264
Video Encoding H.264, [email protected] H.265, [email protected]
Ethernet 10/100/1000 RGMII 10/100/1000 RGMII, 10/100M PHY
Audio DAC N/A Built-in Stereo DACs
USB 2.0 2.0 and 3.0 (TBC)
TV Output 4K2K HDMI 2.0, CVBS 4K2K HDMI 2.0a, CVBS
HDR N/A HDR10 Dolby Vision, HDR10
DTV Ts in
Products 4K HDMI dongle, OTT/IP-STB Cost effective low power 4K HDMI dongle, OTT/IP-STB High-end 4K OTT/IP-STB, gaming box

While Amlogic S905 and S905M will have a hard-limit to 2GB RAM, S912 will support dual channel memory and up to 4GB RAM. The two new processors will also support 4K VP9 video decoding, feature a DAC, HDMI 2.0a, support for HDR10 media profile and/or Dolby Vision. Both will also an embedded 10/100M PHY which will bring the cost down for devices with Fast Ethernet. Amlogic S912 will also support USB 3.0 interface and H.265 video encoding up to 1080p60. The document did not reveal the details about the GPU used in the two new processor, but it’s clear Amlogic S912 will have a powerful one good enough to be used in Android gaming console, and there have been some clues that S912 GPU could be Mali-T830 in the past.

Amlogic S9xx DRM Secure OS

Amlogic S9xx DRM Solution with TrustZone and Secure OS

The company has also improved DRM support in their latest processors, including S905 itself, with support for Google Widewine Level 1 & 3, Verimatrix Standard and Advanced, Microsoft Playready 2.0 (TVP and non TVP), Internet Marlin 1.7, and Vudu DRM. DRM is enabled thanks to “Secure OS”, but it’s not needed for the most basic DRM solutions such as Widewine Level 3, Verimatrix Standard, and  PlayReady 2.0 Non-TVP. So as we’ve seen recently that most Amlogic S905 TV box lack DRM support, a firmware upgrade should be enough to enable these, but any DRM scheme that requires Secure OS is likely impossible on devices that have not been flashed with Secure OS at the factory.

Amlogic S905M/S905X will come before Amlogic S912, but so far I don’t have exact ETA for either processors, so we’ll need to be patient.

How to Root Amlogic S905 based MINIX NEO U1 Box in Windows and Linux

December 15th, 2015 24 comments

MINIX NEO U1 is a great device, but if you have some apps that require root access, the firmware is not rooted by default. AndroidPC.es just posted instructions to root the device in Windows, and I’ve also adapted Daemonium’s batch script for Windows as a shell script in order root the device from Linux. Please note that this will break OTA firmware update, so you’ll have to upgrade firmware manually after rooting.

MINIX_NEO_U1_Root

The most steps are common between Linux and Windows

  1. Enable Developer options, by going to Settings->Advanced Settings->About Mediabox, and click 6 or 7 times in the Build number section, until the new menu is enabled.
  2. Go back once, and access Developer options to make sure USB debugging is enabled
  3. Now go to Settings->Network to check and note your IP address (WiFi or Ethernet)
  4. Download and extract AndroidPC.es_MINIX_NEO_U1_root_v01_Daemonium.zip

They also asked to install WiFi adb in your system, but I did not need to do so with the Linux procedure, and it’s likely not needed on Windows either.

Windows remaining instructions:

  1. Run root_u1.bat script with NEO U1’s IP address as argument (e.g. 192.168.1.99)
  2. Press Enter when asking to continue, and the system will install the necessary files located in root directory
  3. The system will then automatically reboot and MINIX NEO U1 should be rooted

Linux remaining instructions:

  1. Download root_s905.sh shell script and copy it into the same directory as root_u1.bat
  2. Run the script as follows with your device’s IP address as argument:
  3. Press Enter when asked if root access via adb is successful, and the script will copy the files on your system, and reboot it automatically
  4. MINIX NEO U1 should now be rooted.

Both Windows and Linux scripts might also work with other devices, but they required adb root to provide a shell script with root access, which won’t be the case for all firmware.

How to Run Headless Linux on Amlogic S905 Devices Such as MINI MX or K1 Plus

December 6th, 2015 118 comments

A few week ago, I had been informed that Amlogic S905 U-boot and Linux source code was released, and one person use the code and other resources to load a minimal Ubuntu 14.04 image to his K1 Plus TV box and released the installation instructions and the image (Thanks olin!). I also have K1 Plus here, but since I’ve just finished reviewing Beelink MINI MX, I decided to use the latter instead. The instructions below boot Linux from the (micro) SD card, and can still boot Android if you remove the SD card.

Modifying U-boot environment

The instructions include opening the box, and connecting or soldering a USB to TTL debug board to access U-boot and change some parameters. But later once an image with network is working, you could also build and load fw_setenv and fw_saveenv, and do the same steps with an Android shell and without the need to open the device.

Click to Enlarge

Serial connection to MINI MX (Click to Enlarge)

K1 Plus has the UART headers populated so you don’t have to solder anything, but MINI MX requires a little bit a soldering on the clearly marked Tx, Rx, GND pins.

Connect your USB to TTL debug board to your computer, configure minicom / putty / screen to 115200 8N1, start the board, and press the space bar to interrupt the boot:

You may want to run printenv in order to back the default settings:

Now you can change some settings in U-boot in order to allow for Linux to boot from SD card. If you are doing so directly in Android terminal via adb, you can replace setenv and saveenv by fw_setenv and fw_saveenv (no present in MINI MX firmware):

Flash Ubuntu image to the SD card

First download the Ubuntu image: ubuntu-14.04-headless-arm64.7z.

I’ve done this step in an Ubuntu computer, but you could also perform the same steps in Windows with 7pzip and Win32DiskImager. Install required tools and uncompress the image.

Insert the micro SD card (2GB or greater) in your computer, check the device with lsblk, and flash the image to your SD card by replacing /dev/sdX in the command below by your actual device.

Get the Device Tree File for Your device

If you are trying this on K1 Plus, you can skip that step, but if you are using another device, in my case Beelink MINI MX replacing the device tree file in /boot/dtb.img might be a good idea. For example, MINI MX would only get a Fast Ethernet connection with K1 Plus device tree file, but once I extracted the one from the Android firmware I got an Gigabit Ethernet connection.

If you’ll need to get boot.img either from some firmware update file, or directly from the NAND flash. I don’t have firmwre for MINI NX, so I dumped the boot partition with an adb shell:

Then I followed the instructions to extract a device tree file from Android, until I get boot.img-second.gz file, which I copied to the boot partition in the SD card with Ubuntu

Run Ubuntu in MINI MX

You may want to extend the rootfs partition in the SD card with gparted, or you’ll only have a small part of your SD card used. Now insert the SD into your Amlogic S905 TV box, and connect the power.

After some time getting wasted waiting for the network, you should be able to access to command line by logging in with user debian and password temppwd:

That’s a minimal image so there’s plenty of free space and memory:

All four cores are shown when I check the cpuinfo:

The kernel is build with Android’s option “CONFIG_ANDROID_PARANOID_NETWORK“, so all network configuration must be done with root:

So there’s some work to be done, but at least that’s a start.

[Update: It’s easy to put the case together with the serial wires by cutting the plastic case a little.

Beelink_MINI_MX_with_UART_cables]

 

H.264 & H.265 4K Video Playback on Amlogic S905 Android TV Box

November 27th, 2015 24 comments

I’ve almost completed my review of Videostrong K1 Plus Android box powered by Amlogic S905, and while there are many shortcomings, 4K video playback is actually pretty good with Android’s Video Player (Kodi is not really usable @ 4K).

4K_10-bit_H.265_Video

4K 10-bit HEVC Video Played in Android Video Player

I connected the device to LG 42UB820T 4K UHD TV, and set video output to 2160p @ 60Hz, and went through several video samples:

  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265 @ 30 fps – No audio) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 (H.264 @ 30 fps – MPEG1/2 and AC3 audio) – OK
  • big_buck_bunny_4k_H264_60fps.mp4 (H.264 @ 60 fps – MPEG1/2 and AC3 audio) – Video looks somewhat OK, but big audio delay or AV sync issue.
  • BT.2020.20140602.ts (H.265 Rec.2020 compliant – AAC audio) – OK (First time I can play this video on any hardware).
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (H.265 @ 60 fps – AC3) – Video is very good, but no audio
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC @ 24 fps – no audio) – OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – 3 to 4 fps (software decode)
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Perfect!
  • Sintel.2010.4k.mkv (H.264 @ 24 fps – AC3) – Video OK but no audio
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) – Most of the time OK, but it will freeze and the same exact point every time for several seconds.

You can watch the tests in the video below.

I have to say I’m pretty pleased with 4K support on Amlogic S905 so far. 4K H.264 @ 60 fps and VP9 are simply not supported by the VPU in Amlogic S905 SoC, and the only problem I’ve seen with regards to video was with the DVB-S2 stream bug, which could be software or hardware, with the latter requiring a new silicon revision. Only time will tell. That’s not to say there’s still some work to be done, as DTS and Dolby are not supported in the device I tried, and if you are interested in Kodi, you’ll need to be a little more patient.

You can find links to the videos in the comment section of this list of video samples.

How to Update Firmware on Amlogic S905 TV Boxes

November 24th, 2015 128 comments

Videostrong has just sent me a new firmware for K1 Plus mini PC based on Amlogic S905 processor. The procedure is basically the same as for previous Amlogic devices, but I’ve still documented the step to follow an update. Please note that devices from decent brands should have OTA updates implemented, so it may not be needed, except for the cheapest devices, or in case of network issues.

The firmware update procedure below can be done in any computer, including the Android TV box itself. The firmware is specific to K1 Plus, so if you have another TV box, you’ll need to change the download link to the firmware for your device.

  1. Download the firmware file (e.g. K1 Plus 2015-11-23.rar)
  2. Extract the compressed file to the root of a micro SD card, or on any other external storage.
    Amlogic_S905_Firmware_Upgrade_Files
    You should have a few files as shown above, including a zip file (please don’t uncompress that one). The name and number of files will depend on the firmware. Note that the SD card does not need to be empty, also it might be better to check files from previous firmware updates are not located in the root of the device.
  3. If you’ve done so in another computer, connect the micro SD card or external storage (USB) to the TV box.
  4. Start the Update & Backup in the TV box
    Update&Backup_App
  5. If Online Update does not work, then click on Select in the app, and it will scan for .zip files on all your external drives.
    Amlogic_Firmware_ScanningSelect the zip file corresponding to the firmware you’ve just downloaded.
  6. If you want to keep your apps, settings and media files, make sure Wipe Data and Wipe Media are not checked, then click on Update.
    Amlogic_Update&Backup_sd_card_update
  7. At this stage it will ask you to confirm you want to “Start the OTA update”.Amlogic_S905_Local_Firmware_Update
  8. Click Update, and your TV box will reboot, and start the update shortly showing the Android update animation
    Amlogic_Android_Firmware_Update_Animation
  9. Be patient, and after a while your system will reboot, update Android app, and load the Android Home Screen. You are ready to go.

If you need to update because the system does not boot properly and can’t access the Update&Backup app, you may have to press the firmware update/recovery button before powering up the device, so that it automatically detect the firmware in the micro SD card or USB drive. You can check Amlogic S802 firmware update instructions to find out more details about that specific procedure, which should remain the same for Amlogic S905/S912.