Posts Tagged ‘allwinner’

C.H.I.P Board and Allwinner A13/R8 SoCs To Get VPU Support in Linux Mainline

August 30th, 2016 3 comments

Allwinner has mixed relationships with open source communities such as Kodi, especially due to issues with its closed-source CedarX VPU drivers, and some GPL violations. However to address the former, linux-sunxi community has been working on open source Cedrus library for the video processor unit on Allwinner processors, that’s been successfully tested on boards such as Orange Pi One. Free Electrons has gone  further, as they’ve made sure Cedrus now works with Linux mainline kernel, currently Linux 4.8, and tested it on Allwinner R8 based Pocket CHIP.

Pocketchip_Cedrus_Linux-4.8The work has been done by Florent Revest, a 19 years old intern at the company, who delivered a new sunxi-cedrus driver, a Video4Linux (V4L2) memory-to-memory decoder kernel driver, and corresponding VA-API backend, with the implementations currently available on Github here and there respectively. Currently only MPEG2 and MPEG4 are working, but adding other codecs such as H.264, and video encoding is possible using the current framework.

The short demo below shown VideoLAN playing an MPEG2 video using Cedrus on Linux 4.8 on PocketCHIP.

A patchset has already been sent to the Linux Kernel mailing list, so support should become available in one of the upcoming Linux releases, and they’ve also updated linux-sunxi Cedrus Wiki to explain how to reproduce this setup on other Allwinner A13 boards.

Allwinner R40 Quad Core ARM Processor, Successor of Allwinner A20, Supports SATA & Gigabit Ethernet

August 17th, 2016 26 comments

One of the most common complaints I get from readers when I publish news about new ARM processor is “Why didn’t they include SATA?”. So far Allwinner A20 is the only really low cost ARM processor that includes a SATA port, but it’s been released a few years, and its dual core Cortex A7 processor is getting old. We’ve been hearing rumors about an upgraded version for one or two years with Allwinner A40 or more recently Allwinner A20E, and finally the company has now published details about Allwinner R40 processor on their revamped website, which they claim to be the successor of Allwinner A20.


Allwinner R40 Block Diagram

Allwinner R40 key specifications:

  • CPU – Quad-core ARM Cortex-A7 Processor
  • GPU – Mali-400 MP2 GPU
  • Memory I/F – 32-bit DDR3/DDR3L/LPDDR2/LPDDR3
  • Storage I/F – 8-bit NAND flash, SD3.0,  eMMC 5.0, and 1x SATA

    Allwinner R40 System-on-Module

    Photoshopped Allwinner R40 System-on-Module

  • Networking – 2x MAC: 1x EMAC (10/100M Ethernet), 1x GMAC  (Gigabit Ethernet)
  • Video – [email protected] decoding and H.264 HP [email protected] encoding
  • Audio – Up to 2x I2S/PCM interfaces, eight channels of Time Division Multiplexing(TDM) with sampling precision up to 32bit/192KHz
  • Camera-  2x Parallel MIPI CSI interfaces
  • USB – 3x USB 2.0 host
  • I/Os – 8x UART, 4x SPI,  5x TWI/I2C
  • STB interfaces – 1x smart card, 2x TS
  • Misc – 2x PS2 1x 8×8 keypad, 2x IR receiver, 2x KEYADC, RTP
  • Package – 16×16 mm FBGA468

Compared to Allwinner A20, the company explains that R40 is an “Allwinner A20 upgrade edition” with four cores instead of two, 40nm process instead of 55nm, lower power consumption, and a smaller package. They also mention the processor will be supported by their lightweight open source Tina operating system based on Linux.

One of the first devices to use the new processor, beside the unnamed CPU module shown above (Update: that’s a photoshopped C.H.I.P board), will be Banana Pi M2 Ultra development board, which will come with 2GB RAM, 8GB flash, and expose the SATA interface.

Allwinner H5 is a Quad Core Cortex A53 Processor for 4K OTT TV Boxes

August 17th, 2016 23 comments

Last year, we found that Allwinner was preparing to launch Allwinner H64 and H5 quad and octa processors in their roadmap, but there have been some changes, and the compny seems to have dropped H64 name, and has now introduced Allwinner H5 quad core Cortex A53 processor designed for 4K TV boxes.

Allwinner H5 Block Diagram - Click to Enlarge

Allwinner H5 Block Diagram – Click to Enlarge

