Archive

Posts Tagged ‘cubieboard’

Cubieboard7 Board Powered by Actions Semi S700 Processor Becomes a Full-Featured Devkit with DVK522 Expansion Board

July 25th, 2017 10 comments

Cubieboard6 was announced earlier this year with the same form factor as Cubieboard2 – which was popular a few years ago – by replacing Allwinner A20 with Actions Semi S500 quad core ARM Cortex A9 processor. CubieTech is about to launch Cubieboard7 based on the same design, except for the processor upgrade to the pin-to-pin compatible Actions Semi S700 quad core ARM Cortex A53 processor. I’ve also found out Cubieboard2/6/7 can be connected to DVK522 expansion board to provide easier access more I/Os like LVDS, RGB LCD, VGA, and so on.

Let’s start with the Cubieboard7 (CB7) preliminary specifications:

  • SoC – Actions Semi S700 quad core ARM Cortex-A53 processor with Mali-450MP4 GPU
  • System Memory – 2GB LPDDR3
  • Storage
    • 8GB eMMC flash
    • SATA 3.0 port for 2.5″ HDD/SSD implemented via USB 3.0 switch and JMicron JMS578 USB 3.0 to SATA controller.
    • micro SD card slot up to 32GB
  • Video Output  – HDMI 1.4b up to 1080p60 according to specs, but datasheet mentions: 3840*[email protected]/25Hz/30Hz and 4096*[email protected]/25Hz/30Hz, so those are likely to be supported to
  • Video Decoder – MPEG-4, H.264, H265… up to 60 Mbps (average), 120 Mbps (peak)
  • Video Encoder – H.264 up to 1080p60
  • Audio I/O – Via HDMI output, 3.5mm audio output (HP) jack, 3.5mm audio input (MIC) jack
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n WiFi, Bluetooth 4.0 LE (AP6212) with u.FL antenna connector
  • USB – 2x USB host ports, 1x mini USB device
  • Expansion – 2x 48-pin headers with I2C, CSI for camera, FM-IN, ADC, CVBS output, Audio output, RGB, LVDS, MIPI DSI, SPI, HSIC, INT GPIO…
  • Misc – IR receiver, RTC with battery, power and ADFU keys (to flash firmware), Power LED, 2x User LEDs
  • Power Supply
    • 5V @ 2.5A via power barrel
    • 5V via mini USB input
    • 3.7V Li-Po battery support via 2-pin header
  • Dimensions – 100mm x 60mm x 18mm
  • Temperature Range –  -20℃ ~ 70℃
  • Certifications – FCC, CE & RoHS

Development resources like tools, Android 5.1 firmware and SDK, documentation, schematics (PDF) and datasheet are shared via a Baidu link. Usually they also provide a link to MEGA to ease download for people outside of China.

S700 Application Diagram – Click to Enlarge

The documentation appears to be in English, at least S700 datasheet and product brief which include the “application diagram” above. The processor actually supports Gigabit Ethernet, but they kept the Fast Ethernet connection in Cubieboard7 likely to avoid having to re-layout the PCB and increase costs. Right now, only Android 5.1.1 is available for the board, but the company intends to “continually maintain Android, Debian, Debian Server operating systems”.

What also caught my eye with the board is DVK522 expansion board, that allows you to insert Cubieboard7 and older variants with the same form factor to more easily access various display and other interfaces, connect Arduino shields, etc… It’s been available since 2014, but I’ve only noticed it today.

DVK522 + Cubieboard6 – Click to Enlarge

DVK522 board features:

  • Display and Video Outputs
    • TVOUT interface – Video CVBS output
    • VGA interface
    • Resistive touch LCD RGB interface
    • Capacitive touch LCD RGB interface
    • Capacitive touch LCD LVDS interface: for connecting capacitive touch LCD with LVDS interface
  • Camera – 1x CAMERA interface for connecting camera modules like OV7670
  • Connectivity Headers – ZIGBEE connector for connecting ZigBee modules like Core2530, ZB501
  • Expansion Headers
    • 1x UART interface
    • 1x ONE-WIRE interface to be used with 1-wire devices such as temperature sensor (DS18B20), electronic registration number (DS2401), etc.
    • SPI0/I2C1 interface for SPI and I2C
    • Arduino headers
  • Debugging/ Programming – USB UART interface via PL2303TA USB TO UART converter, Arduino ICSP interface
  • Misc
    • 3.3 V RTC backup battery
    • 32.768K crystal for PCF8563 RTC chip
    • Buzzer
    • 3x AD keys for Android keys
    • 8x user LEDs, 1x power indicator
    • Configuration jumpers for  TVOUT selection, CAMERA power selection, RTC, RTC power selection, ONE-WIRE, Buzzer, AD keys, Arduino port selection,
      User LEDs, Arduino ADC/I2C selection, Arduino UART selection for either connecting UART shield or connecting Arduino board
  • Power Input / Output – 5V/3.3 V

Cubieboard7 does not appear to be available yet, and pricing is unknown. For reference, Cubieboard6 is sold for 420 RMB ($62.33) on Taobao, and $98 on Amazon US, and we can expect the new board to sell for a few dollars more ($10 to $15 extra?). DVK522 expansion board has been designed by Waveshare, and sold on their website for $33.99. You may want to visit Cubieboard7 product page for a few more details about the development board itself.

Thanks to Aleksey for the tip.

CubieBoard6 Development Board Powered by Actions Semi S500 Processor Comes with SATA, LiPo Battery Support

March 24th, 2017 19 comments

CubieTech launched Cubieboard with Allwinner A10 processor in 2012, and while they may not be as popular as some other boards like Raspberry Pi, ODROID, or Orange Pi boards in 2017, the company is still around after around 5 years, and their latest board is Cubieboard6 powered by Action Semi S500 quad core Cortex A9 processor with 2GB RAM, 8GB flash, HDMI, wired & wireless connectivity, SATA, battery support and more.

Click to Enlarge

Cubieboard6 specifications:

  • SoC – Actions Semi S500 quad core ARM Cortex-A9 processor with Imagination PowerVR SGX544 GPU
  • System Memory – 2GB LPDDR3
  • Storage
    • 8GB eMMC flash
    • SATA 3.0 port for 2.5″ HDD/SSD up to 4TB
    • micro SD card slot up to 32GB
  • Video Output  – HDMI 1.4b up to 1080p60
  • Audio I/O – Via HDMI output, 3.5mm audio output (HP) jack, 3.5mm audio input (MIC) jack
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n WiFi, Bluetooth 4.0 LE (AP6212) with u.FL antenna connector
  • USB – 2x USB host ports, 1x mini USB device
  • Expansion – 2x 48-pin headers with I2C, CSI for camera, FM-IN, ADC, CVBS output, Audio output, RGB, LVDS, MIPI DSI, SPI, HSIC, INT GPIO…
  • Misc – IR receiver, RTC with battery, power and ADFU key (to flash firmware), Power LED, 2x User LEDs
  • Power Supply
    • 5V @ 2.5A via power barrel
    • 5V via mini USB input
    • 3.7V Li-Po battery support via 2-pin header
  • Dimensions – 100mm x 60mm x 18mm
  • Temperature Range –  -20℃ ~ 70℃
  • Certifications – FCC, CE & RoHS

Click to Enlarge

The company provides Android 5.1.1 and Debian Jessie Desktop with 3D graphics acceleration (OpenGL ES 2.0) and hardware video decoding support. Software and hardware files, as well as documentation is available on MEGA outside of China, and on Baidu for people located in China.

Actions Semi S500 does not support SATA, so it’s important to look at the schematics to see how it was implemented, and while many boards are simply limited by their USB 2.0 interface, CubieTech used the USB 3.0 interface for the SATA implementation, which should lead to much better performance than most non-native solutions on the market. It’s disappointing that networking is limited to Fast Ethernet.

Click to Enlarge

We’ve see both a USB 3.0 switch and USB 3.0 to SATA bridge (JMicron JMS578) in the schematics in order to provide good performance between the processor and the SATA drive, while also allowing to use the board as an external USB 3.0 hard drive from your computer. Actions Semi S500 is not quite a new processor, and if you want to check out what it’s capable you may want to check out my hands-on posts about Roseapple Pi and Allo Sparky.

You’ll find more pictures and a few extra details on the product page. The official price of the board is $69 without shipping, but Cubieboard6 is only sold on a couple of website, including Amazon US for $98, and an Australian website for $115 AUD. Note that the board is sold as part of kit with several accessories namely USB to power jack cable, USB to mini USB cable, a WiFi antenna, a SATA cable, and a heatsink. There’s also an optional case, but I could not find it for sale yet.

CubieTruck Plus Development Board with DisplayPort & HDMI Sells for $84 (in China)

December 28th, 2015 6 comments

We first found out about CubieTruck Plus (aka Cubieboard 5) this summer, and while at the time we did not have the full details, it was clear from the board picture and name, that is was an update to CubieTruck board, replacing Allwinner A20 dual core processor by Allwinner A8 octa-core processor, and ditching the VGA port for DisplayPort while keeping most of the same features of the original version.

CubieBoard5
The company has now provided more details while announcing the launch of the board in China, and it turns out CubieTruck Plus has a few more advantages, and at least one drawback.

CubieTruck CubieTruck Plus
SoC Allwinner A20 Allwinner H8
CPU Dual core Cortex A7 up to 1.08 GHz Octa core Cortex A7 up to 2.0 GHz
GPU Mali-400MP2 PowerVR SGX544 up to 700 MHz
Memory 2GB DDR3
Power [email protected] power jack
Ethernet Gigabit Ethernet (RJ45)
WiFi 802.11 b/g/n (2.4 GHz only) Dual band 802.11 b/g/n (AP6330)
Bluetooth 4.0
Storage 8GB NAND Flash 8GB eMMC flash
SATA 2.0 for 2.5” HDD/SSD SATA 2.0 for 2.5” HDD/SSD
(USB bridge)
Micro SD slot
Display HDMI 1.4a and VGA HDMI 1.4a and DisplayPort 1.1
Audio Out HDMI, optical S/PDIF, and 3.5mm audio jack
Audio In Line-in pins On-board microphone, and audio jack
with microphone support
USB 2x USB 2.0 host ports, 1x USB 2.0 OTG port
RTC Battery Rechargeable 40 mAh @ 3.0V
Buttons Reset, power, and u-boot
LEDs 4x user LEDs
IR Receiver Yes
Expansion pins 54 pins 70 pins
Dimensions 112x82x18mm

So that means other improvements include a faster eMMC interface, on-board microphone, full support for headset via the 3.5 mm audio jack, and 16 more I/O pins. The main disadvantage is that due to the USB to SATA bridge, the SATA interface will now be much slower, closer to 30MB/s sequential read and write speeds if properly implemented, instead of the 180MB/s SATA read speed I measured in CubieTruck using  a 128GB SSD.

CubieTruck_Plus_AccessoriesThe CubieTruck Plus will ship with an acrylic case, a fan, a SATA cable, a USB OTG adapter, a mini USB to USB cable, and a USB to power cable. Since the dimensions of the new and old boards are the same, CubieTruck Metal Kit case will also be compatible, except they’ve made some modifications to the back plate due to the VGA to DisplayPort replacement.

The company has also released tools, documentation, schematics (PDF), source code, and firmware image on CubieBoard5 download page with Android 4.4 and Linaro Ubuntu desktop images bootable from SD card or the eMMC flash.

CubieTruck Plus can be purchased for 539 CNY (~$84 US) on Taobao. A few more details may also be found on the product page.

Thanks to MigSu for the tip.

Cubieboard 4 Ubuntu Review – Setup, Usability, and Performance

April 1st, 2015 8 comments

Cubieboard4 is a development board powered by Allwinner A80 octa-core processor with 2GB RAM and 16GB eMMC. I’ve already shown how to get started with the board using the pre-installed Android 4.4 image, and run some benchmarks in Android, so now it’s time to check out the Ubuntu Linaro 14.04 image provided by CubieTech. I’ll show how to install and setup Ubuntu 14.04 on the board using a micro SD card, run desktop applications like Chromium, Libre Office, and son on on the board, and complete the review with some Linux benchmarks.

Setting up Ubuntu on Cubieboard4

Firmware images for Cubiebord4 can be downloaded @ http://dl.cubieboard.org/model/cc-a80/Image/. Currently Android 4.4, Debian server, Ubuntu Linaro server, and Ubuntu Linaro desktop with LXDE desktop environment. That’s the latter I’ll use for the experiment, and two images are available:

  • linaro-desktop-cb4-card-hdmi-v0.4.img.7z – Bootable image from micro SD card
  • linaro-desktop-cb4-emmc-hdmi-v0.4.img.7z – Installation image to eMMC to be written to micro SD card (and not via PhoenixSuite).

I’ve just downloaded and flash the “card” image to a 32GB Class 10 micro SD card in a terminal windows in a Linux computer:

where X is the letter of your SD card, which you can check with lsblk. Be very careful as using the wrong letter may wipe out your hard drive, and you may consider using a virtual machine to be extra safe. This step also be done in a Windows computer with 7-zip and Win32DiskImager utilities.

Now insert the micro SD card into the board, connect the necessary cable, and power it on. After around 35 seconds, maybe a little more the first time, I get a usable desktop. Your own boot time will obviously be impacted by your micro SD card performance.

