Archive

Posts Tagged ‘allwinner’

Allwinner R58 Octa-core Processor Targets 2-in-1 Android Laptops

June 5th, 2015 3 comments

Allwinner R-series processor family, such as Allwinner R8, is supposed to target “IoT applications”, but IoT must have recently taken a whole new meaning as the latest Allwinner R58 octa-core processor targets 2-in-1 laptops running Android. Allwinner website however lists R58 as an high-end IoT platform for virtual reality and robotics.
Allwinner_R58_Block_DiagramAllwinner R58 specifications:

  • CPU – Octa-Core Cortex-A7 CPU up to 2.0 GHz
  • GPU – PowerVR SGX544 GPU @ 600 MHz with support for OpenGL ES 2.0/1.1, OpenCL 1.1, DX 9_3
  • Memory
    • 32-bit DDR3/DDR3L/LPDDR3/LPDDR2
    • SLC/MLC/TLC/EF NAND with 64-bit ECC
    • eMMC V4.5
  • Video
    • 1080p@60fps video playback
    • multi-format video playback, including H.264, MPEG1/2, MPEG4 SP/ASP GMC, H.263 including Sorenson Spark, WMV9/VC-1, JPEG/MJPEG, etc
    • H.264 1080p@60fps or 720p@120fps video capture
  • Display
    • LVDS up to 1366×768@60fps or RGB LCD up to 2048×1536@60fps
    • 4-lane MIPI DSI up to 1920×1200@60fps
    • HDMI up to 1080p@60fps, HDCP V1.2 supported
    • Dual display supported with LCD up to 720p@60fps and HDMI up to 720p@60fps
  • Camera
    • 5MP parallel CMOS sensor
    • 8MP MIPI CSI controller
    • 8MP ISP
  • Peripherals
    • USB Host, USB Dual-Role (host/device), HSIC
    • Ethernet MAC
    • 2x SPI, 4x TWI, 6x UART, RSB
    • 3x SD/MMC
    • 2x I2S/PCM
    • CIR, LRADC
  • Package – FCBGA 345; 14mm x 14mm size

Eva Wu, Allwinner marketing manager, explains that Allwinner R58 is similar to Allwinner A83T, which I tested in a Foxconn tablet, but alledgedly with higher frequencies for the CPU and GPU. However, Allwinner A83T was also clocked at 2.0GHz in the tablet I tested. Go figure… Anyway, you should not expect amazing performance from that processor (Antutu probably around 30,000), but it should still be usable.

The operating system appears to be a customized version of Android called “Double OS”, and optimized for work to make it “perfectly compatible with office” and with some “adaptation of the keyboard and mouse”. Further improvements are also scheduled for Q3 2015 such as multi-window and Google Work support. A 64-bit version of the processor, (Allwinner R88) will be launched on Q4 2015 supporting either Double OS 3.0 or Windows 10.

Charbax is a Computex 2015, and he filmed the Android laptop in action, and got a few more details about the solution.

Via armdevices.net

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Allwinner T2 Dual Core Processor is Made for Automotive Infotainment and Navigation

June 4th, 2015 1 comment

Allwinner already has several processor families, the most famous being the A-series for tablets, followed bythe H-series for home entertainment, the V-series for video application, the R-series for IoT as found in R8 module used in C.H.I.P $9 computer, and now I’ve just found out the company launched T-series with Allwinner T2 and T8 for “Transportation”/automotive applications.

Allwinner T2 Block Diagram (Click to Enlarge)

Allwinner T2 Block Diagram (Click to Enlarge)

I don’t have any details about T8 processor, but the company kindly shared a product brief with the specs for Allwinner T2:

  • CPU – Dual core Cortex A7
  • CPU – Mali-400MP2 supporting OpenGL ES 1.1/2.0
  • Memory – DDR2, DDR3, and DDR3L controller, NAND flash controller with 64-bit ECC
  • Video Inputs – 4x AV Inputs
  • Video – H.264 2160p video decoding, multi-format decoding, h.264 encoding @1080p30 / 720p60.
  • Display – Multi-channel HD display with integrated HDMI 1.4 transmitter, CPU/RGB/LVDS display interface, support for VGA/CVBS/YPbPr, and integrated TV decoder.
  • Camera – Integrated parallel 8-bit interface YUV sensor, integrated 24-bit parallel YUV 444 I/F, supports 5MP CMS sensors, and dual sensors
  • Audio – Integrated HiFi 100 dB audio codec, dual analog MIC amplifier
  • Low speed I/F – 5x TWI, 4x SPI, 8x UART
  • 3x USB 2.0, 4x SDIO