Allwinner H5 main specifications:

  • CPU – quad core Cortex A53 with NEON, FPU, 64KB I/D cache per core, and 512KB L2 cache
  • 3G GPU – ARM Mali-450MP GPU with 4 pixel processor cores, and 2 geometry cores with support for OpenGL ES 2.0/1.1/1.1, OpenVG 1.1 and EGL
  • 2D GPU (Graphics and Display Processor) – Dual display; Main display: 4 video layers, 12 graphics layers, 4 alpha blending channels; Auxiliary display: 4 video layers, 4 graphics layers, and 2 alpha blending channels
  • Memory I/F – DDR3/3L SDRAM interface up to 32-bit data width
  • Storage I/F – SPI NOR flash, SPI NAND flash, NAND flash (SLC/MLC with 64-bit ECC), and eMMC 5.0 flash interfaces
  • Video Decoding – Up to 4K decoding of H.265/HEVC Main10, H.264/AVC, VP6/VP8/VP9, MPEG1/2/4, AVS-P16, VC1
  • Image Decoding – YUV400/YUV420/YUV422/YUV444; Picture scale and rotate
  • Video & Image Encoding – 1080p60 or 2x 1080p30, or 4x 72030 video encoding with AVC or JPEG
  • Audio Encoding/Decoding – MPEG L1/L2, AAC-LC, HE AAC V1/V2, APE, FLAC, OGG, AMR-WB, G.711 (u/a) decoding; G.711(u/a), AMR-NB, AMR-WB, and AAC-LC encoding
  • TS Demultiplexing/PVR – 4x TS inputs using SSI or SPI modes, DVB-CSA/AES/DES descrambling, recording of scrambled and non-scrambled streams
  • Security – TEE, Secure OS, secure boot, 2K bits EFuse, DRM, conditional access, HDCP 1.4 protection
  • A/V Interfaces
    • PAL and NTSC, HDMI Tx with HDCP, CVBS, HD and SD output from same source. 480i to 4K2K resolutions
    • Analog videos – 1x CVBS, 1x embedded VDAC
    • Audio interfaces – 2x stereo input interfaces, 1x stereo output interface, 1x S/PDIF, 2x ADAC, 2x I2S/PCM, HDMI audio
  • Peripherals
    • 3x USB 2.0 host, 1x USB 2.0 OTG
    • 10/100M Ethernet with integrated PHY, Gigabit Ethernet MAC
    • 3x 4-bit SDIO 3.0 interfaces
    • 5x UART, 4x TWI (I2C), 2x SPI, multiple GPIOs, 2x PWM
    • 2x smart card interfaces (ISO7816)
    • LED and keypad control interface, IR receiver
    • 1x CSI camera
  • Boot program download over serial port or USB port
  • Low power CPU – For standby power as low as 30 mW power consumption

Allwinner is actually pushing the limit of “generally accepted marketing principles” by calling Allwinner H5 a “Deca-core 4K OTT Box Total Solution” by adding 4 CPU cores to 6 GPU cores… They also done a “good job” at hiding whether HDMI 2.0 is supported, as the HDMI version is not mentioned, nor the maximum framerate for video codec @ 4K2K. [Update: Allwinner H-Series comparison table shows H.265 @ 4K30Hz, so it’s most likely limited to HDMI 1.4]

The processor will apparently run Android 5.1, and while features look similar to Allwinner A64, the GPU is quite faster, I’ve been told video processing is better by Allwinner marketing team, and I can also see some interfaces (TS input and smartcard) that would make it suitable for Android Digital TV receivers with DVB, ISDB-C and ATSC tuners.


Image Source: ARMBIAN

Orange Pi PC 2 – Image Source: ARMBian

Linux support is also likely as two of the first platforms to use the new processor will be Shenzhen Xunlong Orange Pi 3 and Orange Pi PC 2 (pictured above) development boards.

More details can be found on Allwinner H5 product page.

Thanks to Thomas for the tip.

Allwinner and Qualcomm Partner on Android and Windows 10 LTE Tablets

July 5th, 2016 7 comments

Allwinner, a leading tablet SoC vendor, and Qualcomm have decided to collaborate, and introduced three new LTE tablet reference designs based on Qualcomm Snapdragon 425, 430, and 435 available to Chinese OEMs, on top of Snapdragon 210, 212 and 410 designs released last year.