Cubieboard4_Ubuntu_LXDE

Lubuntu Desktop (Click for Original Size)

Firefox and Nautilus are not part of the default image, but I’ve installed them with apt-get, and added shortcuts to the desktop.

Usually, you need to run gparted or resize2fs to make full use if your SD card capacity, but this is automatically taken care of by the image, and my root partition was automatically extended to 30GB:

Since I’m connected to Internet via an Ethernet connection I did not have to configure anything else, except the timezone set with:

At this stage, you’ve got a fully workable ARM Linux computer, although if you want to use Wi-Fi, Bluetooth, and/or a printer more configuration work is required, but I haven’t tried any of these.

Cubieboard4 Usability as a Desktop Computer

The image is quite minimal, and beside Pacman file manager and a few other small programs, only Chromium browser is already installed. So I installed Firefox, Libre Office, Nautilis and Gimp with apt-get:

The system is quite responsive, although programs don’t quite load as fast as from an SSD or eMMC, and you need to wait a few seconds for Chromium or Libre Office to load.

Since the font looked quite poor in Chromium, I installed Firefox, but I had the same results. So finally I installed Ubuntu fonts:

and configured the web browsers accordingly leading to much better font rendering.

I’ve run the following tests in Cubieboard4 to show the performance, and what is working or not:

  1. 30 seconds boot
  2. List of installed applications
  3. LibreOffice (Writer)
  4. Chromium – Multi-tabs, YouTube (embedded / full screen; VP9), and Candy Crush Saga (Flash game) in Facebook
  5. 3D hardware acceleration with es2gears and glmark2-es2
  6. 1080p video playback with VideoLAN
  7. Power off

I also ran htop in a terminal to show the eight cores CPU usage. Sorry the video is not quite straight and audio is poor with SJ1000 camera.

The system is working quite well, except with YouTube videos which are not so smooth, because YouTube has now mostly switched to VP9 codec, and 3D support failed with “DRI2: failed to authenticate”. Candy Crush Saga worked fine, although not amazingly smooth, but performance is not that much different from my regular Ubuntu PC for that game. 2D hardware acceleration is supposed to be implemented (a80-xf86-video-fbturbo), but I’m not quite sure how to formally test this. H.264 and MPEG4 video could be played in VideoLAN with only one CPU core use confirming hardware video decoding support, but MPEG2, VC1 and H.265 codecs all failed.

Click for Original Size

Click for Original Size

In the screenshot above, I play Big Buck Bunny in VideoLAN on the top left corner, but since hardware video decoding is activated, the video won’t show in the screenshot, which is perfectly normal.

Even though Cubieboard4 Ubuntu support is not too bad right now, I still think ODROID-XU3 Lite delivers a better Linux experience, especially when using an eMMC module, as programs load faster, 3D acceleration is working, as well as Kodi with hardware video decoding. The only downside is that flash (Chromium + pepperflash) did not work when I tried on XU3 Lite, but this may have been fixed by now.

Cubieboard4 Performance Testing in Linux

Phoronix Suite Benchmarks

I’ve installed the latest version of Phoronix Test Suite to run a few benchmarks in Linux:

After configure the test suite for batch benchmark with

I decide to run the same three tests as on ODROID-XU3 Lite, encoding MP3, compressing files, and performing some HTTP server tasks:

Unfortunately, apache failed to compiled, so only the MP3 and 7-zip test completed.

Cubieboard4_vs_ODROID-XU3-Lite_MP3So the only direct comparison with the test I’ve done between ODROID-XU3 Lite and Cubieboard4 is for MP3 encoding, and in this test the Exynos platform is faster, but the Allwinner A80 board still compares favorably to slower or/and older ARM board like Radxa Rock, ODROID-C1, or PCDuino (cpu test) in 7-Zip test, especially this test runs on all available cores.

7-Zip_Cubieboard4_Radxa_Rock_ODROID-C1

 Mainline kernel compilation

Now let’s see how fast the board build Linux 3.19.

Mainline kernel requires gcc 4.9 to build, but Ubuntu 14.04 only comes with gcc 4.8.2, so let’s install the new compiler. Since add-apt-repository is missing, we have to install the relevant package first:

We’ll also need to edit /etc/lsb-release to replace DISTRIB_ID=Linaro by DISTRIB_ID=Ubuntu temporary, as the toolchain repo has never heard about a Linaro distribution, and then we can complete gcc 4.9 installation.

Allwinner enginners themselves are not directly involved in mainline kernel develompent, but they are usually in the loop when members of linux-sunxi community send patchsets to the ARM Linux kernel mailing list, which mean Allwinner processor are supported in mainline kernel, albeit with limitation. Allwinner A80 codename is sun9i, and we can see a device tree file for A80 OptimusBoard:

Nevertheless, I’ve built the kernel using sunxi default config used for all Allwinner platforms:

So Cubieboard4 took 6 minutes on 36 seconds to build Linux 3.19, while ODROID-XU3 Lite took 5 minutes 43 seconds to build Linux 3.18, not too bad, but this is show some performance advantage for the Exynos processor.

Video Transcoding with avconv

Ideally video transcoding should not be done by software, since most ARM processors can handle MPEG2 to H.264 transcoding using the VPU, but this can still be useful to evaluate a processor performance, so just like for ODROID-XU3 Lite, I’ve converted a short MPEG2 into H.264 with avconc:

It took  3 minutes 3 seconds to convert the 44 seconds video, so just like with the Exynos board it’s not possible to transcode a 1080p video @ 25 fps in real-time by software, at least with avconv, and the parameters I used. ODROID-XU3 Lite was a bit faster however, managing to convert the same video in 2 minutes and 33 seconds.

Cubieboard4 can be purchased for $125 + shipping on R0ck.me, Eleduino, Seeed Studio, or others, and it’s also listed on Amazon US for $138.99 including shipping.

Cubieboard4 Benchmarks in Android

March 25th, 2015 1 comment

Last time I tried running benchmarks in an Allwinner A80 board (A80 OptimusBoard), it either rebooted during the benchmark, or had fairly disappointing results for example for USB storage. I documented my findings in a post entitled “Current Performance and Stability Issues on AllWinner A80 OptimusBoard Development Board” which was written in October 2014. But a few months have passed, and since Cubieboard4 is another hardware platform, so I was interested in running benchmarks including storage and networking performance testing on the new board to see if any progress was made.

Cubieboard4 Android Benchmarks – Antutu, Vellamo, and 3DMarks

Manufacturers can add the key ro.sys.hiritsu to build.prop in order to artificially inflate their Antutu scores with Allwinner A80 processor. So before running Antutu, I checked /system/build.prop in the firmware, and found out no trace of this variable, which can only be good for CubieTech reputation.

Cubieboard4_AntutuCC-A80 board, the other name for Cubieboard4, got 36,374 point in Antutu 5.6.2, which is similar to what Allwinner A80 cheating hardware platforms get with Antutu X, a version of Antutu that prevents cheating. So that means performance is as expected here.
Cubieboard4_Vellamo
The board gets 1172 points for Metal, 1482 points for Multicore, and 2455 points for Chrome Browser tests which compared to respectively 1138, 1352, and 2109 (Stock Browser) for Tronsmart Draco AW80 Meta, an Android media player also based to Allwinner A80.
Cubieboard4_3DMark
3DMark’s Ice Storm Extreme score is more interesting, as the board gets 8,213 points against only about 6,500 for Tronsmart Draco AW80, and 7,000 to 7,500 points for Rockchip RK3288, so there may have been some GPU drivers optimization since then, or they simply clocked the GPU at higher speed.

Cubieboard4 Storage Performance

We already knew the eMMC – with advertised 25MB/s read and write speed – would not break records, but at least its A1 SD benchmark reports speeds so no far off from the advertised rates at around 19.50 MB/s in both directions, placing the board in the middle of the pack, with very good write speed, but below than average read speed.

Cubieboard4_eMMC

eMMC Flash – Read and Write Speed in MB/s (Click to Enlarge)

Cubieboard4 features an USB 3.0 OTG port and an OTG adapter which allowed me to connect my Seagate USB 3.0 hard drive to the board. Unfortunately, the drive could not be powered via this port, albeit a USB 2.0 flash drive worked just fine. So I had to fallback to connecting my HDD to one of the USB 2.0 ports. I was interested in checking NTFS performance since it was poor on A80 OptimusBoard, but unfortunately, CC-A80 firmware would only mount EXT-4 and exFAT partitions of the drive.

Cubieboard4_USB_2.0_EXT-4

Read and Write Speed in MB/s (Click to Enlarge)

A1 SD reports 21.63 MB/s read speed and 18.17 MB/s write speed for the EXT-4 partition slightly outperforming the underwhelming performance of Draco AW80 media player. What about exFAT? Write is 3.16MB/s, and read a massive 239.04MB/s? The latter is clearly impossible over USB 2.0, and happened because of the slow write speed resulting in a ~400MB test files that was cached and read from the RAM, so I did not include this results in the chart. So USB storage does not look promising on the board at least for now.

Cubieboard4 Networking Performance

Gigabit Ethernet performance measured with iperf Android app and the following command line iperf -t 60 -c 192.168.0.104 -d, showed the same asymmetric transfer rates over Ethernet as Draco AW80 with one side getting 712 Mbits/sec and the other 216 Mbits/sec.

Throughput in Mbps (Click to Enlarge)

Throughput in Mbps (Click to Enlarge)

iperf output:

I’m not using iperf for Wi-Fi to make use of my older data, and because Wi-Fi is normally slow enough not to be impacted by internal storage performance, and instead transfer a 278MB file over SAMBA via ES File Explorer. I’ve tested both 5.0 GHz (802.1n) with TP-link TL-WDR7500 router and 2.4 Ghz with my older TP-Link TL-WR940N.

Throughput in MB/s (Click to Enlarge)

Throughput in MB/s (Click to Enlarge)

Wi-Fi performance is quite below average, and I was a bit surprised to see 5.0GHz to be faster than 2.4GHz Wi-Fi, as in my environment there are only these two routers. Maybe the newer router simply have better performance.

In conclusion, Allwinner A80 is a powerful processor, and in tasks where you need raw CPU or GPU power it should deliver, but USB 3.0 is just not working at least with my hard drive, read and write speed over USB 2.0 appears weak, and both wired and wireless performance are somewhat underwhelming. Some of these issues have been known for over 6 months on Allwinner A80 platforms, so I’m not sure there are some silicon issues, or it just takes an awful lot of time to improve the firmware.

Cubieboard4 (CC-A80) Unboxing and Getting Started Guide

March 20th, 2015 10 comments

A few samples of Cubieboard4 board may have been available in China in October 2014, but Cubietech only officially launched their Allwinner A80 development board about ten days ago, and you can buy it for $125 + shipping on sites like R0ck.me, Eleduino, Seeed Studio, and many other distributors. The company decided to send a sample for evaluation, and today I’ll start with a post showing some pictures of the kit, and explaining how to get started with assembly and first boot.

Cubieboard 4 Pictures

I received the board within two days after the company told me they would send a sample, as they used DHL. I also had to pay a bit of import tax and DHL’s handling fee. There should be CC-A80 box with the board and accessories, a white box for the power supply, and a power cord.

Cubieboard4_PackageThere’s quite a few items to play with…

Cubieboard 4 and Accessories (Click to Enlarge)

Cubieboard 4 and Accessories (Click to Enlarge)

The power brick is 5V/4A which should be plenty enough. USB 3.0 OTG and device cables are provided, as well as an external Wi-Fi antenna, a CR1230 battery for the RTC, an heatisnk with syringe with thermal paste, and two acrylic covers with spacers and screws to make a simple enclosure.

Top of CC-A80 Board (Click to Enlarge)

Top of CC-A80 Board (Click to Enlarge)

The board comes with 4 USB 2.0 host ports, a USB 3.0 OTG port, HDMI and VGA connectors, microphone and headphone audio jacks, a Gigabit Ethernet port, an micro SD card slot, a battery slot for RTC, reset/power/boot buttons, an IR sensor, and power and network activity LEDs. There are also three headers: a 2-pin battery header, a 4-pin UART header for serial console (close to VGA D-SUB connector), and a 24-pin header (J20) with access to 3x I2C, 2x UART, JTAG, and power signals, so expansion capabilities are somewhat limited. Please note that the board is now CC-A80 V1.2, and if you have an older revision, J20 expansion header may only have 20-pins without the 4 extra JTAG signals. The board features 2GB RAM thanks to four SKhynix H5TQ4G63AFR DDR3 chips, as well as AP6330 dual band Wi-Fi + Bluetooth module.

Bottom of CC-A80 Board (Click to Enlarge)

Bottom of CC-A80 Board (Click to Enlarge)

On the back of the board, there’s mostly a FORESEE NCEFEH58-08G eMMC with 8GB capacity that’s said to have 25MB/s read and write speed. Certainly not the fastest on the market, but it should do for most use case.

You may also want to watch the unboxing video below, that is not sponsored by Red Bull…

Cubieboard 4 Kit Assembly

So we’ve got all these small bits and pieces that we need to put together. It’s fun to do and should take less than 5 minutes. The main steps are:

  • Inserting the CR1230 battery into the battery slot
  • Adding thermal paste and the heatsink on top of Allwinner A80 processor
  • Mounting the board in the acrylic enclosure with spacer. I had to use a damp sponge to remove peel the protection on the acrylic covers.
  • Screw the Wi-Fi antenna