The processor supports Android 4.2. Allwinner T2 can be used in dual-channel HD car DVR applications, including features such as around view parking (with 4x AV inputs), WiFi and AP hotspot, voice assistance, rapid reverse image function, 3G/2G voice and data, multimedia playback, radio, Bluetooth Voice/Music/Dial, DVD playback, GPS navigation, and keys and touch panels.

Armdevices.net also uploaded a video showing a few solutions featuring Allwinner T2.

There’s no product page yet, but according to the video above, Allwinner T2 solutions are already in mass production in China.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Allwinner V3 SoC Targets 1080p60 Action Cameras, Supports Linux or Camdroid OS

April 2nd, 2015 17 comments

I’ve previously written about Allwinner V10 and V15 SoC for video applications such as cameras, digital video recorder, and so on. So far, I’ve not found devices based on these, but Allwinner already announced another V-series processor with Allwinner V3 designed for Action camera recording up to 1080p resolution at 70 frames per second.

Allwinner_V3Key specifications are listed below:

  • CPU – ARM Cortex-A7 @1.2GHz
  • Memory
    • 16-bit DDR3/LPDDR3/DDR3L SDRAM controller, up to 1333Mbps
    • 16-bit DDR2 up to 800Mbps, 16-bit LPDDR2 up to 1066Mbps
    • up to 2GB RAM
  • Video / Picture
    • Up to 1080p@60fps or 2-channel 1080p@30fps H.264 video encoding
    • 8M JPEG encoding
    • H.264 1080p@60fps decoding, MJPEG 1080@30fps decoding
  • Integrated ISP up to 8M pixels (HawkView ISP)
    • 2 channel outputs for display and encoding respectively
    • Supports various input and output formats
    • Supports AE/AF/AWB
    • Saturation adjustment, 2D/3D noise reduction,  defect pixel correction, and distortion correction
  • Audio Codec
    • Integrated 92dB audio codec
    • 2x ADC channels and 2x DAC channels
    • 3x MIC-in, stereo Line-in, headphone output and stereo line-out output
  • Interfaces – 4-lane MIPI CSI, parallel CSI, RGB/LVDS LCD controller, EMAC with PHY
  • Supports WiFi or 3G/4G connectivity

The company provides Linux or Camdroid OS, a lightweight port of Android by Allwinner.

The first Allwinner V3 based action cameras should hit the shelf before summer.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Allwinner CedarX Media Codec Library GPL/LGPL Compliance Update

March 23rd, 2015 29 comments

Last month, I wrote about potential open source licenses and VP6 copyright infringement by Allwinner with their CedarX media codec library, and then since there’s been a few developments.
Allwinner_GPL_LGPL

First, Allwinner sent me an email saying they’ve now updated Cedarx library and referring my previous article. Here’s an extract:

Here, I have some update of the Allwinner’s open-source status.

We have done a lot of discussion with the developers from the linux-sunxi communication about the software license of CedarX. For each question or requirement asked by the developers, Allwinner has identify and try to give the best solution.

Now, we believe Allwinner’s CedarX license is fully compliant and resolves concerns from the community. And you can take the announcement https://www.mail-archive.com/[email protected]/msg10597.html as a reference.

Allwinner is always supporting the open-source, and try to do better and better. You can see some update on the github https://github.com/allwinner-zh, and some feedback from developers: https://github.com/allwinner-zh/bootloader/issues/5.

It’s difficult to make everyone happy, but we believe Allwinner will do better and better, and give more and more help to the developers, and we believe Allwinner will be accepted by more and more developers.

The announcement claims “the CedarX media codec framework is now released with full open source code under the LGPL license”. That actually means there’s an open source API to access the closed source binaries that’s released under the LGPL license. The good news is the VP6 code that could infringe on On2/Google copyrights has now been removed and they are using ffmpeg instead.

So I asked on linux-sunxi IRC channel to find out if there was real progress made, and soon after some more details were released on linux-sunxi mailing list, and the part that looks really bad is:

264FillDefaultRefList() and a lot of code around it is straight out of the libavcodec h264 decoder. The original name for that function is ff_h264_fill_default_ref_list() in libavcodec/h264_refs.c: https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/h264_refs.c#L115 This is new, as some totally different code for h264 was available in the previous versions of the cedarx binaries.

This looks like Allwinner reached a new low, as it would mean Allwinner purposely renamed some function from LGPL code to make it look like it was their own. However, another email on arm-netbook mailing list by a soon-to-be Allwinner’s software engineer gives some more light to what actually happened here:

I can explain the whole process in a whole detail, because I was directly involved in the process of this decision and I can tell where this is going right now:

The rename was done to fix the LGPL violations by adding a wrapper for the GPLed libraries which will be LGPLed and published. This way we have Binary<->LGPLed open source code<->GPL libraries

Next step will be to drop the whole “we ship our own SDK”-thing and move over to stream our code into the existing open source alternatives.

But until the FOSS libraries have all the functionality from the shipped SDK we can not just stop supporting our customers in China. Also we can not suddenly make it open source for the following reasons:

  • Some engineers and managers do not fully comply with the GPLing of their code yet.
  • The code has awful coding style and my armcc refuses to compile at least 2/3 of the code because of the Chinese comments.
  • Also some of the engineers obviously have never heard the term “revision control” which makes it even harder to locate the actual version of the source code from which the binary was compiled from… -.-‘

So Allwinner has not make it right just yet, but at least they are trying, and even hiring western engineers to try fixing the licensing issues. I’m just not sure the current plan for binary<->LGPL wrapper<->GPL is actually valid, but at least they have longer term plan to upstream changes to open source project, at least that’s the way to understand the email above. Beside legal and technical work, moving from closed source “license infringing” code to properly licensed code is also a social engineering task, as all stakeholders in the company and possibly their customers must be convinced proper licensing is the way to go, and not the business as usual “just copy code from the net” and ignore licensing terms as Allwinner and many other companies have done in the past.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

(Most of) FOSDEM 2015 Videos Are Now Online

March 12th, 2015 4 comments

FOSDEM 2015 took place on between the 31st of January and 1st of February, and while some sessions were not recorded on videos, most of them were, and the organizers are now slowly processing and uploading 402 videos to their server. So far 210 videos have been uploaded, including the Embedded Devroom.

Fosdem_2015

You can follow the upload status to check out when your preferred track/devroom sessions are uploaded. For example, “internet of things” videos have not been uploaded so far, so you’d need to be a bit more patient for this topic.

One of such videos is “Upstream Allwinner ARM SoC (A10 / sunxi) support status”  by Hans de Goede, which includes the slides on the left and video of the right. This makes the presentation easy to follow (despite the slides being cropped), but probably explains why it takes so long to process the videos.

http://video.fosdem.org/2015/devroom-embedded/allwinner_upstream__CROPPED_PRES.mp4

You can also download presentation slides separately by going to the list of talks, clicking on the talk you want to checkout, and finally the presentation slides (if any) in the “Attachments” section. Direct link to the presentation above: allwinner_fosdem_2014.pdf.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Allwinner’s New Media Codec Library (CedarX) May Infringe on Open Source Licenses and Copyrights

February 26th, 2015 8 comments

Allwinner has had to good idea to open allwinner-zh github account last September in order to release source code, binary libraries, and documentation for these ARM processors. Yesterday, the company released a new version of their closed source CedarX library used to decode and encode video streams. But Luc Verhaegen (libv), known for his reverse-engineering work on ARM Mali-400 (lima driver) and now Mali-Txxx GPU (Tamil driver), analyzed the binary and claimed  the library is not compliant with LGPL licenses, and may also infringe on On2 copyrights.

Allwinner_GPL_LGPLLuc wrote his concerns on sunxi-linux mailing list, and Allwinner promised to look into it.

Two libraries are involved:

  • ffmpeg which includes both LGPL and GPL licenses, but the contention seems to be about the LGPL part, since only optional features are GPL’ed in ffmpeg. It’s perfectly fine to include LGPL libraries into your binaries, as long as you don’t modify the open source libraries, but if you do, the source code modifications must be released under an LGPL license.
  • libvp62 an open source implementation of On2 VP6 codec released in 2006 that was taken down due to copyright infringements since it was allegedly “anti-compiled from Java”

I can imagine the timeline for the latter happened that way:

  1. Management to customer: “OK, we’ll get you a VP6 demo next week”
  2. Management to engineering team: “I need VP6 for next week to show to our most important customer”
  3. Engineering team: Open jaw first, then look for code on Baidu, and find it on pudn (Sight of relief)
  4. VP6 demo is implemented and successfully demo’ed to customer
  5. Management, customer and engineers are all happy! Mission accomplished.

On2 is now owned by Google, so Allwinner could have a problem or two if the copyright infringement is confirmed, and Google takes action. Luckily VP6 video decoding is also supported by ffmpeg, so they may be able to sort this out.