Allwinner_Qualcomm_PartnershipThe full technical technical details about the reference designs are only available to OEMS who signed an NDA, but the key specifications are as follows:

  • SoC – Qualcomm Snapdragon 420, 430, 435 application processors
  • System Memory – 2G DRAM
  • Storage – 32GB internal memory
  • Connectivity – CAT 6 LTE band

The tablet will run Android, but Windows 10 is also being worked on. The agreement only covers tablets, so Allwinner will not be involved in LTE smartphones.

Since both Allwinner and Qualcomm are silicon vendors, and competitors, you may wonder why they’ve partnered. Allwinner only provides WiFi and Bluetooth tablets with their own processors, so partnering with Qualcomm allows then to offer LTE tablets. Many Chinese manufacturers don’t have a license agreement with Qualcomm, so those will be able to provide Qualcomm tablets solution through Allwinner.

The responsibilities of each stakeholders is well explained in the first chart: Qualcomm will provide the chips, global marketing, and technical support, Allwinner will design the reference designs and work on the SDKs, both to be released to design houses such as Emdoor, working for manufacturers.

The only Snapdragon tablets currently offered on Aliexpress are made by Huawei, and certainly not designed through this program. But the tablets based on the first generation of reference designs, such as the ones made by Cube, have been showcased at Mobile World Congress Shanghai 2016 last week, so we should be expecting low cost Snapdragon based LTE tablets to competing with Mediatek ones in the near future.

Allwinner Virtual Reality 2016 – 2017 Roadmap: H8vr, VR9 and VR10 Solutions

May 31st, 2016 4 comments

Virtual reality has gotten a lot of hype in the last year or so, and so far there’s basically three ways to implement virtual reality: smartphone + VR headset, all-in-one headset, and PC + headset. Currently the former is the most popular option as it’s much cheaper than the other two, while PC based virtual reality provides the best user experience, but it’s quite pricey. Allwinner is now at Computex 2016 promoting their virtual reality solutions, and they see smartphone based VR peak in 2018, PC based VR have a slower growth, with All-in-one VR becoming the dominant force in 2020 and beyond.

Virtual_Realite_Smartphone_All-in-one-PCSo the company is focusing on all-in-one Android VR headsets, starting with H8vr board featuring Allwinner H8 octa-core processor with 2GB RAM and 16GB storage, and mainly targeting 4K virtual reality videos, since the performance of current mobile processors does not really provide a good experience for games. Allwinner claims to have 20 partners working on their H8vr solutions, and boasts low power consumption, lower weight, low heat, low lag (< 20 ms), and long battery life with over 3 hours of video playback.

Allwinner_Roadmap_2016-2017-Virtual_RealityBeyong H8vr available now, Allwinner has two new VR solutions in the pipeline for late 2016 and 2017:

  • Allwinner VR9 (Q4 2016) – Four times the performance over H8vr and mobile VR game support
  • Allwinner VR10 (Q2 2017) – LTE and artificial intelligence support, 50% lower power consumption and twice the performance of VR9.

Charbax talked with the company at Computex 2016 about their current and future virtual reality plans, as well as 360 degree video recording solutions based on Allwinner V3 processor.

Allwinner News – Root Exploit in Linux and Fake Pine A64 Boards

May 13th, 2016 13 comments

There’s been a lot of buzz about a root exploit in Linux 3.4 kernel for Allwinner H3/H83T SoCs found by linux-sunxi & armbian developers in the last few days. Since the kernel for H3 / H83T is stuck to 3.4, and not always updated on the vast majority of hardware platforms, it’s quite likely there are many ways to breach into such systems, and even the majority of Android devices are not secure, not only the ones powered by Allwinner. So I did not really pay attention at first, but it went viral with  stories reporting a hidden backdoor, and hitting to ill-intent. But is that really the case? That’s the code from github, now removed from the master branch, but still in A83T branch.

allwinner_rootmydeviceIt’s now super easy to gain root access by simply running one command which works for any users:

That’s obviously pretty bad, but is that a hidden backdoor? Considering Allwinner released the source code, and the kernel log would show “now you are root” each time the method would be used, that would be very stupid backdoor, and it’s not hidden since the code was there for everyone to see. A developer most probably added the code to sunxi_debug in order to ease debugging, and did not realize there was a security issue. I’ve been told the exploit only affect Allwinner H3 & A83T processors, so if you have devices with one of those, you’d better check if the exploit works, and if it does, get an updated firmware, or kernel. Using proper code review procedures, or going Linux mainline,  would avoid such PR disasters. Speaking of which, Allwinner issued the following statement in response:

Allwinner Technology committed to resolving Linux Kernel software issue

Zhuhai, China – Allwinner Technology.Co.Ltd (SHE: CN:300458) is working with its device manufacturers to fix a current software issue. We are aware that code, which was supplied to device manufacturers for the purpose of developing products, should have been removed prior to shipping. We recommend that anyone who is concerned about this issue should contact the relevant device manufacturer.

In relation to the source code on Github, it is released for the open source community only and not for shipping certain devices. Since a debugging function is not needed it has subsequently been removed.

Allwinner is committed to producing quality SoCs with security a key priority. We are currently working hard to address this issue and revising our current processes so we can continue to evolve our range of SoCs in the future.

In other news, one of Pine64 managers informed me that fake/copy versions of Pine A64 development board, based Allwinner H64 SoC, had started selling on Taobao.

Fake_Pine_A64It’s unclear if those are exact copies, but to be safe, you should probably avoid purchasing Pine A64 on Taobao, or Taobao forwarding services.

Sub $100 Remix OS Laptops Powered by Allwinner A64 Processor Are Coming Our Way

April 23rd, 2016 24 comments

Remix OS is a fork of Android making the popular operating system more suitable for desktop use with a start-up menu, better handling of multi-tasking, multi-window support, etc… It’s found in several tablets and TV boxes including Jide’s own Remix mini. But Charbax has showcased a few Remix OS laptop prototypes based on Allwinner A64 processor, with the video apparently shot from Allwinner office.

Remix_OS_LaptopThe first model is a white 11.6″ laptop (1366×768) with Allwinner A64 quad core Cortex A53 processor, looking quite similar to Olimex DIY laptop prototype also based on A64, with 1 to 2GB RAM, 8GB to 32GB flash, and a “nice keyboard and touchpad”.

The second model is based on the hardware, except the screen is larger (14.1″). It features HDMI output, two USB 2.0 ports, a micro SD slot, and a 3.5mm audio jack. Those two models are expected to sell between $80 and $100 depending on the final specs such as battery capacity, and overall build quality.

They don’t come with a touchscreen though, so they’ve come with a third 11.6″ 2-in-1 model with a touchscreen, and either Allwinner A64 or  Allwinner A83T octa-core processor that should be cost less than $100.

Those are probably reference designs, so the exact price will depend on the manufacturers themselves, and it’s also unclear when they’ll ship. Charbax also mentions that the Allwinner A64 Remix OS laptops may be crowdfunded later on.

Linux 4.5 Released – Main Changes, ARM and MIPS Architectures

March 15th, 2016 1 comment

Linus Torvalds released Linux Kernel 4.5 on Sunday:

So this is later on a Sunday than my usual schedule, because I just couldn’t make up my mind whether I should do another rc8 or not, and kept just waffling about it. In the end, I obviously decided not to,but it could have gone either way.

We did have one nasty regression that got fixed yesterday, and the networking pull early in the week was larger than I would have wished for. But the block  layer should be all good now, and David went through all his networking commits an extra time just to make me feel comfy about it, so in the end I didn’t see any point to making the release cycle any longer than usual.

And on the whole, everything here is pretty small. The diffstat looks a bit larger for an xfs fix, because that fix has three cleanup refactoring patches that precedes it. And there’s a access type pattern fix in the sound layer that generated lots of noise, but is all very simple in the end.

In addition to the above, there’s random small fixes all over-shortlog appended for people who want to skim the details as usual.

Go test, and obviously with 4.5 released, I’ll start the merge window for 4.6.

Linux 4.4 added support for a faster and leaner loop device, 3D support in virtual GPU driver, TCP improvements, various file systems improvements for BTRFS, EXT-4, CIFS, XFS etc… Some notable changes made to Linux 4.5 include:

  • Copy offloading with new copy_file_range(2) system call – Performance improvements on local file systems are marginal, but for networked file systems such as NFS, you could copy a file internally on a server drive without transferring file data over the network.
  • Experimental PowerPlay for amdgpu driver
  • Btrfs free space handling scalability improvements – New, experimental way of representing the free space cache that takes less work overall to update on each commit and fixes the scalability issues for large drives (30TB+). It can be enabled with -o space_cache=v2 mount option, and you can revert to the one method with -o clear_cache,space_cache=v1.
  • Support for GCC’s Undefined Behavior Sanitizer (-fsanitize=undefined) UBSAN (Undefined Behaviour SANitizer) is a debugging tool available since GCC 4.9. It inserts instrumentation code during compilation that will perform checks at runtime before operations that could cause undefined behaviors. Linux 4.5 supports compiling the kernel with the Undefined Behavior Sanitizer enabled.
  • Next gen media controller whose “goal is to improve the media controller to allow proper support for other types of Video4Linux devices (radio and TV ones) and to extend the media controller functionality to allow it to be used by other subsystems like DVB, ALSA and IIO”. See lkml for details

Some new features and improvements specific to the ARM architecture:

  • Allwinner:
    • Allwinner A80 support – IR receiver driver, NMI controller,PRCM driver, R_PIO support, and RSB driver
    • Allwinner H3 SoC support – H3 USB PHY clocks
    • A10/A20 Video Engine clocks
    • MIC1 capture for sun4i codec
    • Audio codec enabled on various boards
    • Added board – Orange Pi Plus
  • Rockchip:
    • Crypto module and io-domain driver enabled in multi_v7_defconfig
    • Tweaks for RK3368 SoC and eval board
    • Added Rockchip RK3228 SoC and eval board
    • New RK3228 subdriver in pinctrl
    • SPI driver fix
    • Added support for RK3399 in thermal driver
    • RK3036: Added SMP support, emac support
    • Expose USB PHY PLLs
  • Amlogic
    • Device tree changes – Add watchdog node to meson8b, add status LED for ODROID-C1
    • Watchdog timer modifications
  • Samsung
    • eMMC/SDIO minor fixes usage of bindings on Snow and Peach chromebooks.
    • Remove FIMD from Odroid XU3-family because on XU3 it cannot be used yet and on XU3-Lite and XU4 it is not supported.
    • Remove deprecated since June 2013 samsung,exynos5-hdmi.
    • Add support for Pseudo Random Generator on Exynos4 (Trats2 for now). This depends on new SSS clock.
    • Add rotator nodes for Exynos4 and Exynos5.
    • Switch DWC3_1 on Odroid XU3 and XU3-Lite to peripheral mode because  now it cannot be used as OTG.
    • Cleanup the G2D usage on Exynos4 and add it to a proper domain in case of Exynos4210.
    • Put MDMA1 in proper domain on Exynos4210 as well.
    • Minor cleanups
  • Qualcomm
    • New pinctrl subdrivers for Qualcomm MSM8996, PM8994,  PM8994 MPP support
    • Added Qualcomm PCIe controller driver
    • Qualcomm ARM64:  Add fixed rate oscillators to dts, fixup PMIC alias and properties, change 8916-MTP compatible to be compliant with new scheme, fix 8×16 UART pinctrl configuration, add SMEM, RPM/SMD, and PM8916 support on MSM8916
  • ARM SoC multiplatform code – “This branch is the culmination of 5 years of effort to bring the ARMv6 and ARMv7 platforms together such that they can all be enabled and boot the same kernel”
  • ARM64 – hugetlb: add support for PTE contiguous bit; perf: add support for Cortex-A72;
  • Other new hardware or SoCs – Sigma Designs ARM Cortex-A9 Tango4 “Secure Media Processor” platforms (SMP8756, SMP8758, and SMP8759), TI-based DM3730 from LogicPD (Torpedo), Cosmic+ M4 (nommu) initial support (Freescale Vybrid), Veyron-mickey (ASUS Chromebit), BCM2836 and Raspberry Pi 2 B.

MIPS changes:

  • Add support for PIC32MZDA platform
  • bcm963xx: Add Broadcom BCM963xx board nvram data structure
  • dts: Add initial DTS for the PIC32MZDA Starter Kit
  • math-emu: Add IEEE Std 754-2008 ABS.fmt and NEG.fmt emulation
  • math-emu: Add IEEE Std 754-2008 NaN encoding emulation
  • math-emu: Add IEEE Std 754 conformance mode selection
  • pci: Add MT7620a PCIE driver
  • ralink: add MT7621 support
  • zboot: Add support for serial debug using the PROM

If you want to get the full details, I’ve generated Linux 4.5 Changelog with comments only (12.2MB) using git log v4.4..v4.5 --stat, but it’s probably a better idea to simply check out Linux 4.5 changelog on