I’ve shot a short video to show how to perform this step.

This is what the board should look like once you’re done.

Cubieboard4 after Assembly

Cubieboard4 after Assembly (Click to Enlarge)

Booting Cubieboard4 Board

Since the board has an eMMC, you don’t need to prepare a micro SD to install or boot an operating system. By default, CC-A80 is p=-reloaded with Android 4.4 since Cubietech uses an apk for factory testing, so it’s more convenient for them, but you could also install Debian Server or Ubuntu Linaro Desktop/Server on the board. The company publishes a test report with their image, and their Ubuntu Desktop image support 3D graphics acceleration, as well as hardware video decoding with VideoLAN (VLC).

But today, I’ll just boot the pre-installed image. I’ve connected the 5V/4A power supply, an Ethernet cable, an HDMI cable to my TV, a RF dongle for Mele F10 Deluxe air mouse, as well as a UART debug board to access the serial console via minicom on a netbook running Lubuntu. The boot took about 30 seconds, which was to be expected because of the mid-range eMMC used with the board.

Cubieboard 4 connected to UHD TV and Ubuntu Laptop for Serial Console Access (Click to Enlarge)

Android 4.4 running in Cubieboard 4 connected to UHD TV and Ubuntu Laptop for Serial Console Access (Click to Enlarge)

For those who are interested in the boot details, I’ve included the boot log below:

boot0 version : 3.1.0
rtc 1 value 0x00010000
rtc 2 value 0x00020000
rtc 3 value 0x00030000
INFO: dram code V2.2
dram clk=672
dram_zq = 0x0x003f3fdd!!
DDR3 used!!
dram channle 2
0x0x00100001
0x0x00100001
pmu id=0x00000062
VTC Disabled!!
Channel 0 OK!
VTC Disabled!!
Channel 1 OK!
dram size=2048MBytes!
dram size =2048
card boot number = 2
card no is 2
sdcard 2 line count 0
[mmc]: mmc driver ver 2014-06-05 14:18
[mmc]: ***Try SD card 2***
[mmc]: mmc 2 cmd 8 timeout, err 0x00000100
[mmc]: mmc 2 cmd 8 err 0x00000100
[mmc]: mmc 2 send if cond failed
[mmc]: mmc 2 cmd 55 timeout, err 0x00000100
[mmc]: mmc 2 cmd 55 err 0x00000100
[mmc]: mmc 2 send app cmd failed
[mmc]: ***Try MMC card 2***
[mmc]: MMC ver 4.5
[mmc]: SD/MMC Card: 4bit, capacity: 7475MB
[mmc]: vendor: Man 0x00880103 Snr 0x201e0181
[mmc]: product: NCard
[mmc]: revision: 2.0
[mmc]: ***SD/MMC 2 init OK!!!***
sdcard 2 init ok
The size of uboot is 0x000c4000.
sum=0x230343d5
src_sum=0x230343d5
Succeed in loading uboot from sdmmc flash.
Ready to disable icache.
Jump to secend Boot.
[ 0.690]U-Boot 2011.09-rc1-dirty (Jul 15 2014 – 17:20:29) Allwinner Technology[ 0.698]version: 1.1.0
[ 0.705]a7 boot
[ 0.707]pmbus: ready
[ 0.710]PMU: AXP809
[ 0.712]PMU: AXP809 found
[ 0.715]PMU: AXP806
[ 0.717]PMU: AXP806 found
[ 0.720]PMU: bat ratio = 100
try to set dcdc3 to 900 mV
[ 0.725]PMU: dcdc3 900
[ 0.728]PMU: pll1 1008 Mhz
set power on vol to default
dcdc1_vol = 3000, onoff=1
dcdc2_vol = 900, onoff=0
dcdc3_vol = 900, onoff=1
dcdc4_vol = 900, onoff=1
dcdc5_vol = 1500, onoff=1
dc5ldo_vol = 900, onoff=1
dldo2_vol = 3000, onoff=1
eldo3_vol = 1800, onoff=1
aldo1_vol = 3000, onoff=1
aldo3_vol = 3000, onoff=1
find power_sply to end
slave power
dcdca_vol = 900, onoff=1
dcdcb_vol = 0, onoff=0
dcdcc_vol = 0, onoff=0
dcdcd_vol = 900, onoff=1
dcdce_vol = 2100, onoff=1
aldo1_vol = 3000, onoff=1
bldo1_vol = 1800, onoff=1
bldo2_vol = 1800, onoff=1
cldo1_vol = 0, onoff=0
find slave power sply to end
supply=gpio1
axp=axp809, supply=gpio1, vol=2500
reg addr=0x6000b00, value=0x6, pmu_vol=2500
supply=aldo2
axp=axp809, supply=aldo2, vol=1800
reg addr=0x6000b04, value=0x0, pmu_vol=1800
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b08, value=0xa, pmu_vol=3000
supply=bldo1
axp=axp806, supply=bldo1, vol=1800
reg addr=0x6000b0c, value=0x0, pmu_vol=1800
supply=eldo2
axp=axp809, supply=eldo2, vol=1800
reg addr=0x6000b10, value=0x0, pmu_vol=1800
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b14, value=0xa, pmu_vol=3000
supply=gpio0
axp=axp809, supply=gpio0, vol=3000
reg addr=0x6000b18, value=0xa, pmu_vol=3000
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b1c, value=0xa, pmu_vol=3000
supply=dldo2
axp=axp809, supply=dldo2, vol=3000
reg addr=0x8002f00, value=0xa, pmu_vol=3000
supply=eldo3
axp=axp809, supply=eldo3, vol=3000
reg addr=0x8002f04, value=0xa, pmu_vol=3000
config gpio bias voltage finish
no battery, limit to dc
fel key old mode
run key detect
no key found
no key input
dram_para_set start
dram_para_set end
[ 0.892]DRAM: 2 GiB
relocation Offset is: 75b08000
deu_mode1 not exist.
get clock handle by id 36 fail!
get clock handle by id 36 fail!
lcd1.lcd_pwm_freq is ZERO
lcd 2 is not register
screen 0 do not support HDMI TYPE!
screen 2 do not support HDMI TYPE!
smcl’s set manager is NULL
smbl’s set manager is NULL
plugin
screen_id 0 do not support HDMI TYPE!
get hdmi0 failed!
[ 1.195]boot_disp.output_disp=1
[ 1.199]boot_disp.output_type=3
[ 1.202]boot_disp.output_mode=10
[ 1.205]boot_disp.auto_hpd=1
hdmi open
Hdmi_open
Hdmi_hal_video_enable_sync
video_config
workmode = 0
MMC: 2
[ 1.251][mmc]: mmc driver ver 2014-06-17 14:57:30
[ 1.256][mmc]: mmc->host_caps 911
[ 1.260][mmc]: get sdc_odly_25M fail,use default dly 0
[ 1.265][mmc]: get sdc_sdly_25M fail,use default dly 5
[ 1.270][mmc]: get sdc_odly_50M fail,use default dly 5
[ 1.276][mmc]: get sdc_sdly_50M fail,use default dly 4
[ 1.281][mmc]: get sdc_f_max fail,use default sdc_f_max 48000000
[ 1.287][mmc]: PC Bias: 0x06000b08 0x0000000a
[ 1.292][mmc]: SUNXI SD/MMC: 2
[ 1.296][mmc]: mmc 2 old config clk 0
[ 1.309][mmc]: ************Try SD card 2************
[ 1.314][mmc]: mmc 2 cmd 8 timeout, err 100
[ 1.321][mmc]: mmc 2 mmc cmd 8 err 0x00000100
[ 1.325][mmc]: mmc send if cond failed
[ 1.329][mmc]: mmc 2 cmd 55 timeout, err 100
[ 1.335][mmc]: mmc 2 mmc cmd 55 err 0x00000100
[ 1.339][mmc]: send app cmd failed
[ 1.342][mmc]: ************Try MMC card 2************
[ 1.369][mmc]: mmc 2 old config clk 0
[ 1.380][mmc]: mmc 2 old config clk 0
[ 1.390][mmc]: mmc 2 old config clk 0
[ 1.399][mmc]: MID 000088 PSN 1e018122
[ 1.402][mmc]: PNM NCard — 0x4e-43-61-72-64-20
[ 1.407][mmc]: PRV 2.0
[ 1.410][mmc]: MDT m-1 y-2015
[ 1.413][mmc]: MMC ver 4.5
[ 1.416][mmc]: —————mmc->clock 48000000———–
[ 1.421][mmc]: —————mmc->bus_width 4————–
[ 1.427][mmc]: SD/MMC Card: 4bit, capacity: 7475MB
[ 1.432][mmc]: boot0 capacity: 4000KB,boot1 capacity: 4000KB
[ 1.438][mmc]: ************SD/MMC 2 init OK!!!************
[ 1.444]sunxi flash init ok
In: serial
Out: serial
Err: serial
——–fastboot partitions——–
-total partitions:10-
-name- -start- -size-
bootloader : 1000000 1000000
env : 2000000 1000000
boot : 3000000 1000000
system : 4000000 30000000
misc : 34000000 1000000
recovery : 35000000 2000000
cache : 37000000 28000000
metadata : 5f000000 1000000
private : 60000000 1000000
UDISK : 61000000 0
———————————–
base bootcmd=run setargs_nand boot_normal
bootcmd set setargs_mmc
key 0
cant find rcvy value
cant find fstbt value
misc partition found
misc_message->command = 0
to be run cmd=run setargs_mmc boot_normal
WORK_MODE_BOOT
board_status_probe
sunxi_bmp_logo_display
screen_id =1, screen_width =1920, screen_height =1080
[ 1.648]Hit any key to stop autoboot: 0
read boot or recovery all
[ 3.400]sunxi flash read :offset 3000000, 13855176 bytes OK
no signature
[ 3.411]ready to boot
[ 3.414][mmc]: mmc exit start
[ 3.418][mmc]: mmc 2 old config clk 0
[ 3.428][mmc]: mmc 2 old config clk 0
[ 3.440][mmc]: mmc 2 cmd 8 timeout, err 100
[ 3.447][mmc]: mmc 2 mmc cmd 8 err 0x00000100
[ 3.451][mmc]: mmc send if cond failed
[ 3.455][mmc]: mmc 2 cmd 55 timeout, err 100
[ 3.461][mmc]: mmc 2 mmc cmd 55 err 0x00000100
[ 3.465][mmc]: send app cmd failed
[ 3.476][mmc]: mmc 2 exit ok
[ 3.479]
Starting kernel …[sun9i_fixup]: From boot, get meminfo:
Start: 0x20000000
Size: 2048MB
[mcpm_smp_init_cpus] ncores=8
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.4.39 ([email protected]) (gcc version 4.6.3 201202014
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[ 0.000000] Machine: sun9i
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] On node 0 totalpages: 524288
[ 0.000000] free_area_init_node: node 0, pgdat c09c1a00, node_mem_map c127800
[ 0.000000] Normal zone: 1404 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 158340 pages, LIFO batch:31
[ 0.000000] HighMem zone: 3204 pages used for memmap
[ 0.000000] HighMem zone: 361340 pages, LIFO batch:31
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c2487000 s11072 r8192 d13504 u32768
[ 0.000000] pcpu-alloc: s11072 r8192 d13504 u32768 alloc=8*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa0
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/block/mmcblk8
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 2048MB = 2048MB total
[ 0.000000] Memory: 1670160k/1670160k available, 426992k reserved, 1064956K m
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 – 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe7800000 – 0xff000000 ( 376 MB)
[ 0.000000] lowmem : 0xc0000000 – 0xe7000000 ( 624 MB)
[ 0.000000] pkmap : 0xbfe00000 – 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 – 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 – 0xc08f71dc (9149 kB)
[ 0.000000] .init : 0xc08f8000 – 0xc0948b40 ( 323 kB)
[ 0.000000] .data : 0xc094a000 – 0xc09c4358 ( 489 kB)
[ 0.000000] .bss : 0xc09c709c – 0xc0b461d8 (1533 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:544
[ 0.000000] try to syncboot of clk hdmi_slow
[ 0.000000] try to syncboot of clk sdmmc2
[ 0.000000] try to syncboot of clk trace
[ 0.000000] try to syncboot of clk ats
[ 0.000000] try to syncboot of clk uart0
[ 0.000000] try to syncboot of clk gt
[ 0.000000] try to syncboot of clk de
[ 0.000000] try to syncboot of clk hdmi
[ 0.000000] try to syncboot of clk lcd1
[ 0.000000] try to syncboot of clk sdr0
[ 0.000000] try to syncboot of clk cci400
[ 0.000000] try to syncboot of clk pio
[ 0.000000] try to syncboot of clk lradc
[ 0.000000] try to syncboot of clk twd
[ 0.000000] try to syncboot of clk ahb2
[ 0.000000] try to syncboot of clk dma
[ 0.000000] try to syncboot of clk sdram
[ 0.000000] try to syncboot of clk axi1
[ 0.000000] try to syncboot of clk axi0
[ 0.000000] Architected local timer running at 24.00MHz.
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 1789s
[ 0.000000] Console: colour dummy device 80×30
[ 0.000239] Calibrating delay loop (skipped), value calculated using timer f)
[ 0.000265] pid_max: default: 32768 minimum: 301
[ 0.000429] Security Framework initialized
[ 0.000452] SELinux: Initializing.
[ 0.000499] SELinux: Starting in permissive mode
[ 0.000582] Mount-cache hash table entries: 512
[ 0.001738] Initializing cgroup subsys debug
[ 0.001756] Initializing cgroup subsys cpuacct
[ 0.001768] Initializing cgroup subsys freezer
[ 0.001810] CPU: Testing write buffer coherency: ok
[ 0.001864] ftrace: allocating 23829 entries in 70 pages
[ 0.047379] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.047436] Setting up static identity map for 0x2062c5a0 – 0x2062c5f8
[ 0.150592] CPU1: Booted secondary processor
[ 0.150666] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.190655] CPU2: Booted secondary processor
[ 0.190722] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.230774] CPU3: Booted secondary processor
[ 0.230840] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.267632] CPU4: failed to boot: -22
[ 0.307664] CPU5: failed to boot: -22
[ 0.347723] CPU6: failed to boot: -22
[ 0.387787] CPU7: failed to boot: -22
[ 0.387957] Brought up 4 CPUs
[ 0.387970] SMP: Total of 4 processors activated (19200.00 BogoMIPS).
[ 0.388872] devtmpfs: initialized
[ 0.395520] script_init enter!
[ 0.396299] script_init exit!
[ 0.396345] sched: registering cpufreq notifiers for scale-invariant loads
[ 0.397398] pinctrl core: initialized pinctrl subsystem
[ 0.398286] dummy:
[ 0.398774] NET: Registered protocol family 16
[ 0.399323] script_sysfs_init success
[ 0.399509] sunxi_dump_init success
[ 0.399934] sunxi pinctrl probe enter
[ 0.401469] gpiochip_add: registered GPIOs 0 to 447 on device: sunxi-pinctrl
[ 0.403625] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[ 0.404232] axp_pinctrl_probe enter…
[ 0.404414] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctl
[ 0.404438] mainkey total count : 96
[ 0.404448] mainkey name : product, pin count : 0
[ 0.404458] mainkey name : platform, pin count : 0
[ 0.404468] mainkey name : target, pin count : 0
[ 0.404477] mainkey name : charging_type, pin count : 0
[ 0.404487] mainkey name : key_detect_en, pin count : 0
[ 0.404497] mainkey name : power_sply, pin count : 0
[ 0.404507] mainkey name : slave_power_sply, pin count : 0
[ 0.404517] mainkey name : gpio_bias, pin count : 0
[ 0.404527] mainkey name : card_boot, pin count : 0
[ 0.404537] mainkey name : pm_para, pin count : 0
[ 0.404547] mainkey name : card0_boot_para, pin count : 6
[ 0.404560] mainkey name : card2_boot_para, pin count : 6
[ 0.404573] mainkey name : boot_disp, pin count : 0
[ 0.404584] mainkey name : twi_para, pin count : 2
[ 0.404596] mainkey name : uart_para, pin count : 2
[ 0.404607] mainkey name : jtag_para, pin count : 4
[ 0.404619] mainkey name : clock, pin count : 0
[ 0.404630] mainkey name : dram_para, pin count : 0
[ 0.404640] mainkey name : gmac0, pin count : 16
[ 0.404654] mainkey name : wakeup_src_para, pin count : 3
[ 0.404665] mainkey name : twi0, pin count : 2
[ 0.404675] mainkey name : twi1, pin count : 2
[ 0.404685] mainkey name : twi2, pin count : 2
[ 0.404696] mainkey name : twi3, pin count : 2
[ 0.404706] mainkey name : twi4, pin count : 2
[ 0.404716] mainkey name : uart0, pin count : 2
[ 0.404726] mainkey name : uart1, pin count : 4
[ 0.404737] mainkey name : uart2, pin count : 4
[ 0.404747] mainkey name : uart3, pin count : 4
[ 0.404758] mainkey name : uart4, pin count : 4
[ 0.404768] mainkey name : uart5, pin count : 4
[ 0.404778] mainkey name : spi0, pin count : 4
[ 0.404789] mainkey name : spi1, pin count : 0
[ 0.404798] mainkey name : spi2, pin count : 4
[ 0.404809] mainkey name : spi3, pin count : 7
[ 0.404820] mainkey name : spi_devices, pin count : 0
[ 0.404831] mainkey name : spi_board0, pin count : 0
[ 0.404842] mainkey name : rtp_para, pin count : 0
[ 0.404853] mainkey name : ctp_para, pin count : 0
[ 0.404863] mainkey name : ctp_list_para, pin count : 0
[ 0.404874] mainkey name : tkey_para, pin count : 0
[ 0.404884] mainkey name : motor_para, pin count : 0
[ 0.404894] mainkey name : ths_para, pin count : 0
[ 0.404905] mainkey name : cooler_table, pin count : 0
[ 0.404915] mainkey name : nand0_para, pin count : 19
[ 0.404929] mainkey name : nand1_para, pin count : 19
[ 0.404943] mainkey name : disp_init, pin count : 0
[ 0.404953] mainkey name : lcd0_para, pin count : 29
[ 0.404967] map mainkey [lcd0_para] to pinctrl, map number [2]
[ 0.404983] mainkey name : hdmi_para, pin count : 0
[ 0.404993] mainkey name : pwm0_para, pin count : 1
[ 0.405004] mainkey name : pwm1_para, pin count : 1
[ 0.405015] mainkey name : csi0, pin count : 5
[ 0.405025] mainkey name : csi1, pin count : 0
[ 0.405035] mainkey name : tvout_para, pin count : 0
[ 0.405046] mainkey name : tvin_para, pin count : 0
[ 0.405056] mainkey name : mmc0_para, pin count : 7
[ 0.405067] mainkey name : mmc1_para, pin count : 6
[ 0.405079] mainkey name : mmc2_para, pin count : 11
[ 0.405092] mainkey name : mmc3_para, pin count : 11
[ 0.405105] mainkey name : smc_para, pin count : 0
[ 0.405116] mainkey name : usbc0, pin count : 2
[ 0.405127] map mainkey [usbc0] to pinctrl, map number [2]
[ 0.405139] mainkey name : usbc1, pin count : 1
[ 0.405150] mainkey name : usbc2, pin count : 1
[ 0.405160] mainkey name : usbc3, pin count : 0
[ 0.405171] mainkey name : usb_feature, pin count : 0
[ 0.405181] mainkey name : msc_feature, pin count : 0
[ 0.405192] mainkey name : serial_feature, pin count : 0
[ 0.405203] mainkey name : gsensor_para, pin count : 1
[ 0.405214] mainkey name : gsensor_list_para, pin count : 0
[ 0.405225] mainkey name : gps_para, pin count : 0
[ 0.405235] mainkey name : wifi_para, pin count : 11
[ 0.405247] mainkey name : 3g_para, pin count : 5
[ 0.405259] mainkey name : gy_para, pin count : 1
[ 0.405271] mainkey name : gy_list_para, pin count : 0
[ 0.405283] mainkey name : ls_para, pin count : 1
[ 0.405296] mainkey name : ls_list_para, pin count : 0
[ 0.405308] mainkey name : compass_para, pin count : 0
[ 0.405320] mainkey name : leds_para, pin count : 2
[ 0.405333] mainkey name : bt_para, pin count : 0
[ 0.405343] mainkey name : s_i2s1, pin count : 9
[ 0.405355] mainkey name : audio0, pin count : 3
[ 0.405366] mainkey name : spdif0, pin count : 2
[ 0.405376] mainkey name : s_cir0, pin count : 1
[ 0.405387] mainkey name : cir, pin count : 1
[ 0.405398] mainkey name : pmu1_para, pin count : 0
[ 0.405409] mainkey name : pmu2_para, pin count : 0
[ 0.405419] mainkey name : dvfs_table, pin count : 0
[ 0.405430] mainkey name : vf_table0, pin count : 0
[ 0.405440] mainkey name : vf_table1, pin count : 0
[ 0.405451] mainkey name : Vdevice, pin count : 0
[ 0.405461] mainkey name : s_uart0, pin count : 2
[ 0.405472] mainkey name : s_rsb0, pin count : 2
[ 0.405483] mainkey name : s_jtag0, pin count : 4
[ 0.405494] mainkey name : s_powchk, pin count : 0
[ 0.405505] mainkey name : dram_dvfs_table, pin count : 0
[ 0.405516] mainkey name : dram_scene_table, pin count : 0
[ 0.405525] axp pinctrl driver probe ok
[ 0.408187] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint.
[ 0.408204] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.408819] [sunxi-module]: [sunxi-module.0] probe success
[ 0.409007] Not Found clk pll3 in script
[ 0.409018] Not Found clk pll7 in script
[ 0.409039] script config pll8 to 297 Mhz
[ 0.409078] script config pll10 to 2376 Mhz
[ 0.409087] sunxi_default_clk_init
[ 0.455494] bio: create slab at 0
[ 0.455953] [ARISC] :sunxi-arisc driver v2.00
[ 0.501686] [ARISC] :arisc version: [v0.0.37]
[ 0.501706] [sunxi-module]: arisc register success
[ 0.506468] arisc_dvfs_cfg_vf_table: vf table type [1=vf_table1]
[ 0.506487] arisc_dvfs_cfg_vf_table: freq [L_LV1_freq-0=1200000000]
[ 0.506501] arisc_dvfs_cfg_vf_table: volt [L_LV1_volt-0=1020]
[ 0.506514] arisc_dvfs_cfg_vf_table: freq [L_LV2_freq-1=1104000000]
[ 0.506528] arisc_dvfs_cfg_vf_table: volt [L_LV2_volt-1=960]
[ 0.506541] arisc_dvfs_cfg_vf_table: freq [L_LV3_freq-2=1008000000]
[ 0.506555] arisc_dvfs_cfg_vf_table: volt [L_LV3_volt-2=900]
[ 0.506568] arisc_dvfs_cfg_vf_table: freq [L_LV4_freq-3=0]
[ 0.506581] arisc_dvfs_cfg_vf_table: volt [L_LV4_volt-3=840]
[ 0.506597] arisc_dvfs_cfg_vf_table: freq [B_LV1_freq-0=1800000000]
[ 0.506610] arisc_dvfs_cfg_vf_table: volt [B_LV1_volt-0=1100]
[ 0.506624] arisc_dvfs_cfg_vf_table: freq [B_LV2_freq-1=1608000000]
[ 0.506638] arisc_dvfs_cfg_vf_table: volt [B_LV2_volt-1=1020]
[ 0.506651] arisc_dvfs_cfg_vf_table: freq [B_LV3_freq-2=1416000000]
[ 0.506665] arisc_dvfs_cfg_vf_table: volt [B_LV3_volt-2=960]
[ 0.506678] arisc_dvfs_cfg_vf_table: freq [B_LV4_freq-3=1200000000]
[ 0.506692] arisc_dvfs_cfg_vf_table: volt [B_LV4_volt-3=900]
[ 0.506705] arisc_dvfs_cfg_vf_table: freq [B_LV5_freq-4=0]
[ 0.506718] arisc_dvfs_cfg_vf_table: volt [B_LV5_volt-4=840]
[ 0.908060] [ARISC] :sunxi-arisc driver v2.00 startup succeeded
[ 0.961915] CPU4: Booted secondary processor
[ 0.961981] CPU4: thread -1, cpu 0, socket 1, mpidr 80000100
[ 1.008577] CPU5: Booted secondary processor
[ 1.008644] CPU5: thread -1, cpu 1, socket 1, mpidr 80000101
[ 1.058648] CPU6: Booted secondary processor
[ 1.058719] CPU6: thread -1, cpu 2, socket 1, mpidr 80000102
[ 1.108715] CPU7: Booted secondary processor
[ 1.108784] CPU7: thread -1, cpu 3, socket 1, mpidr 80000103
[ 1.116116] SCSI subsystem initialized
[ 1.117088] usbcore: registered new interface driver usbfs
[ 1.117465] usbcore: registered new interface driver hub
[ 1.117723] usbcore: registered new device driver usb
[ 1.118419] sunxi_i2c_adap_init()1438 – [Nov 20 2014 14:32:34]Sunxi I2C init
[ 1.118446] twi_chan_cfg()350 – [twi0] fetch twi_regulator from sysconfig fad
[ 1.118464] twi_chan_cfg()350 – [twi1] fetch twi_regulator from sysconfig fad
[ 1.118481] twi_chan_cfg()350 – [twi2] fetch twi_regulator from sysconfig fad
[ 1.118497] twi_chan_cfg()350 – [twi3] fetch twi_regulator from sysconfig fad
[ 1.118514] twi_chan_cfg()350 – [twi4] fetch twi_regulator from sysconfig fad
[ 1.120167] Linux video capture interface: v2.00
[ 1.121172] axp22_board axp22_board: AXP (CHIP ID: 0x62) detected
[ 1.126672] axp22_dcdc1: 1600 3400 mV at 3000 mV
[ 1.127162] axp22_dcdc2: 600 1540 mV at 900 mV
[ 1.127619] axp22_dcdc3: 600 1860 mV at 900 mV
[ 1.128042] axp22_dcdc4: 600 2600 mV at 900 mV
[ 1.128476] axp22_dcdc5: 1000 2550 mV at 1500 mV
[ 1.128929] axp22_rtc: 3000 mV
[ 1.129357] axp22_aldo1: 700 3300 mV at 3000 mV
[ 1.129761] axp22_aldo2: 700 3300 mV at 1800 mV
[ 1.130174] axp22_aldo3: 700 3300 mV at 3000 mV
[ 1.130575] axp22_dldo1: 700 4200 mV at 3400 mV
[ 1.130972] axp22_dldo2: 700 3300 mV at 3000 mV
[ 1.131382] axp22_eldo1: 700 3300 mV at 3000 mV
[ 1.131793] axp22_eldo2: 700 3300 mV at 1800 mV
[ 1.132197] axp22_eldo3: 700 3300 mV at 3000 mV
[ 1.132606] axp22_dc5ldo: 700 1400 mV at 900 mV
[ 1.133020] axp22_ldoio0: 700 3300 mV at 3000 mV
[ 1.133437] axp22_ldoio1: 700 3300 mV at 2500 mV
[ 1.133841] axp22_sw0: at 700 mV
[ 1.134243] axp22_dc1sw: at 700 mV
[ 1.134342] axp22_dc1sw: supplied by axp22_dcdc1
[ 1.135098] input: axp22-supplyer as /devices/platform/axp22_board/axp22-sup0
[ 1.138716] now_rest_vol = 100
[ 1.139753] axp15_board axp15_board: AXP (CHIP ID: 0x60) detected
[ 1.144045] axp15_dcdc1: 600 1520 mV at 900 mV
[ 1.144505] axp15_dcdc2: 1000 2550 mV at 1350 mV
[ 1.144946] axp15_dcdc3: 600 1520 mV at 900 mV
[ 1.145407] axp15_dcdc4: 600 3300 mV at 900 mV
[ 1.145838] axp15_dcdc5: 1100 3400 mV at 2100 mV
[ 1.146239] axp15_aldo1: 700 3300 mV at 3000 mV
[ 1.146659] axp15_aldo2: 700 3300 mV at 700 mV
[ 1.147058] axp15_aldo3: 700 3300 mV at 700 mV
[ 1.147457] axp15_bldo1: 700 1900 mV at 1800 mV
[ 1.147543] axp15_bldo1: supplied by axp15_dcdc5
[ 1.148015] axp15_bldo2: 700 1900 mV at 1800 mV
[ 1.148103] axp15_bldo2: supplied by axp15_dcdc5
[ 1.148541] axp15_bldo3: 700 1900 mV at 700 mV
[ 1.148629] axp15_bldo3: supplied by axp15_dcdc5
[ 1.149849] axp15_bldo4: 700 1900 mV at 700 mV
[ 1.149946] axp15_bldo4: supplied by axp15_dcdc5
[ 1.150651] axp15_cldo1: 700 3300 mV at 3000 mV
[ 1.151261] axp15_cldo2: 700 4200 mV at 700 mV
[ 1.151711] axp15_cldo3: 700 3300 mV at 700 mV
[ 1.152109] axp15_sw0: at 700 mV
[ 1.153785] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 1.155002] Bluetooth: Core ver 2.16
[ 1.155207] NET: Registered protocol family 31
[ 1.155219] Bluetooth: HCI device and connection manager initialized
[ 1.155234] Bluetooth: HCI socket layer initialized
[ 1.155245] Bluetooth: L2CAP socket layer initialized
[ 1.155279] Bluetooth: SCO socket layer initialized
[ 1.155855] cfg80211: Calling CRDA to update world regulatory domain
[ 1.158577] Switching to clocksource arch_sys_counter
[ 1.181363] FS-Cache: Loaded
[ 1.181924] CacheFiles: Loaded
[ 1.205888] [sunxi_hci_sunxi]: sunxi-ehci1(restrict_gpio) is invalid
[ 1.205911] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.205925] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.205945] [sunxi_hci_sunxi]: sunxi-ohci1(restrict_gpio) is invalid
[ 1.205958] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.205968] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206191] [sunxi_hci_sunxi]: sunxi-ehci2(restrict_gpio) is invalid
[ 1.206209] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206221] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206239] [sunxi_hci_sunxi]: sunxi-ohci2(restrict_gpio) is invalid
[ 1.206252] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206262] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206300] [sunxi_hci_sunxi]: sunxi-ehci3(restrict_gpio) is invalid
[ 1.206315] [sunxi_hci_sunxi]: sunxi-ehci3(drv vbus) is invalid
[ 1.206329] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206340] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206358] [sunxi_hci_sunxi]: sunxi-ohci3(restrict_gpio) is invalid
[ 1.206369] [sunxi_hci_sunxi]: sunxi-ohci3(drv vbus) is invalid
[ 1.206381] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206391] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.207673] [usb_manager]: CONFIG_USB_SUNXI_USB0_OTG
[ 1.207696] get usbc(0) usb_restrict_flag failed
[ 1.207712] no usbc(0) det_vbus gpio and try to axp det_pin
[ 1.207725] get usbc0(usb_restrict pin) failed
[ 1.208719] [ddrfreq] dram_clk value is 672
[ 1.208730] [ddrfreq] sunxi_dramfreq_max=672000
[ 1.208740] [ddrfreq] dram_type value is 3
[ 1.208751] [ddrfreq] dram_zq value is 0x3f3fdd
[ 1.208762] [ddrfreq] dram_odt_en value is 1
[ 1.208772] [ddrfreq] dram_para1 value is 0x10f40800
[ 1.208782] [ddrfreq] dram_para2 value is 0x1200
[ 1.208793] [ddrfreq] dram_mr0 value is 0x1a50
[ 1.208802] [ddrfreq] dram_mr1 value is 0x40
[ 1.208812] [ddrfreq] dram_mr2 value is 0x10
[ 1.208822] [ddrfreq] dram_mr3 value is 0x0
[ 1.208832] [ddrfreq] dram_tpr0 value is 0x4e214ea
[ 1.208842] [ddrfreq] dram_tpr1 value is 0x4214ad
[ 1.208852] [ddrfreq] dram_tpr2 value is 0x10a75030
[ 1.208863] [ddrfreq] dram_tpr3 value is 0x0
[ 1.208872] [ddrfreq] dram_tpr4 value is 0x0
[ 1.208882] [ddrfreq] dram_tpr5 value is 0x0
[ 1.208892] [ddrfreq] dram_tpr6 value is 0x0
[ 1.208901] [ddrfreq] dram_tpr7 value is 0x0
[ 1.208912] [ddrfreq] dram_tpr8 value is 0x0
[ 1.208921] [ddrfreq] dram_tpr9 value is 0x0
[ 1.208931] [ddrfreq] dram_tpr10 value is 0x0
[ 1.208941] [ddrfreq] dram_tpr11 value is 0x0
[ 1.208951] [ddrfreq] dram_tpr12 value is 168
[ 1.208960] [ddrfreq] sunxi_dramfreq_min=168000
[ 1.208970] [ddrfreq] dram_tpr13 value is 0x23
[ 1.208978] [ddrfreq] warning: disabled!
[ 1.209311] [dsm] use sysconfig
[ 1.209320] [dsm] ———–Dram scene-freq Table————
[ 1.209331] [dsm] scene = 0 frequency = 672000KHz
[ 1.209341] [dsm] scene = 1 frequency = 480000KHz
[ 1.209351] [dsm] scene = 2 frequency = 240000KHz
[ 1.209360] [dsm] scene = 3 frequency = 168000KHz
[ 1.209370] [dsm] scene = 4 frequency = 480000KHz
[ 1.209378] [dsm] ——————————————–
[ 1.219594] [ddrfreq] LV_count value is 3
[ 1.219618] [ddrfreq] —————Dram V-F Table—————
[ 1.219629] [ddrfreq] voltage = 900mv frequency = 672000KHz
[ 1.219640] [ddrfreq] voltage = 840mv frequency = 168000KHz
[ 1.219650] [ddrfreq] voltage = 840mv frequency = 0KHz
[ 1.219660] [ddrfreq] ——————————————–
[ 1.219793] [ddrfreq] last_vdd=900
[ 1.219872] [ddrfreq] __sram_start: 0xc09c5000, __sram_end: 0xc09c7078, __sr8
[ 1.219886] [ddrfreq] sunxi dramfreq probe ok!
[ 1.220374] NET: Registered protocol family 2
[ 1.220683] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 1.221613] TCP established hash table entries: 131072 (order: 8, 1048576 by)
[ 1.224455] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.226324] TCP: Hash tables configured (established 131072 bind 65536)
[ 1.226337] TCP: reno registered
[ 1.226350] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.226405] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.226836] NET: Registered protocol family 1
[ 1.227274] RPC: Registered named UNIX socket transport module.
[ 1.227287] RPC: Registered udp transport module.
[ 1.227296] RPC: Registered tcp transport module.
[ 1.227306] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.227567] Unpacking initramfs…
[ 1.704637] Freeing initrd memory: 2524K
[ 1.705401] [powernow inf] module init
[ 1.705658] [powernow inf] create class sw_powernow done
[ 1.705671] [pm]aw_pm_init!
[ 1.705683] standby_mode = 1.
[ 1.705692] wakeup src cnt is : 3.
[ 1.705704] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705716] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705728] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705740] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705752] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705764] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705776] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705787] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705799] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705824] [wifi]: select wifi: ap6330 !!
[ 1.706195] [ap6xxx]: module power name axp22_dldo1
[ 1.706208] [ap6xxx]: module power ext1 name axp15_cldo3
[ 1.706219] [ap6xxx]: module power ext2 name axp22_ldoio0
[ 1.706230] [ap6xxx]: sdio_power name
[ 1.706372] [ap6xxx]: ap6xxx module power set by axp.
[ 1.707217] [ap6xxx]: regulator axp22_dldo1 on.
[ 1.707813] [ap6xxx]: regulator axp15_cldo3 on.
[ 1.707898] [ap6xxx]: regulator axp22_ldoio0 on.
[ 1.708062] [ap6xxx]: set cko2 32k clk out
[ 1.708153] [wifi_pm]: wifi gpio init is OK !!
[ 1.708352] sunxi_reg_init enter
[ 1.710077] audit: initializing netlink socket (disabled)
[ 1.710133] type=2000 audit(1.680:1): initialized
[ 1.711746] highmem bounce pool size: 64 pages
[ 1.713799] NTFS driver 2.1.30 [Flags: R/W].
[ 1.713989] fuse init (API version 7.18)
[ 1.715062] msgmni has been set to 1186
[ 1.715109] SELinux: Registering netfilter hooks
[ 1.717522] io scheduler noop registered
[ 1.717535] io scheduler deadline registered
[ 1.717636] io scheduler cfq registered (default)
[ 1.718457] GTBUS_PMU GTBUS_PMU: probed
[ 1.718925] pwm module init!
[ 1.720298] sunxi_uart_init()1446 – Sunxi Uart driver init …
[ 1.720328] sw_uart_get_devinfo()1430 – uart0 fetch uart_regulator from syscd
[ 1.720349] sw_uart_get_devinfo()1430 – uart2 fetch uart_regulator from syscd
[ 1.721163] uart0: ttyS0 at MMIO 0x7000000 (irq = 32) is a SUNXI
[ 1.721187] sw_console_setup()1190 – console setup baud 115200 parity n bitsn
[ 1.914628] console [ttyS0] enabled
[ 4.181803] uart2: ttyS2 at MMIO 0x7000800 (irq = 34) is a SUNXI
[ 4.190427] G2D: drv_g2d_init
[ 4.193909] G2D: Module initialized.major:250
[ 4.206431] loop: module loaded
[ 4.209990] sunxi_hw_init: sunxi debug register driver init
[ 4.216987] sunxi_spi_init()2048 – [Nov 20 2014 14:34:22]Sunxi SPI init …
[ 4.224916] sunxi_spi_chan_cfg()1368 – [spi-0] fetch spi_regulator from syscd
[ 4.233990] sunxi_spi_chan_cfg()1368 – [spi-1] fetch spi_regulator from syscd
[ 4.242999] sunxi_spi_chan_cfg()1368 – [spi-2] fetch spi_regulator from syscd
[ 4.252010] sunxi_spi_chan_cfg()1368 – [spi-3] fetch spi_regulator from syscd
[ 4.261290] tun: Universal TUN/TAP device driver, 1.6
[ 4.266897] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 4.274114] PPP generic driver version 2.4.2
[ 4.279360] PPP BSD Compression module registered
[ 4.284585] PPP Deflate Compression module registered
[ 4.290931] PPP MPPE Compression module registered
[ 4.296253] NET: Registered protocol family 24
[ 4.301258] PPTP driver version 0.8.5
[ 4.306131] start: sunxi_open_usb_clock
[ 4.310518] end: sunxi_open_usb_clock
[ 4.314816] get usbc0_regulator is failed
[ 4.369327] sunxi_controller_mode:device!
[ 4.373776] sunxi_gadget_init,v1.1
[ 4.378577] sunxi_controller_mode:NULL!
[ 4.382881] start: sunxi_close_usb_clock
[ 4.387241] end: sunxi_close_usb_clock
[ 4.391460] otgc_work_mode:0
[ 4.394828] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 4.402177] [sunxi_hci_sunxi]: [sunxi-ehci1]: probe, pdev->name: sunxi-ehci,c
[ 4.413538] [sunxi_hci_sunxi]: [sunxi-ehci1]: open clock, is_open: 0
[ 4.420679] [sunxi_hci_sunxi]: clk_prepare_enable: hci_ahb_gate
[ 4.427256] [sunxi_hci_sunxi]: [sunxi-ehci1]: open hci clock,usbc_no:1, is_o0
[ 4.435586] [sunxi_hci_sunxi]: [sunxi-ehci1]: Set USB Power ON
[ 4.442105] sunxi-ehci sunxi-ehci.1: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.451030] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus nu1
[ 4.459589] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf0a00000
[ 4.478689] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[ 4.485266] ehci_irq: highspeed device connect
[ 4.491220] hub 1-0:1.0: USB hub found
[ 4.495397] hub 1-0:1.0: 1 port detected
[ 4.500383] [sunxi_hci_sunxi]: [sunxi-ehci2]: probe, pdev->name: sunxi-ehci,4
[ 4.511714] [sunxi_hci_sunxi]: [sunxi-ehci2]: open clock, is_open: 0
[ 4.518818] [sunxi_hci_sunxi]: [sunxi-ehci2]: open hci clock,usbc_no:2, is_o0
[ 4.527128] [sunxi_hci_sunxi]: [sunxi-ehci2]: Set USB Power ON
[ 4.533623] sunxi-ehci sunxi-ehci.2: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.542568] sunxi-ehci sunxi-ehci.2: new USB bus registered, assigned bus nu2
[ 4.551092] sunxi-ehci sunxi-ehci.2: irq 106, io mem 0xf0a01000
[ 4.568689] sunxi-ehci sunxi-ehci.2: USB 0.0 started, EHCI 1.00
[ 4.576137] hub 2-0:1.0: USB hub found
[ 4.580354] hub 2-0:1.0: 1 port detected
[ 4.585253] [sunxi_hci_sunxi]: [sunxi-ehci3]: probe, pdev->name: sunxi-ehci,c
[ 4.596587] [sunxi_hci_sunxi]: [sunxi-ehci3]: open clock, is_open: 0
[ 4.603740] [sunxi_hci_sunxi]: [sunxi-ehci3]: open hci clock,usbc_no:3, is_o0
[ 4.612069] [sunxi_hci_sunxi]: [sunxi-ehci3]: Set USB Power ON
[ 4.618547] sunxi-ehci sunxi-ehci.3: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.627486] sunxi-ehci sunxi-ehci.3: new USB bus registered, assigned bus nu3
[ 4.636018] sunxi-ehci sunxi-ehci.3: irq 108, io mem 0xf0a02000
[ 4.658710] sunxi-ehci sunxi-ehci.3: USB 0.0 started, EHCI 1.00
[ 4.666156] hub 3-0:1.0: USB hub found
[ 4.670355] hub 3-0:1.0: 1 port detected
[ 4.675430] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
[ 4.682454] [sunxi_hci_sunxi]: [sunxi-ohci1]: probe, pdev->name: sunxi-ohci,0
[ 4.693776] [sunxi_hci_sunxi]: [sunxi-ohci1]: open clock, is_open: 0
[ 4.700977] [sunxi_hci_sunxi]: [sunxi-ohci1]: open hci clock,usbc_no:1, is_o1
[ 4.709312] sunxi-ohci sunxi-ohci.1: SW USB2.0 ‘Open’ Host Controller (OHCI)r
[ 4.717830] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus nu4
[ 4.726283] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf0a00400
[ 4.793569] hub 4-0:1.0: USB hub found
[ 4.797744] hub 4-0:1.0: 1 port detected
[ 4.802691] [sunxi_hci_sunxi]: [sunxi-ohci3]: probe, pdev->name: sunxi-ohci,0
[ 4.814019] [sunxi_hci_sunxi]: [sunxi-ohci3]: open clock, is_open: 0
[ 4.821134] usb 1-1: new high-speed USB device number 2 using sunxi-ehci
[ 4.828642] [sunxi_hci_sunxi]: [sunxi-ohci3]: open hci clock,usbc_no:3, is_o1
[ 4.837027] sunxi-ohci sunxi-ohci.3: SW USB2.0 ‘Open’ Host Controller (OHCI)r
[ 4.845567] sunxi-ohci sunxi-ohci.3: new USB bus registered, assigned bus nu5
[ 4.854023] sunxi-ohci sunxi-ohci.3: irq 109, io mem 0xf0a02400
[ 4.923578] hub 5-0:1.0: USB hub found
[ 4.927755] hub 5-0:1.0: 1 port detected
[ 4.933073] Initializing USB Mass Storage driver…
[ 4.938877] usbcore: registered new interface driver usb-storage
[ 4.945549] USB Mass Storage support registered.
[ 4.950963] usbcore: registered new interface driver ums-alauda
[ 4.957791] usbcore: registered new interface driver ums-cypress
[ 4.964721] usbcore: registered new interface driver ums-datafab
[ 4.971610] usbcore: registered new interface driver ums_eneub6250
[ 4.978770] usbcore: registered new interface driver ums-freecom
[ 4.985704] usbcore: registered new interface driver ums-isd200
[ 4.992542] usbcore: registered new interface driver ums-jumpshot
[ 4.999585] usbcore: registered new interface driver ums-karma
[ 5.006303] usbcore: registered new interface driver ums-onetouch
[ 5.013805] usbcore: registered new interface driver ums-realtek
[ 5.021011] hub 1-1:1.0: USB hub found
[ 5.025284] usbcore: registered new interface driver ums-sddr09
[ 5.031924] hub 1-1:1.0: 4 ports detected
[ 5.036668] usbcore: registered new interface driver ums-sddr55
[ 5.043502] usbcore: registered new interface driver ums-usbat
[ 5.050505] usbcore: registered new interface driver usbserial
[ 5.057023] usbserial: USB Serial Driver core
[ 5.062697] usbcore: registered new interface driver option
[ 5.069125] USB Serial support registered for GSM modem (1-port)
[ 5.077388] file system registered
[ 5.084868] gadget: Mass Storage Function, version: 2009/09/11
[ 5.091476] gadget: Number of LUNs=3
[ 5.095541] lun0: LUN: removable file: (no medium)
[ 5.101051] lun1: LUN: removable file: (no medium)
[ 5.106466] lun2: LUN: removable file: (no medium)
[ 5.112714] android_bind, serial_unique = 0
[ 5.117372] gadget: android_usb ready
[ 5.122356] mousedev: PS/2 mouse device common for all mice
[ 5.129367] usbcore: registered new interface driver xpad
[ 5.135943] sunxi_rtc_init(736): sunxi rtc device register!
[ 5.142936] rtc_gettime(323): read time 2015-3-19 14:9:29
[ 5.149234] alarm_gettime(460): get alarm time 1970-1-1 1:0:0 success!
[ 5.156754] rtc_gettime(323): read time 2015-3-19 14:9:29
[ 5.163268] rtc0 rtc0: rtc core: registered rtc0 as rtc0
[ 5.169297] sunxi_rtc_probe(690)!
[ 5.173483] sunxi cedar version 0.1
[ 5.177574] [cedar]: install start!!!
[ 5.182498] [cedar]: install end!!!
[ 5.190659] axp22_aldo1: Failed to create debugfs directory
[ 5.210094] axp15_dcdc4: Failed to create debugfs directory
[ 5.217370] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-m
[ 5.227004] Bluetooth: HCI UART driver ver 2.2
[ 5.231967] Bluetooth: HCI H4 protocol initialized
[ 5.237285] Bluetooth: HCI Realtek H5 protocol initialized
[ 5.243790] autohotplug_init init ok
[ 5.247790] [cpu_freq] INF: merge_cluster_tables: index: 0, freq: 1800000
[ 5.255359] [cpu_freq] INF: merge_cluster_tables: index: 1, freq: 1704000
[ 5.263485] [cpu_freq] INF: merge_cluster_tables: index: 2, freq: 1608000
[ 5.271047] [cpu_freq] INF: merge_cluster_tables: index: 3, freq: 1512000
[ 5.278583] [cpu_freq] INF: merge_cluster_tables: index: 4, freq: 1416000
[ 5.286251] [cpu_freq] INF: merge_cluster_tables: index: 5, freq: 1320000
[ 5.293886] [cpu_freq] INF: merge_cluster_tables: index: 6, freq: 1200000
[ 5.301538] [cpu_freq] INF: merge_cluster_tables: index: 7, freq: 1104000
[ 5.309139] [cpu_freq] INF: merge_cluster_tables: index: 8, freq: 1008000
[ 5.316677] [cpu_freq] INF: merge_cluster_tables: index: 9, freq: 600000
[ 5.324131] [cpu_freq] INF: merge_cluster_tables: index: 10, freq: 552000
[ 5.331749] [cpu_freq] INF: merge_cluster_tables: index: 11, freq: 504000
[ 5.339374] [cpu_freq] INF: merge_cluster_tables: End, table: e61ef3c0, coun2
[ 5.347783] axp22_dcdc3: Failed to create debugfs directory
[ 5.354004] axp15_dcdc1: Failed to create debugfs directory
[ 5.360263] [cpu_freq] INF: sunxi_cpufreq_init, get cpu frequency from syscoz
[ 5.377569] [cpu_freq] INF: sunxi register cpufreq driver succeed
[ 5.384360] [cpu_freq] INF: sunxi register bL notifier succeed
[ 5.390848] [cpu_freq] INF: sunxi_cpufreq_init: done!
[ 5.396659] [mmc]: SD/MMC/SDIO Host Controller Driver(v1.76 2014-06-17 14:412
[ 5.408138] [mmc]: sunxi_mci_init
[ 5.411947] usb 1-1.2: new full-speed USB device number 3 using sunxi-ehci
[ 5.419638] [mmc]: get mmc0’s sdc_ex_dly_used failed,use default dly
[ 5.426766] [mmc]: get mmc1’s sdc_ex_dly_used failed,use default dly
[ 5.433889] [mmc]: get mmc2’s sdc_ex_dly_used failed,use default dly
[ 5.440970] [mmc]: MMC host used card: 0x7, boot card: 0x4, io_card 2
[ 5.449407] [mmc]: –B-sdc 2 – 48000000
[ 5.454056] [mmc]: sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.464941] [mmc]: sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timingB
[ 5.474690] [mmc]: sdc2 Probe: base:0xf1c11000 irq:94 sg_cpu:ffdd2000(45c090.
[ 5.485158] [mmc]: –B-sdc 0 – 48000000
[ 5.490029] [mmc]: sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.499902] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.510654] [mmc]: mclk 0xf6000418 0x8002000f
[ 5.515502] [mmc]: mclk 0xf6000418 0x8002000e
[ 5.520438] [mmc]: sdc0 Probe: base:0xf1c0f000 irq:92 sg_cpu:ffdd1000(463d60.
[ 5.529322] [mmc]: sdc0: no card detected, try to shutdown io voltage.
[ 5.538394] [mmc]: –B-sdc 1 – 48000000
[ 5.543103] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.554114] [mmc]: sdc1 Probe: base:0xf1c10000 irq:93 sg_cpu:ffdd0000(463d70.
[ 5.563009] [mmc]: sdc1: no card detected, try to shutdown io voltage.
[ 5.572258] sunxi_leds driver init
[ 5.576119] request gpio230, ret=0
[ 5.579924] trigger_name:heartbeat
[ 5.583716] request gpio241, ret=0
[ 5.587491] trigger_name:cpu0
[ 5.591661] Registered led device: blue:ph21:led1
[ 5.597128] Registered led device: orange:ph20:led2
[ 5.602910] ledtrig-cpu: registered to indicate activity on CPUs
[ 5.610465] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 52, RTO!
[ 5.619417] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 52, RTO!
[ 5.627563] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.640348] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.652392] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 8, RTO !
[ 5.660507] *******************Try sdio*******************
[ 5.667404] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.675955] usb 1-1.3: new full-speed USB device number 4 using sunxi-ehci
[ 5.683638] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.692587] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.701487] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.709568] *******************Try sd *******************
[ 5.716380] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.725454] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.734427] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.743444] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.751638] *******************Try mmc*******************
[ 5.757636] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.768357] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.778593] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.789098] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.802295] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.817127] input: Tronsmart as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.1
[ 5.827967] generic-usb 0003:11C0:5500.0001: input: USB HID v1.11 Gamepad [T0
[ 5.839888] usbcore: registered new interface driver usbhid
[ 5.846165] usbhid: USB HID core driver
[ 5.851626] ashmem: initialized
[ 5.855463] logger: created 256K log ‘log_main’
[ 5.860927] logger: created 256K log ‘log_events’
[ 5.866627] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.877236] logger: created 256K log ‘log_radio’
[ 5.883529] logger: created 256K log ‘log_system’
[ 5.891625] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/2
[ 5.902339] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1B
[ 5.912867] [mmc]: mclk 0xf6000418 0x8102000e
[ 5.917710] [mmc]: mclk 0xf6000418 0x81020008
[ 5.922807] generic-usb 0003:1915:0196.0002: input: USB HID v1.10 Keyboard [0
[ 5.935316] axp device register ok and device_create_file ok
[ 5.944755] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/3
[ 5.955939] generic-usb 0003:1915:0196.0003: input: USB HID v1.10 Mouse [MEL1
[ 5.968364] sunxi_snddaudio_init, line:222
[ 5.972945] sunxi_snddaudio_init, line:228, daudio_used:1
[ 5.979457] soc-audio soc-audio.4: ASoC machine snddaudio should use snd_soc)
[ 5.989008] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1B
[ 6.000584] [mmc]: sdc2 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 1B
[ 6.011416] [mmc]: mclk 0xf6000418 0x81420508
[ 6.016264] [mmc]: mclk 0xf6000418 0x81410509
[ 6.021257] input: headset as /devices/virtual/input/input4
[ 6.029044] [CODEC] speaker_val type err!
[ 6.037672] asoc: sndvir_audio s_i2s1 mapping ok
[ 6.046539] soc-audio soc-audio.0: ASoC machine sndhdmi should use snd_soc_r)
[ 6.057841] asoc: sndhdmi sunxi-hdmiaudio.0 mapping ok
[ 6.065235] u32 classifier
[ 6.068237] Actions configured
[ 6.072350] [mmc]: sdc2 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 8B
[ 6.083264] Netfilter messages via NETLINK v0.30.
[ 6.088563] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 6.095608] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/5
[ 6.105653] mmc0: new high speed MMC card at address 0001
[ 6.112773] ctnetlink v0.93: registering with nfnetlink.
[ 6.118859] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 6.126586] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 6.133236] generic-usb 0003:1915:0196.0004: input: USB HID v1.10 Device [ME2
[ 6.145101] mmcblk0: mmc0:0001 NCard 7.29 GiB
[ 6.150830] mmcblk0boot0: mmc0:0001 NCard partition 1 4.00 MiB
[ 6.157868] mmcblk0boot1: mmc0:0001 NCard partition 2 4.00 MiB
[ 6.166468] generic-usb 0003:1915:0196.0005: claimed by neither input, hiddew
[ 6.176333] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 >
[ 6.182846] xt_time: kernel timezone is -0000
[ 6.187850] IPv4 over IPv4 tunneling driver
[ 6.192551] mmcblk0: p1 size 12154880 extends beyond EOD, truncated
[ 6.203365] gre: GRE over IPv4 demultiplexor driver
[ 6.208818] ip_gre: GRE over IPv4 tunneling driver
[ 6.215725] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 6.221951] arp_tables: (C) 2002 David S. Miller
[ 6.227150] TCP: cubic registered
[ 6.230956] Initializing XFRM netlink socket
[ 6.235992] NET: Registered protocol family 10
[ 6.242164] Mobile IPv6
[ 6.244909] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 6.251698] IPv6 over IPv4 tunneling driver
[ 6.260129] NET: Registered protocol family 17
[ 6.265205] mmcblk0boot1: unknown partition table
[ 6.270881] NET: Registered protocol family 15
[ 6.276330] Bluetooth: RFCOMM TTY layer initialized
[ 6.281903] Bluetooth: RFCOMM socket layer initialized
[ 6.287610] Bluetooth: RFCOMM ver 1.11
[ 6.292644] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 6.298648] mmcblk0boot0: unknown partition table
[ 6.304143] Bluetooth: BNEP filters: protocol multicast
[ 6.309965] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 6.316932] *******************mmc init ok *******************
[ 6.323716] L2TP core driver, V2.0
[ 6.327513] PPPoL2TP kernel driver, V2.0
[ 6.332165] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5
[ 6.340699] ThumbEE CPU extension supported.
[ 6.345455] Registering SWP/SWPB emulation handler
[ 6.352945] axp15_bldo2: incomplete constraints, leaving on
[ 6.359277] axp15_bldo1: incomplete constraints, leaving on
[ 6.365712] axp15_aldo1: incomplete constraints, leaving on
[ 6.372004] axp15_dcdc4: incomplete constraints, leaving on
[ 6.378353] axp15_dcdc1: incomplete constraints, leaving on
[ 6.384718] axp22_ldoio1: incomplete constraints, leaving on
[ 6.391106] axp22_dc5ldo: incomplete constraints, leaving on
[ 6.397477] axp22_eldo3: incomplete constraints, leaving on
[ 6.403763] axp22_eldo2: incomplete constraints, leaving on
[ 6.410088] axp22_dldo2: incomplete constraints, leaving on
[ 6.416363] axp22_aldo3: incomplete constraints, leaving on
[ 6.422653] axp22_aldo2: incomplete constraints, leaving on
[ 6.428978] axp22_dcdc5: incomplete constraints, leaving on
[ 6.435252] axp22_dcdc4: incomplete constraints, leaving on
[ 6.441540] axp22_dcdc3: incomplete constraints, leaving on
[ 6.447851] axp22_dcdc1: incomplete constraints, leaving on
[ 6.454240] otg_wakelock_init: No USB transceiver found
[ 6.460385] rtc_gettime(323): read time 2015-3-19 14:9:30
[ 6.466449] rtc0 rtc0: setting system clock to 2015-03-19 14:09:30 UTC (1426)
[ 6.475524] input: sunxi-ths as /devices/virtual/input/input6
[ 6.482577] suxi_ths: Kernel Thermal management registered
[ 6.489251] suxi_ths: Kernel Thermal management registered
[ 6.496143] sunxi_ths_bind : thermal-budget-0
[ 6.500839] ths_zone trip = 60, adjust lower = 0, upper = 1
[ 6.507292] ths_zone trip = 75, adjust lower = 1, upper = 2
[ 6.513548] ths_zone trip = 85, adjust lower = 2, upper = 5
[ 6.519803] ths_zone trip = 95, adjust lower = 5, upper = 9
[ 6.526046] ths_zone trip = 105, adjust lower = 0, upper = 0
[ 6.532398] sunxi_ths_bind : thermal-budget-0
[ 6.537077] ths_zone trip = 105, adjust lower = 0, upper = 9
[ 6.543636] CPU Budget:Register notifier
[ 6.548026] CPU Budget:register Success
[ 6.552328] sunxi-budget-cooling sunxi-budget-cooling: Cooling device regist0
[ 6.567410] ALSA device list:
[ 6.570740] #0: snddaudio
[ 6.573862] #1: sndhdmi
[ 6.577062] Freeing init memory: 320K
[ 6.586000] SELinux: 512 avtab hash slots, 1364 rules.
[ 6.592252] SELinux: 512 avtab hash slots, 1364 rules.
[ 6.598012] SELinux: 1 users, 2 roles, 291 types, 1 bools, 1 sens, 1024 cats
[ 6.606028] SELinux: 84 classes, 1364 rules
[ 6.611474] SELinux: Completing initialization.
[ 6.616640] SELinux: Setting up existing superblocks.
[ 6.622416] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[ 6.630426] SELinux: initialized (dev rootfs, type rootfs), uses genfs_contes
[ 6.638715] SELinux: initialized (dev bdev, type bdev), not configured for lg
[ 6.647296] SELinux: initialized (dev proc, type proc), uses genfs_contexts
[ 6.655115] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 6.663225] SELinux: initialized (dev devtmpfs, type devtmpfs), uses transits
[ 6.672386] SELinux: initialized (dev debugfs, type debugfs), uses genfs_cons
[ 6.685386] SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
[ 6.693117] SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
[ 6.700829] SELinux: initialized (dev anon_inodefs, type anon_inodefs), not g
[ 6.710979] SELinux: initialized (dev devpts, type devpts), uses transition s
[ 6.719291] SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfss
[ 6.728152] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 6.736279] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[ 6.896982] type=1403 audit(1426774170.920:2): policy loaded auid=42949672955
[ 6.906479] SELinux: Loaded policy from /sepolicy
[ 6.914726] type=1404 audit(1426774170.940:3): enforcing=1 old_enforcing=0 a5
[ 8.477760] init: could not import file ‘init.sun9i.3gdongle.rc’ from ‘/init’
[ 8.486828] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_.
[ 8.649232] init: /dev/hw_random not found
[ 8.669473] [NAND][NAND]nand init start, nand0_used_flag is 0
[ 8.675863] [NAND]nand_cache_level err! 0[NAND]nand_capacity_level err! 0
[ 8.683430] [NAND]run on A80
[ 8.686651] nand interrupte ch0 irqno: 102 register ok
[ 8.694581] nand interrupte ch1, irqno: 101 register ok
[ 8.700410] [NAND]nand driver is disabled
[ 8.778988] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contes
[ 8.787468] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.797030] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.805509] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.813770] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.938770] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contes
[ 8.958788] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. )
[ 8.967860] SELinux: initialized (dev mmcblk0p7, type ext4), uses xattr
[ 8.983573] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode.o
[ 8.995499] SELinux: initialized (dev mmcblk0p10, type ext4), uses xattr
[ 9.138715] fs_mgr: Running /system/bin/e2fsck on /dev/block/by-name/cache
[ 9.204200] e2fsck: e2fsck 1.41.14 (22-Dec-2010)
[ 9.209416] e2fsck: /dev/block/by-name/cache: clean, 12/40960 files, 5257/16s
[ 9.227482] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode.1
[ 9.238540] SELinux: initialized (dev mmcblk0p10, type ext4), uses xattr
[ 9.260689] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 9
[ 9.270693] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 7
[ 9.280417] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 4
[ 9.290038] EXT4-fs (mmcblk0p1): 3 orphan inodes deleted
[ 9.295936] EXT4-fs (mmcblk0p1): recovery complete
[ 9.317902] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. o
[ 9.329727] SELinux: initialized (dev mmcblk0p1, type ext4), uses xattr
[ 9.458705] fs_mgr: Running /system/bin/e2fsck on /dev/block/by-name/UDISK
[ 9.477312] e2fsck: e2fsck 1.41.14 (22-Dec-2010)
[ 9.482498] e2fsck: /dev/block/by-name/UDISK: clean, 851/378256 files, 83181s
[ 9.501309] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. c
[ 9.513823] SELinux: initialized (dev mmcblk0p1, type ext4), uses xattr
[ 9.719649] [DISP]disp_module_init
[ 9.725111] [DISP]disp_probe
[ 9.728469] [DISP] IEP_Deu_Init,line:216: deu_mode1 not exist.
[ 9.748739] [DISP] lcd_panel_parameter_check,line:379: get lcd1para lcd_ul
[ 9.757366] [DISP] disp_lcd_gpio_init,line:2071: lcd 2 is not register
[ 9.768723] [DISP] disp_init_hdmi,line:492: screen 0 do not support HDMI !
[ 9.777046] [DISP] disp_init_hdmi,line:492: screen 2 do not support HDMI !
[ 9.786245] [DISP] disp_init_connections,line:133: smbl’s set manager is L
[ 9.794539] [DISP] disp_init_connections,line:139: capture’s set manager L
[ 9.803063] [DISP] disp_init_connections,line:145: smcl’s set manager is L
[ 9.811346] [DISP]Fb_Init
[ 9.814390] disp_init.disp_composer_mode = 1
[ 9.819224] [DISP] parser_disp_init_para,line:130: fetch script data displ
[ 9.830053] [DISP] parser_disp_init_para,line:143: invalid screen0_output0
[ 9.838631] [DISP] parser_disp_init_para,line:147: fetch script data displ
[ 9.849469] [DISP] parser_disp_init_para,line:208: fetch script data displ
[ 9.859419] [DISP] parser_disp_init_para,line:213: fetch script data displ
[ 9.870538] [DISP] parser_disp_init_para,line:218: fetch script data displ
[ 9.880393] [DISP] parser_disp_init_para,line:223: fetch script data displ
[ 9.890506] sunxi_map_kernel ok, phys_addr=0x88000000, size=0xfd2000, virt_a0
[ 9.918151] [DISP]disp_probe finish
[ 9.922283] [DISP]capture_module_init
[ 9.927423] [DISP]capture_probe
[ 9.931124] [DISP]capture finish
[ 9.934733] [DISP]disp_module_init finish
[ 9.965793] [LCD]lcd_module_init
[ 9.970461] [LCD]lcd_module_init finish
[ 9.997550] [HDMI] debug to check 111 !!
[ 10.002469] [DISP] disp_get_hdmi,line:41: screen_id 0 do not support HDMI!
[ 10.010908] [DISP] bsp_disp_set_hdmi_func,line:1316: get hdmi0 failed!
[ 10.202788] axp22_dcdc2: Failed to create debugfs directory
[ 10.209257] Set gpu pll clock successfully
[ 10.213902] Set gpu core clock successfully
[ 10.218643] Set gpu mem clock successfully
[ 10.223353] Set gpu axi clock successfully
[ 10.231542] Sunxi init successfully
[ 10.287729] usbcore: registered new interface driver uvcvideo
[ 10.294162] USB Video Class driver (v1.1.1)
[ 10.316458] sun fd version 0.5
[ 10.320197] [fd]: install start!!!
[ 10.338753] open_clk:fd_clk_rate = 320000000
[ 10.345330] register fd_early_suspend @ probe handle!
[ 10.350973] [fd]: install end!!!
[ 10.408295] init: /dev/hw_random not found
[ 10.436732] binder: 1550:1550 transaction failed 29189, size 0-0
[ 10.445161] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ”
[ 10.514887] keyname:ctp_para subname:ctp_power_ldo ,get error!
[ 10.522520] keyname:ctp_para subname:ctp_power_ldo_vol ,get error!
[ 10.529688] keyname:ctp_para subname:ctp_power_io ,get error!
[ 10.536368] keyname:ctp_para subname:ctp_wakeup ,get error!
[ 10.544786] get sysconfig para erro!
[ 10.549398] get sysconfig para erro!
[ 10.554023] get_device_para_value:get subname:bmg160_gyr error! val.val:0
[ 10.554106] ir_fetch_sysconfig_para: IR power key type err!
[ 10.568183] get_detect_list: script_get_item err.support_number = 1.
[ 10.568192] input: sunxi-ir as /devices/virtual/input/s_cir0
[ 10.581737] get sysconfig para erro!
[ 10.585745] ctp_wakeup: !!!!gpio data 0
[ 10.679209] [ap6xxx]: get power regulator failed.
[ 10.684577] gpio ap6xxx_wl_regon set val 1, act val 1
[ 10.703075] get sysconfig para erro!
[ 10.712580] SELinux: initialized (dev mmcblk0p2, type vfat), uses genfs_conts
[ 10.790280] [ap6xxx]: sdio wifi power state: on
[ 10.795411] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timingB
[ 10.795564] =========== WLAN placed in POWER ON ========
[ 10.839793] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.850165] [mmc]: mclk 0xf6000414 0x80000000
[ 10.855045] [mmc]: mclk 0xf6000414 0x8002000e
[ 10.932906] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 52, RTO!
[ 10.942191] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 52, RTO!
[ 10.950456] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.963477] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.975679] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 8, RTO !
[ 10.983798] *******************Try sdio*******************
[ 10.990478] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 11.016658] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
[ 11.024411] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 11.032205] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 11.041594] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
[ 11.131482] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 11.141871] [mmc]: sdc1 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 1B
[ 11.152865] [mmc]: mclk 0xf6000414 0x8102000e
[ 11.157822] [mmc]: mclk 0xf6000414 0x81010009
[ 11.218360] [mmc]: sdc1 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 4B
[ 11.232241] mmc2: new high speed SDIO card at address 0001
[ 11.241487] bcmsdh_register: Linux Kernel SDIO/MMC Driver
[ 11.247770] bcm_wlan_get_oob_irq enter.
[ 11.252505] gpio [355] map to virq [3] ok
[ 11.264008] F1 signature OK, socitype:0x1 chip:0x4330 rev:0x4 pkg:0x0
[ 11.273213] DHD: dongle ram size is set to 294912(orig 294912) at 0x0
[ 11.281960] dhdsdio_probe: Disable prop_txstatus
[ 11.292325] wl_create_event_handler(): thread:wl_event_handler:6e9 started
[ 11.293075] tsk Enter, tsk = 0xe4b213d8
[ 11.308639] p2p0: P2P Interface Registered
[ 11.313409] dhd_attach(): thread:dhd_watchdog_thread:6f3 started
[ 11.320694] dhd_attach(): thread:dhd_dpc:6f6 started
[ 11.326332] dhd_attach(): thread:dhd_sysioc:6f8 started
[ 11.335580] Broadcom Dongle Host Driver: register interface [wlan0] MAC: 00:3
[ 11.344904] *******************sdio init ok*******************
[ 11.353413]
[ 11.353415] Dongle Host Driver, version 1.88.45.3 (r420671)
[ 11.353418] Compiled in drivers/net/wireless/bcmdhd on Nov 20 2014 at 14:34:0
[ 11.369425] [ap6xxx]: get power regulator failed.
[ 11.374780] gpio ap6xxx_wl_regon set val 0, act val 0
[ 11.480430] [ap6xxx]: sdio wifi power state: off
[ 11.485589] =========== WLAN placed in RESET ========
[ 11.513690] Bluetooth: MSM Sleep Mode Driver Ver 1.2
[ 11.628863] usbcore: registered new interface driver asix
[ 11.760527] usbcore: registered new interface driver qf9700
[ 11.811282] usbcore: registered new interface driver MOSCHIP usb-ethernet drr
[ 11.836297] usbcore: registered new interface driver rtl8150
[ 11.858831] usbcore: registered new interface driver cdc_ether
[ 11.894074] eth0: Use random mac address
[ 12.029990] init: property ‘sys.powerctl’ doesn’t exist while expanding ‘${s’
[ 12.039192] init: powerctl: cannot expand ‘${sys.powerctl}’
[ 12.045390] init: property ‘sys.sysctl.extra_free_kbytes’ doesn’t exist whil’
[ 12.058375] init: cannot expand ‘${sys.sysctl.extra_free_kbytes}’ while writ’
[ 12.073160] android_usb: already disabled
[ 12.077941] init: using deprecated syntax for specifying property ‘sys.usb.cd
[ 12.089841] init: using deprecated syntax for specifying property ‘sys.usb.cd
[ 12.092187] adb_open
[ 12.092792] mtp_bind_config
[ 12.092803] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092809] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.092848] adb_bind_config
[ 12.092854] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092860] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.092866] ep_matches, wrn: endpoint already claimed, ep(0xe6104c00, 0xe619)
[ 12.092873] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092879] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.129230] SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
[email protected]:/ $ [ 13.010043] SELinux: initialized (dev tmpfs, type tms
[ 13.283012] 0xf6000008 = 0x8104361c, line:322, freq:22579200
[ 20.964560] healthd: battery l=100 v=0 t=30.0 h=2 st=5 c=0 chg=a
[ 20.976156] request_suspend_state: wakeup (3->0) at 20947478678 (2015-03-19 )
[ 21.052168] [DISP] disp_get_hdmi,line:41: screen_id 0 do not support HDMI!
[ 21.061336] [DISP] bsp_disp_hdmi_check_support_mode,line:1286: get hdmi0 !
[ 21.144959] lowmemorykiller: lowmem_shrink: convert oom_adj to oom_score_adj:
[ 21.152974] lowmemorykiller: oom_adj 0 => oom_score_adj 0
[ 21.159030] lowmemorykiller: oom_adj 1 => oom_score_adj 58
[ 21.165169] lowmemorykiller: oom_adj 2 => oom_score_adj 117
[ 21.171412] lowmemorykiller: oom_adj 3 => oom_score_adj 176
[ 21.177648] lowmemorykiller: oom_adj 9 => oom_score_adj 529
[ 21.183892] lowmemorykiller: oom_adj 15 => oom_score_adj 1000
[ 21.481535] gmac0: probed
[ 21.484552] gmac0 gmac0: eth0: eth0: PHY ID 001cc915 at 0 IRQ poll (gmac0-0:)
[ 21.667414] acc_open
[ 21.669901] acc_release
[ 21.824964] warning: `dhcpcd’ uses 32-bit capabilities (legacy support in us)
[ 24.791259] init: sys_prop: permission denied uid:1003 name:service.bootanit
[ 25.984490] [rfkill]: rfkill set power 1
[ 25.989153] gpio ap6xxx_bt_regon set val 0, act val 0
[ 26.215339] [rfkill]: rfkill set power 0
[ 26.223544] gpio ap6xxx_bt_regon set val 1, act val 1
[ 27.488929] PHY: gmac0-0:00 – Link is Up – 1000/Full
[ 27.545207] [BT_LPM] bluesleep_get_uart_port: bluesleep_get_uart_port get ua4
[ 28.601716] CPU7: shutdown
[ 29.600726] CPU6: shutdown
[ 30.091375] CPU5: shutdown
[ 30.592182] CPU3: shutdown
[ 31.100346] CPU2: shutdown
[ 31.852206] [BT_LPM] bluesleep_hostwake_task: hostwake line change
[ 31.888716] eth0: no IPv6 routers present
[ 33.468549] rtc_settime(239): time to set 2015-3-19 14:9:57
[ 33.534309] rtc_settime(283): set time 2015-3-19 14:9:57 success!
[ 33.541562] rtc_gettime(323): read time 2015-3-19 14:9:57
[ 34.100198] CPU1: shutdown
[ 34.699673] CPU4: shutdown

You can find more documentation in English and Chinese on Cubieboard4 documentation page, which includes videos, images, Android and Linux source code, tools, and more.

The next step for me will probably be to do some performance testing in Android, especially with regards to Ethernet and USB 3.0 storage performance, and see if any progress has been made compared to the disappointing results I got with A80 OptimusBoard last year. I’ll also evaluate Linux performance on the board, and possibly tried out the SDK.

Calaos is an Open Source Home Automation Suite for Raspberry Pi, Allwinner A10/A20 and x86 Platforms

March 9th, 2015 No comments

Calaos is a Linux based home automation software released under GPLv3 license that works on Raspberry Pi, some Allwinner platforms like Cubiebaord 1/2, Mele A1000(G)/A2000, as well as x86 / amd64 hardware platforms that allows you control switches & lights in the rooms of your home or office, control your music, and manage security cameras.. The developers have recently released Calaos v2.0, the first stable release, so it’s a good time to have a look.

Calaos WebApp

Calaos WebApp

The software stack is comprised of 6 main components:

  • Calaos Server – Daemon that exports the state of the house via a JSON protocol. It can currently manage the following hardware components and protocols:
    Calaos Mobile

    Calaos Mobile

    • Wago’s PLC, with digital or analog I/O, DALI or DMX light bus
    • IPX800 web relay board
    • GCE Electronics Eco Devices used to monitor power consumption.
    • Web API
    • 1-Wire, X10
    • Zibase I/O
    • GPIO (Linux based GPIO, for direct use of RaspberryPI GPIO header) ;
    • Squeezebox
    • Nabaztag (Karotz). That’s a connected Wi-Fi enabled rabbit 🙂
    • CCTV IP (Axis, Mjpeg…)
  • Calaos Home –  Touchscreen interface to control the home, developed with EFL.
  • Calaos WebApp –  Web based interface implemented in HTML5 and using Angular JS and Bootstrap. Shown in screenshot above.
  • Calaos OS –  Linux distribution based on Openembedded pre-loaded with Calaos Server, Calaos Home and Calaos WebApp and relevant tools. That’s what you’ll need to get started easily, as you just need to download the image for your hardware.
  • Calaos Mobile – Qt5/QML app for Android and iOS tablet and smartphones that allows you to control Calaos remotely. However, only a subset of functions are available compared to Calaos Home.
  • Calaos Installer – Contrary to what the name implies, this Qt5 app does not install Calaos, but allows you to configure Calaos Server remotely, by adding, removing or modifying inputs/outputs on your PC, instead of editing configuration files manually. It also supports LUA scripts
Calaos Installer

Calaos Installer

You can have a better look at the user interface in the video section of the website, and I’ve also included a short video showing the Raspberry Pi connected to a 10″ touchscreen LCD  running Calaos Home.

You can find more details, and documentation on Calaos website, including a Quick Start Guide for the Raspberry Pi. The source code is available on Calaos github account.

3D Graphics Acceleration in Linux on Allwinner A80 based Cubieboard4

January 2nd, 2015 11 comments

Allwinner A80 is a powerful octa-core processor found in development boards and TV boxes such as Cubieboard4 or Tronsmart Draco AW80. Some early Ubuntu images and instructions had already been released for A80 Optimusboard and Draco AW80, but none of these featured GPU drivers for 3D acceleration, which to be honest, has limited advantages in Linux desktop distributions since desktop environments and most apps require full OpenGL support, i.e. not only OpenGL ES, and the only ARM SoC that can provide OpenGL support without external graphics card is Nvidia Tegra K1 SoC. Having said that GPU drivers would pave the way for smooth OpenELEC / Kodi user interface support in Allwinner A80 Linux distributions. That’s only one part of the puzzle, since the GPU normally handles the user interface, while the VPU takes care of video decoding.

Cubieboar4_Linux_GPU_DriversThe good news is that CubieTech release updates images for their Cubieboard4 (CC-A80) development with PowerVR GC6200 GPU support, which you can download on Baidu:

  • linaro-cb4-emmc-vga-v0.3.img.7z is the eMMC flash image with VGA output
  • linaro-cb4-emmc-hdmi-v0.3.img.7z.md5 is the eMMC flash image with HDMI output

The company also provided instructions they followed to create the image, using two files they got from Allwinner rogue_km.tar.gz , and discimage-release-1.4-fix_buffer_ideas_20141216_no_gl.tar.gz, available on Cubieboard server.

The steps below have been completed in an Ubuntu 14.04 computer’s terminal window, and may need some corrections, since I’ve mostly edited them from an email but not tried myself:

  1. Build drivers

    The two drivers files dc_drmfbdev.ko and pvrsrvkm.ko can be found in linux-3.4/modules/rogue_km/binary_sunxi_linux_xorg_release/target_armhf directory
  2. Copy drivers to SD card
    You’ll need to download and extract Linaro Ubuntu 14.04 rootfs, and copy the drivers to a bootable sdcard in the rootfs partition
  3. Copy libraries to rootfs
  4. Insert the SD card into Cubieboard4 board, boot, and complete the steps as follows:

    Edit  /etc/modules to add the two lines:

    Insert the modules, run depmod, and reboot to complete the installation:

    Done!

Now you can test 3D graphics acceleration works with glmark2-es2 or es2gears:

Thanks to Ovidiu for the info.