It’s also interesting to read the full thread on sunxi-linux mailing, as people explains what kind of issues they had with closed source project, including a canceled project using Allwinner A20, and potential security issues.

Via Phoronix

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux 3.19 Release – Main Changes, ARM and MIPS Architectures

February 9th, 2015 4 comments

Linus Torvalds released Linux Kernel 3.19 yesterday:

So nothing all that exciting happened, and while I was tempted a couple of times to do an rc8, there really wasn’t any reason for it.

Just as an example, Sasha Levin used KASan and found an interesting bug in paravirtualized spinlocks, but realistically it’s been around forever, and it’s not even clear that it can really ever trigger in practice. We’ll get it fixed, and mark it for stable, and tempting as it was, it wasn’t really a reason to delay 3.19.

And the actual fixes that went in (see appended shortlog) were all fairly small, with the exception of some medium-sized infiniband changes that were all reverting code that just wasn’t ready.

So it’s out there – go and get it. And as a result, the merge window for 3.20 is obviously also now open.

Linus

Linux 3.18 improved performance of the network stack, received BTRFS and EXT-4 file systems improvements, introduced overlayfs for live CDs, and more.

Some changes made to Linux 3.19 include:

  • Btrfs: support scrubbing and fast device replacement in RAID 5&6Btrfs  – Added support for fast & live device replacement (see btrfs-replace), much faster and efficient than adding the new device and removing the old one in separated commands. This feature could not fast-replace devices from file systems using RAID 5 & 6, this release has removed that limitation. Support for the process of scrubbing a btrfs filesystem (with btrfs-scrub) has also been added for RAID 5&6 file systems.
  • Support for Intel Memory Protection Extensions – Intel’s Memory Protection Extension (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. This Linux release adds support in the Linux kernel, although CPUs with MPX support are not sold yet (To be introduced with Intel Skylake and Goldmont microarchitectures). LWN article: Supporting Intel MPX in Linux
  • SquashFS adds LZ4 Compression Support
  • Work on year 2038 bug – do_settimeofday(), timekeeping_inject_sleeptime(), and mktime() now have 2038-safe replacements
  • The networking layer has a new subsystem for offloading switching and routing duties to suitably capable hardware
  • Audio – Intel Baytrail-based audio devices, Samsung Exynos7 I2S controllers, NXP Semiconductors TFA9879 amplifiers, and Texas Instruments TS3A227E headset chips.

Some of the new features and improvements specific to the ARM architecture include:

  • Allwinner:
    • Simple Framebuffer and USB phy driver support for usb0  for Allwinner A10 / A10s / A13 / A20 / A31 / A23
    • NAND Flash driver for Allwinner A10 & A20
    • DMAengine driver for Allwinner A23 (Shared with A31)
    • Allwinner A80 – initial machine support, basic clocks and reset, pinctrl driver, extra UART, I2C, LEDS
    • New boards: Mele M3, LeMaker Banana Pi, Merrii A80 Optimus Board, Olimex A20-OLinuXino-Lime2
  • Rockchip
    • RK3288 – Basic SMP support
    • Device tree for MarsBoard RK3066
    • Added support for rk3066-tsadc variantof rockchip_saradc
    • Add support for the mmc clock phases using the framework
  • Amlogic
    • Added DTSI for Meson8 SoCs
    • Driver for Meson IR remote control
    • Support for Meson SPIFC
  • Mediatek
    • Basic support for MT6592, MT8127 and MT8135
    • DTS for 8127 Moose board, MT8125 evaluation board, and MT6592-EVB
  • ARM64
    • Added Device tree for Juno and AMD Seattle platform
    • Added framework for legacy instruction emulation, secomp suport, SMBIOS/DMI support, etc…
  • Atmel AT91 architecture has gotten rid of board files, and is now fully converted to device tree
  • Other new device tree files: Altera Arria10 SoC, Synology DS213j/DS414, Braodcom BCM5301X devices (Asus RT-N18U, Buffalo WZR-1750DHP, Buffalo WZR-600DHP2, Netgear R6300 V2 ), DLink DIR665, Raspberry Pi model B+, Freescale LS1021A, TBS2910 Matrix ARM mini PC, NHK15 board (nomadik)

Some changes have been listed for MIPS architecture too:

  • BMIPS: Add PRId for BMIPS5200 (Whirlwind)
  • Enable VDSO randomization
  • Loongson-3 –  Add PHYS48_TO_HT40 support, Add RS780/SBX00 HPET support, Add oprofile support
  • Loongson1B – Add a clockevent/clocksource using PWM Timer
  • Loongson –  Allow booting from any core
  • Support for hybrid FPRs
  • ath25 – Add basic AR2315 SoC support, add AR2315 PCI host controller driver, add basic AR5312 SoC support
  • bcm3384 – Initial commit of bcm3384 platform support
  • ralink – add mt7628an support, add rt2880 pci driver, add support for MT7620n

A more detailed changelog for Linux 3.19 will soon be available on Kernelnewbies.org. You can also checkout ARM architecture and drivers sections for more details about changes related to ARM, MIPS and other platforms.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Snappy Ubuntu Core is an IoT Linux Distribution for ARM and x86

January 21st, 2015 14 comments

Canonical has announced a version of Ubuntu specifically designed for IoT devices running Linux, with a low hardware requirements, and a new package manager called snappy, replacing apt-get for this version of Ubuntu, which provides simpler, faster, and more reliable updates, stronger security, and allows roll-backs in case something goes wrong. Easy firmware updates are something missing in most connected device, which means they are more vulnerable to potential hackers, but with snappy security updates should be able to make it regularly, so that if something like heartbleed occurs again, you know your router, home automation gateway, connected washing machine, or robot will be soon patched automatically.

Snappy Ubuntu Core Logo

Snappy Ubuntu Core Logo

Let’s go through the hardware requirements first:

  • Processor – 600 MHz processor (ARMv7 or greater, or x86)
  • System Memory – 128 MB RAM or greater (The system itself uses 40 MB RAM)
  • Storage – 4GB flash / storage for factory reset and system rollback

So the hardware requirements are not quite as low as something as OpenWRT, but still lower than what you’d expect from Ubuntu, so you could use an old laptop or PC as a development platform, and Canonical also recommends BeagleBone Black or ODROID-C1 ARM based development boards. The Raspberry Pi board won’t work with Snappy, because Broadcom BCM2835 processor is using an older architecture (ARMv6) not supported by Ubuntu.

Snappy Architecture

Snappy Architecture

Twenty one companies and organization have partnered with Canonical on Snappy Ubuntu Core:

  • Home automation – Ninjablocks (Ninjasphere), Openhab (smarthub framework), Trasibot
  • Robotic – OSRF – ROS robots, , Erle Robotics with Erle-Copter
  • Development Boards – Hardkernel ODROID-C1, Beagleboarg community’s Beaglebone Black, Lemaker (Banana Pro), Udoo, LinkSprite (PCDuino), and Parallella
  • Silicon Vendors – Allwinner
  • IoT frameworks – Kaa, DeviceHive, IoTSys, Resin.io, OpenSensors.io
  • Misc- Riot-OS, Nwave, Fairwaves,  Docker with Weave

As mentioned in the introduction, apt-get is no where to be found in Snappy, as the distribution is using snappy instead, but the command line options remain familiar in some aspects:

$ sudo snappy install docker
docker      4 MB    [=====================================================]   OK
Part          Tag         Installed        Available        Fingerprint       Active
docker        edge        1.3.2.004        -                788b0787b18b1c    *

with various new/different options like info, search, versions and more:

$ snappy versions -a
PART               TAG      INSTALLED           AVAILABLE   FINGERPRINT   ACTIVE
ubuntu-core        edge     14.11.1-20141130    -           4e8c32456ab10
ubuntu-core        edge     14.12.1-20141201    -           7611de9a73923 *
docker             edge     1.1.21              -           34b32c359a08e *
hello-world        edge     1.0                 -           27e98ab23492c *

You can see in the list above two version of ubuntu-core, with one ACTIVE and the previous available for roll-back with the command:

$ sudo snappy rollback ubuntu-core
rolling back ubuntu-core -> (edge 14.11.1-20141130 8337ce7b64821)
Reboot to use the new ubuntu-core.

You can find more example in Ubuntu Developer’s snappy page, and find out snappy can also be used to build software packages from source.

There’s also a work-in-progress web interface called WebDM (Web Device Manager) used to configure the device and install packages. It can be installed with sudo snappy install webdm, but Canonical warns it should not be enabled in production devices for now, as access control is not implemented yet.

WebDM

WebDM

If you want to try it, you don’t even need extra hardware, as a Snappy Ubuntu Core instances can be launched from Azure, GCE or Amazon EC2  cloud services, or run in a Virtual Machine with KVM, OVA (VMWare, VirtualBox,…) or Vagrant. All you have to do is follow the instructions provided here. Complete instructions and a preview image are also available for the BeagleBone Black. There does not seem to be pre-built images yet for the other ARM boards mentioned in this article.

Via LinuxGizmos

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter