Archive

Posts Tagged ‘allwinner’

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 kernelnewbies.org.

Allwinner A64 Android 5.1 SDK and Linux Source Code

December 10th, 2015 11 comments

Allwinner A64 is likely to become quite popular as it will be used in PINE A64 board, Olimex open source hardware laptop featuring A64-OLinuXino board, and some low cost tablets. We’ve already got some documentation such as Allwinner A64 datasheet and user’s manual, but AFAIK, there was no source code released for the board.

Allwinner_A64_SDK_LinuxThe good news is that you can now download Android 5.1 SDK and Linux source code on Baidu with four files available:

  • lichee_A64_A5.1_V1.0.tar.gz – Linux source code
  • android_A64_A5.1_V1.0.tar.gz– Android 5.1 SDK
  • android_prebuilts_A64_A5.1_V1.0.tar.gz – Some pre-built binaries for Android
  • A64硬件资料.zip – Documentation including the datasheet, product brief, and user’s manual which we’ve already got, but also some hardware with reference schematics, PCB layout files, and BoM for an Allwinner A64 tablet.

Allwinner_A64_Tablet_SchematicsThat’s about 7.4GB to download, and apart from the documentation, the download is not quite complete yet, so I could not look into the details of the release yet.

Allwinner A64 Datasheet and User Manual Released

November 10th, 2015 18 comments

Allwinner has two 64-bit ARM processors in the works: Allwinner H64 and Allwinner A64. Both are quad core Cortex A53 processors with a Mali-400MP2 GPU, H.265 4K video playback with basically the same interfaces and peripherals, but H64 also supports H.264 at 4K resolutions, while A64 is limited to H.264 @ 1080p, and H64 adds a TS interface.

A64 Block Diagram

A64 Block Diagram

The first good news is that two boards are in development:

  • Orange Pi Plus 3 with Allwinner H64
  • Olimex A64-OLinuXino update with Allwinner A64

Engineering samples have already been produced for the first board, but that’s about all the information we have now, as Shenzhen Xunlong has not built its reputation by releasing documentation early. One the other hand, A64-OLinuXino schematics have nearly been completed, but we already know more details, as not only Olimex boards are open source hardware, but the company defies conventional wisdom by involving the community in the development process early. So they published the first revision of the Kicad schematics on Github to get feedback.

And together with their own work, they’ve also released the datasheets of the main components including A64 datasheet and TRM:

The third good news is that A64-OlinuXino Allwinner A64 board should eventually be used in a 64-bit ARM DIY laptop made by Olimex themselves.

Body Considered for OLinuXino Laptop

Body Considered for OLinuXino Laptop

At some points, we’ll also need some bootloader and Linux source code for Allwinner A64, but that’s the next step.

Linux 4.3 Release – Main Changes, ARM and MIPS Architectures

November 4th, 2015 2 comments

Linus Torvalds released Linux Kernel 4.3 last week-end:

So it *felt* like the last week of the rc series was busy, to the point where I got a bit worried about the release. But doing the actual numbers shows that that really was just my subjective feeling, probably due to the kernel summit and travel back home from Korea. It wasn’t actually a particularly busy week, it’s just that the pull requests were more noticeable in the last couple of days.

We had a network update and a late fix for a x86 vm86 mode bug introduced by the vm86 cleanups, but other than that it’s just a collection of various small one-liners all over. Ok, the vm86 mode thing was a one-liner too, it was just slightly more nerve-wracking because it looked scarier than it was before people (Andy) figured out what was going on.

The changes from rc7 are dominated by the network stuff, but as you can tell from the appended shortlog it’s not anything particularly scary.

So on the whole, this remains a rather calm release cycle until the very end. And with the release of 4.3, obviously the merge window for 4.4 is open, and let’s keep our fingers crossed that that will be an equally calm release. Especially since apparently Greg has decided ahead of time (as an experiment brought on by discussion at the kernel summit) that 4.4 will be another LTS release.

Linus

Linux 4.2 brought us file systems and networking changed, new cryptography implementations, AMD GPU driver support for more graphics card, among other things. Some changes made to Linux 4.3 include:

  • Removal of EXT-3 file system (EXT-4 file system will handle EXT-3)
  • Various fixed for BTRFS, EXT-4, F2FS, and XFS file systems
  • IPv6 is now built into the kernel by default.
  • New driver framework for nonvolatile memory devices (e.g.EEPROMs). See nvmem.txt for details.
  • The networking layer added “lightweight tunnel” support.

More user visible and internal changes can be found on LWN’s merge window articles [1], [2] and [3].

I’ve also compiled some of the new features and improvements specific to the ARM architecture with a focus on Allwinner, Rockchip, Amlogic and /Mediatek processors often featured in this blog:

  • Allwinner:
    • A10 / A13 / A20 / A23 / A31 – Enabled OTG controller
    • A10 / A10s / A13 / A20 – Support for DMA engine
    • A23 / A33 – Support for USB controllers
    • most of Allwinner SoC – Support for Allwinner Security System crypto accelerator (sunxi-ss)
    • AXP152 – AXP152 mfd support
    • Added boards – Iteaduino Plus A10 board, Ippo-q8h-a33 v1.2 tablet board
  • Rockchip
    • Audio – Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650
    • Added USB PHY support for RK3066 and RK3188, enabled on Marsboard
    • Reserve unusable memory region (0xfe000000~0xff000000) on RK3288 and RK3368
    • Fixed suspend issues on RK3288
    • Added support for phase inverters
    • Added support for Rockchip RK3368 including clock-controller
    • Added support for Netxeon R89 board, two Chromebooks (Veyron family), and R88 board (RK3368)
  • Amlogic (Minor changes)
    • meson6: DTS: Fix wrong reg mapping and IRQ numbers
    • meson8b: Properly include clk.h
  • Mediatek
    • Added basic support for Mediatek MT6580
    • Added SMP support for Mediatek MT6795
    • Mediatek MT8173: cpuidle-dt updates, watchdog device, misc other additions
    • Added MT6397 PMIC support to MT8173 eval board
  • Qualcomm
    • Qualcomm MSM8916 and APQ8016 updates for USB
    • Pinctrl driver updates for Qualcomm SPMI-MPP, and Qualcomm Technologies QDF2xxx ARM64 SoCs
    • Qualcomm driver for SMM/SMD (Shared Memory Driver)
    • Regulator driver for the Qualcomm RPM
    • Device tree updates for Compulab QS600, Inforce 6410 & 6540,  APQ8074 Dragonboard, etc…
  • Samsung
    • Various defconfig and device tree updates for Exynos processors
    • cpufreq driver updates
    • clk driver updates for Exynos 3250, 4210, 4412, and 5250 SoCs
  • Xilinx – ZynqMP: A bunch of devices added to the existing DTSI (sdhci and watchdog on ep108, DWC3 usb, SMMU, CANs node…)
  • Other new ARM SoCs & hardware platforms – Broadcom North Star 2 (ns2), Marvell Berlin4CT,  Freescale i.MX6UL boards, SocioNext (previously Panasonic) UniPhier, Texas Instruments DM814x, Gumstix Overo platforms

There have also been some changes for MIPS architecture mostly committed by Imagination Technologies themselves:

  • Fixed JZ4740 build
  • Cavium Octeon CN68XX improvements
  • Some work on the clock framework
  • Added uprobes support
  • Support for the I6400
  • Moved ath79 GPIO driver to drivers/gpio
  • Various fixes

Finally, I’ve generated Linux 4.3 Changelog with comments only (12.3MB) using git log v4.2..v4.3 --stat. Normally I would also recommend checking out the changelog on KernelNewbies here, but they have not even updated Linux 4.2 changelog yet.