Archive

Posts Tagged ‘Linux’

MIPS Creator CI20 Development Board Formally Announced, Free to Selected Developers

August 28th, 2014 9 comments

Earlier this month, I discovered MIPS Creator CI20 development board based on Ingenic JZ4780 dual core MIPS processor thanks to one of my reader.  Imagination Technologies has now launched the board, which will run Debian 7 first, soon support Android 4.4 and others Linux distributions, and the company places their MIPS board as a competitor to the popular ARM based boards such as the Raspberry Pi and BeagleBone Black. This is the first board part of Prpl initiative for open source Linux and Android software for the MIPS architecture.

MIPS_CI20_Development_BoardAs a reminder, I’ll list the hardware specifications again:

  • SoC – Ingenic JZ4780 dual core MIPS32 processor @ 1.2 GHz with Imagination PowerVR SGX540 GPU. 32kI + 32kD per core, 512K shared L2.
  • System Memory – 1GB DDR3
  • Storage – 8GB NOR flash, 1x SD card slot, 1x SD card slot via expansion
  • Video Output – HDMI up to 1080p
  • Audio I/O – HDMI, Audio In and Out via 3.5mm jack
  • Video Playback – Up to 1080p60
  • Connectivity – 10/100M Ethernet, Wi-Fi + Bt 4.0 module (IW8103)
  • USB – 1x USB OTG, 1x USB 2.0 Host.
  • Expansions Headers – Access to 23x GPIOs, 2x SPI, 1x I2S, 7x ADC on header, including 5-wire touch and battery monitoring function, 1x UART, Transport Stream I/F.
  • Debugging – UART, and 14-pin MIPS EJTAG header
  • Misc – IR receiver, power LED, and button
  • Power Supply – 5V via 4mm/1.7mm barrel connector
  • Dimensions – 90x95mm

One thing I did not mention the last time are the multimedia capabilities of the Ingenic SoC, as it can handle codec such as MPEG-4, H.264, VP8, MPEG-2, and RV9 thanks to the video hardware, “making it ideal for HTPC enthusiasts” according to Imagination. The Linux source code  (3.0.8 and 3.16 kernel) is currently available on github and Imagination plans to up-streamed support to mainline. Graphics support includes Xorg-compliant OpenGL 2.1 and OpenGL ES 1.1/2.0 drivers, which means Linux distributions available for the board should have 3D GPU acceleration. The complete documentation is available on eLinux.

MIPS_Creator_CI20_vs_Raspberry_Pi_vs_BeagleBone_BlackBased on the comparison table above, MIPS Creator CI20 are significantly higher than Raspberry Pi, and even BeagleBone Black, and the board size is about double, so it’s unlikely it will compete on price with either, unless it’s sponsored. Its specs are more akin to the Cubietruck (except for 2GB RAM, SATA support, GbE…) which sells for $89, so something between $70 to $80 could be expected.

With regards to availability there are good and bad news. The bad news is that you can’t buy it right now, and they haven’t announced the price yet. The good news is that if you are involved in an open source project, you may be able to get it for free by requesting one. Eventually MIPS Creator CI20 should sell via Imagination Technologies e-Store.

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

Samsung Exynos 7 ARM Cortex A57 Processor Linux Code Submitted

August 28th, 2014 4 comments

Samsung has not announced any 64-bit processor yet, but according to a recent patchset Exynos 7 may be their first 64-bit ARM SoC, and it will be based on the faster Cortex A57 cores. A quick way to learn a little more is to check the device tree file (exynos7.dtsi).

Samsung_Exynos_7Here’s an interesting snippet:

+	cpus {
+		#address-cells = ;
+		#size-cells = ;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a57", "arm,armv8";
+			reg = ;
+		};
+	};

As it stands, Exynos7 would be a single core Cortex A57 processor. This sounds unlikely that a company would launch a single core processor at this stage, so it’s probably early code that may not support all cores just yet.  We also know Samsung uses ESPRESSO board for development with Samsung Exynos 7 processor and 3 GB RAM.

Thanks to David for the tips.

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

AllWinner A80 Linux SDK Released

August 26th, 2014 13 comments

After Android 4.4 SDK for AllWinner A31 last week, another AllWinner software development kit has been seen in the wild, this time for the new AllWinner A80 octa-core processor. A80 SDK includes source code for the Linux Kernel and U-boot, as well as buildroot, and various AllWinner tools. I’ve also noticed AllWinner A80 datasheet is available, but with the strict minimum information (45 pages).

AllWinner_A80_SDK

Let’s get the code, and extract it:

wget http://dl.linux-sunxi.org/SDK/A80/A80_SDK_20140728.tar.gz
tar xvf A80_SDK_20140728.tar.gz
cd A80_SDK_20140728

Now we need to configure the build:

./build.sh config

Welcome to mkscript setup progress
All available chips:
   0. sun9iw1p1
Choice: 0
All available platforms:
   0. android
   1. dragonboard
   2. linux
Choice: 2
All available kernel:
   0. linux-3.4
Choice: 0
All available boards:
   0. optimus
   1. p1
   2. perf
   3. perf5
   4. perf-lpddr3
Choice: 0

sun9i is the codename for AllWinner A80, not sure what w1p1 means. Dragonboard must be the internal Allwinner development board, but I just selected Linux, since the SDK does not come with Android, and finally I opted for optimus, which could stand for OptimusBoard.

You may need to install extra dependencies in your build machine, for example (in Ubuntu 14.04):

sudo apt-get install flex texinfo build-essential

Now let’s start buildroot which should retrieve the toolchain, and build u-boot and the Linux kernel:

./build.sh
INFO: ----------------------------------------
INFO: build lichee ...
INFO: chip: sun9iw1p1
INFO: platform: linux
INFO: kernel: linux-3.4
INFO: board: optimus
INFO: output: out/sun9iw1p1/linux/optimus
INFO: ----------------------------------------
INFO: build buildroot ...
make: Entering directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot'
mkdir -p /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target
if ! [ -d "/home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/bin" ]; then \
		if [ -d "/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton" ]; then \
			cp -fa /media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton/* /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/; \
		fi; \
		touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/host/usr/arm-unknown-linux-gnueabi/sysroot/.fakeroot.00000; \
	fi
find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf
find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type f \( -name .empty -o -name '*~' \) -print0 | xargs -0 rm -rf
touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/build/.root
--2014-08-26 11:55:29--  http://www.codesourcery.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2
Resolving www.codesourcery.com (www.codesourcery.com)... 107.23.79.96
Connecting to www.codesourcery.com (www.codesourcery.com)|107.23.79.96|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2 [following]
--2014-08-26 11:55:31--  https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2
Resolving sourcery.mentor.com (sourcery.mentor.com)... 54.83.42.164
Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2 [following]
--2014-08-26 11:55:33--  https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2
Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-26 11:55:35 ERROR 404: Not Found.

--2014-08-26 11:55:35--  http://sources.buildroot.net//gcc-linaro.tar.bz2
Resolving sources.buildroot.net (sources.buildroot.net)... 176.9.16.109
Connecting to sources.buildroot.net (sources.buildroot.net)|176.9.16.109|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-26 11:55:37 ERROR 404: Not Found.

make: *** [/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/dl/gcc-linaro.tar.bz2] Error 1
make: Leaving directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot'
ERROR: build buildroot Failed

So it’s looking for Linaro gcc via several servers, (except linaro), and all links fail… So I modified buildroot/toolchain/toolchain-external/ext-tool.mk to use http://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.bz2 instead, and after adding some symlinks (arm-linux-gnueabi-gcc to arm-linux-gnueabihf-gcc), it went a little further, but Busybox failed to build (error: ‘RLIMIT_FSIZE’ undeclared), so another toolchain may be needed, or some work is needed to make it build…

Several drivers in the kernel are binary only, or mixed binary / source, including the NAND driver, part of dram frequency scaling drivers, some MIPI code, a face detection library, part of USB3.0 code, and more.

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

$25 GL.iNet 6416A is an Hackable OpenWRT Router with Easy UART and GPIO Access

August 25th, 2014 5 comments

There are plenty of low cost routers supporting OpenWRT, but GL.iNet 6416A has several advantages compared to devices like TP-Link WR703N. Both are based on Atheros AR9931, but GL.iNet router has more memory and storage (64MB RAM + 16MB Flash vs 32MB RAM + 4MB Flash), two Ethernet ports instead of just one, and 6 GPIOs, the serial pins, and power signals (5V, 3.3V and GND) are all easily accessible via though holes or headers. Gl.iNet 6416A can be purchased for about $25 on DealExtreme or Amazon US, and it used to be listed on eBay, but is now out of stock.

GL.inet_6416AGl/iNET 6416A specifications:

  • Wi-Fi SoC – Atheros AR9331 MIPS processor @ 400 MHz
  • System Memory – 64MB RAM
  • Storage – 16MB Flash
  • Connectivity – 2x 10/100 Mbit Ethernet ports, 802.11 b/g/n Wi-FI up to 150Mbps
  • USB – 1x USB 2.0 port, 1x micro USB port for power
  • Debugging – Serial console via UART header (GND, Tx, Rx)
  • Expansion – 6 GPIOs, 5V, 3.3V, and GND.
  • Misc – Reset button, LED indicator
  • Power – 5V (micro USB)
  • Dimension – 5.8 x 5.8 x 2.2 cm
  • Weight 42 grams.

The device is also said to support USB webcams (MJPG or YUV), and USB mass storage with FAT32, EXFAT, EXT-2/3/4, and NTFS file systems using the stock firmware. There are also Android and iOS apps to manage the router.

GL.iNet_6416A_Board

GL.iNet 6416A Board Description – Source: Stian Eikeland

6416A router, and its little brother, 6408A, with 8 MB flash, are now part of mainline OpenWRT. You can also follow news and access short tutorials for the board on GL.iNet website, and check out the product page.

Thanks to Nanik for the tip.

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

Linux (Enlightenment and Lubuntu) in WeTek Play Amlogic TV Box

August 24th, 2014 21 comments

Last week I reviewed WeTek Play, a TV box with two DVB-S2 tuners, powered by Amlogic AML8726-MX dual core ARM Cortex A9 processor, and running Android 4.2, but the company also released several Linux based images including one with Enlightenment window manager, and another, temporary one, with Ubuntu core which allows you to install Lubuntu or Xubuntu with apt-get. There are also working on OpenELEC, but have not released the binary yet. Today, I’ll try the Enlightenment image because it also supports hardware video decoding via Gplay (gstreamer), and show how to install Lubuntu.

The instructions below have been done in a computer running Ubuntu 14.04, but a Windows computer can also be used.

  1. Download Wetek-Linux.img.bz2
  2. Connect a micro SD card to your computer, extract and flash Wetek-Linux.img:
    • In Linux using a terminal window:
      bzip2 -d Wetek-LInux.img.bz2
      sudo dd if=Wetek-Linux.img of=/dev/sdd bs=1M
      sync
    • In Windows, extract the image, and use Win32DiskImager to copy the image to your micro SD card
  3. Now insert the micro SD card into Wetek Play, and start the device.
  4. Linux should boot and run Enlightenment
Enlightenment in Wetek Play (Click for Original Size)

Enlightenment in Wetek Play (Click for Original Size)

For some reasons, the USB mouse and keyboard I connected where powered on, but no recognized / usable by the system, so instead I used the air mouse provided with the box. This is a minimal image with a rootfs built with buildroot, using busybox, and Enlightenment window manager. There are just three main applications in the menu: Mplayer, Enlightenment File Manager and Xterm. You also have more settings options.

Since I had no keyboard input, I connected the provided serial cable to the RS-232 port (barrel) on Wetek Play to my PC via an RS-232 to USB adapter, setup minicom to connect to /dev/ttyUSB0 with 115800 8N1 parameter, and I could access the serial console. For some reason all keyboard keys are repeated, so “ls -l” actually looks like “llss –ll”, but it works anyway. Pressing the Tab key may get rid off the duplicate characters.

I’ve run some commands to check the available storage space and memory.

# df  -h
Filesystem                Size      Used Available Use% Mounted on
/dev/mmcblk0p2            1.8G    334.4M      1.4G  19% /
devtmpfs                431.7M         0    431.7M   0% /dev
tmpfs                   433.1M         0    433.1M   0% /dev/shm
tmpfs                   433.1M    400.0K    432.7M   0% /tmp

# free  -m
total         used         free       shared      buffers
Mem:           866           88          777            0            2
-/+ buffers:                 85          780
Swap:            0            0            0

I’ve used a 16GB SD card, so I should probably have resized the partition with parted and resize2fs to make full use of the card capacity. But for quick testing, I skipped that part.  There’s plenty of free memory, becasue Enlightenment is an ultra lightweight desktop environment.

WeTek used the latest kernel 3.10.33 source from Amlogic with device tree support.

# uname  -a
Linux buildroot 3.10.33 #1 SMP PREEMPT Sun Aug 3 01:32:38 CEST 2014 armv7l GNU/x

Finally, I mounted a USB hard drive (ext-4), and successfully play a 1080p video with gplay:

mkdir -p /media/usb
mount -t ext4 /dev/sda2 /media/usb
gplay /media/usb/Video_Samples/High_Bitrate/big_buck_bunny_1080p_surround.avi

You can checkout the video below where I show the desktop environment, the serial connection, and play the 1080p video above.

This image us better suited as a start point to build your own application, still has some bugs, and not something you would use as a desktop computer. But at least, it’s one of the few ARM platform with proper hardware video decoding in Linux. Others would be the Freesale i.MX6 boards (Wandboard, TBS Matrix, etc…), Hardkernel ODROID boards, and Nvidia Tegra TK1 development board.

I’ve also included the full boot log below for reference:

HHH
BootFrom SPI
0×12345678
Boot from int dev 1stSPITE : 346507System StartedU-boot(m6_mbx@79a31247) (Aug 08 2014 – 13:50:34)aml_rtc_init
aml rtc init first time!
clr h-ram
DRAM:  1 GiB
relocation Offset is: 105e4000
MMC:   [mmc_register] add mmc dev_num=0, port=1, if_type=6
[mmc_register] add mmc dev_num=1, port=2, if_type=6
SDIO Port B: 0, SDIO Port C: 1
NAND:  Amlogic nand flash uboot driver, Version U1.06.020 (c) 2010 Amlogic Inc.
SPI BOOT : continue i 0
No NAND device found!!!
NAND device id: 2c 44 44 4b a9 0
NAND device: Manufacturer ID: 0x2c, Chip ID: 0x2c (Micron D revision NAND 4GiB )
1 NAND chips detected
#####aml_nand_init, with RB pins and chip->chip_delay:20
bus_cycle=5, bus_timing=6, start_cycle=6, end_cycle=7,system=5.0ns
oob size is not enough for selected bch mode: NAND_BCH60_1K_MODE force bch to mE
aml_chip->oob_fill_cnt =168,aml_chip->oob_size =744,bch_bytes =70
multi plane error for selected plane mode: NAND_TWO_PLANE_MODE force plane to :E
aml_nand_init:oobmul =1,chip->ecc.layout->oobfree[0].length=16,aml_chip->oob_si4
aml nand env valid addr: 8000 ,status =0
key start_blk=2040,end_blk=2047,aml_nand_key_init:684
aml nand key valid addr: ff010000
aml nand key valid addr: ff210000
aml nand key valid addr: ff410000
aml nand key valid addr: ff610000
CONFIG_KEYSIZE=0×10000; KEYSIZE=0xfffc; bbt=0×1330; default_keyironment_size=0xc
i=0,register — nand_key
NAND bbt detect Bad block at 0
Creating 8 MTD partitions on “nandnormal”:
0×000000800000-0×000001000000 : “logo”
0×000001000000-0×000001800000 : “aml_logo”
0×000001800000-0×000002000000 : “recovery”
0×000002000000-0×000002800000 : “boot”
0×000002800000-0×000042800000 : “system”
0×000042800000-0×000062800000 : “cache”
0×000062800000-0×000072800000 : “backup”
0×000072800000-0x0000ff000000 : “data”
nandnormal initialized ok
detect mx chiprevD :1 and nand_type: 40
nand_curr_device =1
SPI BOOT,spi_env_relocate_spec : env_relocate_spec 53
SF: Detected MX25L3205D with page size 256, total 4 MiBSPI NOR Flash have write protect!!!
In:    serial
Out:   serial
Err:   serial
register usb cfg[0] = 9fe85564
Net:   Meson_Ethernet
init suspend firmware done. (ret:0)
detect_storage
nand exist return 0
setenv storage nand
reboot_mode=normal
ir init
efuse version is not selected.
Hit Enter key to stop autoboot — :  0
exit abortboot: 0
Checking for OpenElectv …
sdio_detect return 1
[mmc_init] SDIO Port B:0, if_type=7, initialized OK!
Device: SDIO Port B
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 40000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 15798894592
Boot Part Size: 0
Bus Width: 4-bit
reading kernel.img

** Unable to read “kernel.img” from mmc 0:1 **
Checking for Linux …
Device: SDIO Port B
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 40000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 15798894592
Boot Part Size: 0
Bus Width: 4-bit
reading boot.img

6449001 bytes read

NAND read: logo whole chip
8388608 bytes read: OK
unpackimg:Magic error, use old format

NAND read: logo whole chip
8388608 bytes read: OK
unpackimg:Magic error, use old format
## ANDROID Format IMAGE
## Booting kernel from Legacy Image at 82000000 …
Image Name:   Linux-3.10.33
Image Type:   ARM Linux Kernel Image (lzma compressed)
Data Size:    3655540 Bytes = 3.5 MiB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum … OK
Ramdisk start addr = 0x8237d000, len = 0x2a495d
Process device tree. dt magic: edfe0dd0
One dtb detected
Flat device tree start addr = 0×82622000, len = 0x40c6 magic=0xedfe0dd0
Uncompressing Kernel Image … OK
uboot time: 5142982 us.
machid from environment: 0x4e27
EFUSE machid is not set.
Using machid 0x4e27 from environment
From device tree /memory/ node aml_reserved_end property, for relocate ramdisk 1
Loading Ramdisk to 84008000, end 842ac95d … OK
Loading Device Tree to 84000000, end 840070c5 … OK

Starting kernel …

[    0.000000@0] Booting Linux on physical CPU 0×200
[    0.000000@0] Linux version 3.10.33 (sasa@AMLogic-ProXBMC) (gcc version 4.7.4
[    0.000000@0] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000@0] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruce
[    0.000000@0] Machine: Amlogic Meson6 platform, model: AMLOGIC
[    0.000000@0] physical memory start address is 0×80000000
[    0.000000@0] reserved_end is 8dafffff
[    0.000000@0]  reserved 511M-512M 1M memory for firmware
[    0.000000@0] Total memory is 1024 MiB
[    0.000000@0] Reserved low memory from 0×85000000 to 0x8dafffff, size: 139 M
[    0.000000@0]        ion_dev0(low)           : 0×85100000 – 0×87100000 ( 32 )
[    0.000000@0]        mesonfb0(low)           : 0×87100000 – 0×88100000 ( 16 )
[    0.000000@0]        mesonfb1(low)           : 0×88100000 – 0×88200000 (  1 )
[    0.000000@0]        deinterlace0(low)       : 0×88200000 – 0x89e00000 ( 28 )
[    0.000000@0]        mesonstream0(low)       : 0x89e00000 – 0x8a800000 ( 10 )
[    0.000000@0]        vdec0(low)      : 0x8a800000 – 0x8c800000 ( 32 MiB)
[    0.000000@0]        ppmgr0(low)     : 0x8c800000 – 0x8db00000 ( 19 MiB)
[    0.000000@0] Ignore bootargs ‘mem’ param.
[    0.000000@0] Memory policy: ECC disabled, Data cache writealloc
[    0.000000@0] PERCPU: Embedded 8 pages/cpu @c1231000 s8704 r8192 d15872 u3278
[    0.000000@0] Built 1 zonelists in Zone order, mobility grouping on.  Total 0
[    0.000000@0] Kernel command line: root=/dev/mmcblk0p2 rw rootfstype=ext3 ro1
[    0.000000@0] osd0:0
[    0.000000@0] 1080i:7
[    0.000000@0] full:2
[    0.000000@0] kernel get hdmimode form uboot is 1080i
[    0.000000@0] kernel get cvbsmode form uboot is 576cvbs
[    0.000000@0] ******** uboot setup mac-addr: 0:15:18:1:81:31
[    0.000000@0] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000@0] Dentry cache hash table entries: 131072 (order: 7, 524288 byte)
[    0.000000@0] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000@0] Memory: 80MB 292MB 512MB = 884MB total
[    0.000000@0] Memory: 884060k/884060k available, 21156k reserved, 278528K him
[    0.000000@0] Virtual kernel memory layout:
[    0.000000@0]     vector  : 0xffff0000 – 0xffff1000   (   4 kB)
[    0.000000@0]     fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
[    0.000000@0]     vmalloc : 0xef800000 – 0xff000000   ( 248 MB)
[    0.000000@0]     lowmem  : 0xc0000000 – 0xef000000   ( 752 MB)
[    0.000000@0]     pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
[    0.000000@0]     modules : 0xbf000000 – 0xbfe00000   (  14 MB)
[    0.000000@0]       .text : 0xc0008000 – 0xc08ef880   (9119 kB)
[    0.000000@0]       .init : 0xc08f0000 – 0xc0923200   ( 205 kB)
[    0.000000@0]       .data : 0xc0924000 – 0xc098a100   ( 409 kB)
[    0.000000@0]        .bss : 0xc098a100 – 0xc0a23d8c   ( 616 kB)
[    0.000000@0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000@0] Preemptible hierarchical RCU implementation.
[    0.000000@0] NR_IRQS:256
[    0.000000@0] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps evers
[    0.000000@0] Global timer: MESON TIMER-A (c0941d00) initialized
[    0.000000@0] Disable timerA
[    0.000000@0] Console: colour dummy device 80×30
[    0.000000@0] console [ttyS0] enabled
[    0.315911@0] Calibrating delay loop… 2387.14 BogoMIPS (lpj=11935744)
[    0.370051@0] pid_max: default: 32768 minimum: 301
[    0.372187@0] Security Framework initialized
[    0.376309@0] SELinux:  Initializing.
[    0.380128@0] Mount-cache hash table entries: 512
[    0.388105@0] CPU: Testing write buffer coherency: ok
[    0.390229@0] CPU0: thread -1, cpu 0, socket 2, mpidr 80000200
[    0.395489@0] Local timer: MESON TIMER-B (c0941e00) for CPU0 initialized
[    0.402216@0] Disable timerA
[    0.405028@0] Disable timerB
[    0.407897@0] Disable timerA
[    0.410899@0] Setting up static identity map for 0xc065ff20 – 0xc065ff78
[    0.417615@0] L310 cache controller enabled
[    0.421605@0] l2x0: 8 ways, 2048 sets, CACHE_ID 0x4100a0c8,  Cache size: 524B
[    0.429138@0]       AUX_CTRL 0x3e460000, PERFETCH_CTRL 0×30000006, POWER_CTR0
[    0.437233@0]       TAG_LATENCY 0×00000222, DATA_LATENCY 0×00000222
[    0.495893@1] CPU1: Booted secondary processor
[    0.555520@1] CPU1: thread -1, cpu 1, socket 2, mpidr 80000201
[    0.555534@1] Local timer: MESON TIMER-D (c0942000) for CPU1 initialized
[    0.555590@0] Brought up 2 CPUs
[    0.555596@0] SMP: Total of 2 processors activated (4780.85 BogoMIPS).
[    0.555599@0] CPU: All CPU(s) started in SVC mode.
[    0.556181@0] devtmpfs: initialized
[    0.561064@0] clkrate [ xtal         ] : 24000000
[    0.561071@0] clkrate [ pll_sys      ] : 1200000000
[    0.561076@0] clkrate [ pll_fixed    ] : 2000000000
[    0.561080@0] clkrate [ pll_vid2     ] : 378000000
[    0.561084@0] clkrate [ pll_hpll     ] : 378000000
[    0.561152@0] clkrate [ pll_ddr      ] : 516000000
[    0.561155@0] clkrate [ a9_clk       ] : 1200000000
[    0.561223@0] clkrate [ clk81        ] : 200000000
[    0.562413@0] pinctrl core: initialized pinctrl subsystem
[    0.562957@0] regulator-dummy: no parameters
[    0.563300@0] NET: Registered protocol family 16
[    0.580970@0] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.588066@0] amlogic_gpio gpio: Probed amlogic GPIO driver
[    0.588504@0] register lm device lm-root
[    0.588643@0] register lm device lm1
[    0.588766@0] register lm device lm0
[    0.589122@0] Init pinux probe!
[    0.589903@0] pinmux-m6 pinmux: Probed amlogic pinctrl driver
[    0.590100@0] ——-early_init_dt_probe:38———-
[    0.590295@0] ——-early_init_dt_init:115———-
[    0.590299@0] tv_init_module
[    0.590310@0] major number 254 for disp
[    0.590312@0] vout_register_server
[    0.590315@0] register tv module server ok
[    0.590438@0] major number 0 for disp
[    0.590441@0] register tv module server ok
[    0.590622@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_init
[    0.590668@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.590678@0] plat->state_name:default
[    0.590693@0] master_no = 0, maseter_regs=f3100500
[    0.590943@0] aml-i2c i2c-AO: add adapter aml_i2c_adap0(ee97b4a8)
[    0.590948@0] aml-i2c i2c-AO: aml i2c bus driver.
[    0.591102@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.591109@0] plat->state_name:default
[    0.591121@0] master_no = 1, maseter_regs=f1108500
[    0.591305@0] aml-i2c i2c-A: add adapter aml_i2c_adap1(ee9bc0a8)
[    0.591310@0] aml-i2c i2c-A: aml i2c bus driver.
[    0.591431@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.591437@0] plat->state_name:default
[    0.591446@0] master_no = 2, maseter_regs=f11087c0
[    0.591630@0] aml-i2c i2c-B: add adapter aml_i2c_adap2(ee9bcca8)
[    0.591634@0] aml-i2c i2c-B: aml i2c bus driver.
[    0.592137@0] aml_pmu_init, 454
[    0.592250@0] call aml_dvfs_init in
[    0.592295@0] [DVFS]aml_dvfs_probe, child name:vcck_dvfs
[    0.592303@0] [DVFS]dvfs table of vcck_dvfs is:
[    0.592306@0] [DVFS]     freq,    min_uV,    max_uV
[    0.592310@0] [DVFS]   200000,   1010000,   1010000
[    0.592312@0] [DVFS]   600000,   1010000,   1010000
[    0.592314@0] [DVFS]   792000,   1010000,   1010000
[    0.592316@0] [DVFS]   816000,   1110000,   1110000
[    0.592319@0] [DVFS]   840000,   1110000,   1110000
[    0.592321@0] [DVFS]   984000,   1110000,   1110000
[    0.592323@0] [DVFS]  1000000,   1110000,   1110000
[    0.592325@0] [DVFS]  1080000,   1220000,   1220000
[    0.592327@0] [DVFS]  1200000,   1240000,   1240000
[    0.592330@0] [DVFS]  1320000,   1320000,   1320000
[    0.592332@0] [DVFS]  1500000,   1320000,   1320000
[    0.592553@0] hdmitx: system: amhdmitx_init
[    0.592556@0] hdmitx: system: Ver: 2014May6
[    0.592609@0] hdmitx: system: amhdmitx_probe
[    0.593035@0] amhdmitx is using the pin GPIOD_5
[    0.593455@0] hdmitx: system: hw init
[    0.593465@0] HDMI: get brd phy data
[    0.593466@0] hdmi phy setting
[    0.593515@0] HDMI: get brd phy data
[    0.593516@0] hdmi phy setting
[    0.594057@0] hdmitx: system: reset intr mask
[    0.605605@0] hdmitx: system: irq 1
[    0.658244@0] bio: create slab <bio-0> at 0
[    0.659407@0] SCSI subsystem initialized
[    0.660009@0] usbcore: registered new interface driver usbfs
[    0.660136@0] usbcore: registered new interface driver hub
[    0.660323@0] usbcore: registered new device driver usb
[    0.660648@0] Linux video capture interface: v2.00
[    0.661374@0] LCD driver init
[    0.661679@0] TV mode 1080i selected.
[    0.661683@0] [0x1b7e] = 0xff
[    0.661685@0] [0x105f] = 0×0
[    0.661687@0] [0x109d] = 0x814d3928
[    0.661689@0] [0x109e] = 0x6b425012
[    0.661691@0] [0x109f] = 0×110
[    0.661692@0] [0x109c] = 0x1043e
[    0.661694@0] [0x1066] = 0×10843
[    0.661696@0] [0x1059] = 0×100
[    0.661698@0] [0x105f] = 0×80000
[    0.661700@0] [0x105f] = 0×88001
[    0.661701@0] [0x105f] = 0×80003
[    0.661703@0] [0x104a] = 0×101
[    0.661705@0] [0x1bb8] = 0×52
[    0.661707@0] [0x1b62] = 0×2029
[    0.661708@0] [0x1b97] = 0x112f
[    0.661710@0] [0x1bae] = 0×464
[    0.661712@0] [0x1b98] = 0×58
[    0.661713@0] [0x1b99] = 0×108
[    0.661715@0] [0x1b9a] = 0×58
[    0.661717@0] [0x1ba4] = 0×204
[    0.661718@0] [0x1ba3] = 0×1103
[    0.661720@0] [0x1ba7] = 0×108
[    0.661722@0] [0x1ba8] = 0xb0
[    0.661724@0] [0x1b9f] = 0x8f0
[    0.661726@0] [0x1ba0] = 0x9a0
[    0.661727@0] [0x1b9b] = 0x1b8
[    0.661729@0] [0x1b9c] = 0×898
[    0.661730@0] [0x1b9d] = 0×0
[    0.661732@0] [0x1b9e] = 0×4
[    0.661733@0] [0x1ba1] = 0×0
[    0.661735@0] [0x1ba2] = 0×4
[    0.661737@0] [0x1ba6] = 0×14
[    0.661738@0] [0x1baf] = 0x22f
[    0.661740@0] [0x1ba9] = 0×58
[    0.661742@0] [0x1baa] = 0×58
[    0.661743@0] [0x1bab] = 0×0
[    0.661745@0] [0x1bac] = 0×5
[    0.661746@0] [0x1b94] = 0×204
[    0.661748@0] [0x1b95] = 0×1103
[    0.661749@0] [0x1b68] = 0×100
[    0.661751@0] [0x1bba] = 0×11
[    0.661753@0] [0x1b8d] = 0x5ffc
[    0.661754@0] [0x1b8e] = 0×19
[    0.661756@0] [0x1b81] = 0×207
[    0.661757@0] [0x1b60] = 0×0
[    0.661759@0] [0x1b6e] = 0×200
[    0.661761@0] [0x1b58] = 0×0
[    0.661762@0] [0x1bfc] = 0×1000
[    0.661764@0] [0x1b7e] = 0×0
[    0.661766@0] [0x1c0d] = 0×3102
[    0.661767@0] [0x1c0e] = 0×54
[    0.661768@0] [0x1b78] = 0×1
[    0.661770@0] [0x1b79] = 0×1
[    0.661771@0] [0x1b7a] = 0×1
[    0.661773@0] [0x1b7b] = 0×1
[    0.661774@0] [0x1b7c] = 0×1
[    0.661775@0] [0x1b7d] = 0×1
[    0.661777@0] [0x1b57] = 0×0
[    0.661778@0] [0x1b80] = 0×1
[    0.661781@0] tvoutc_setmode[397]
[    0.661783@0] mode is: 7
[    0.661786@0] config HPLL
[    0.661788@0] config HPLL done
[    0.718486@0] call aml_pmu_probe_init in
[    0.718781@0] get property:                  use_pwm, value:0×00000001, dec:1
[    0.718789@0] get property:              table_count, value:0×00000010, dec:6
[    0.718796@0] meson_cs_dvfs_probe, table count:16, use_pwm:1, pwm controller2
[    0.718799@0]  0, 00130009, 1010000
[    0.718801@0]  1, 0012000a, 1050000
[    0.718803@0]  2, 0011000b, 1070000
[    0.718806@0]  3, 0010000c, 1090000
[    0.718808@0]  4, 000f000d, 1110000
[    0.718810@0]  5, 000e000e, 1130000
[    0.718812@0]  6, 000d000f, 1150000
[    0.718814@0]  7, 000c0010, 1170000
[    0.718815@0]  8, 000b0011, 1190000
[    0.718817@0]  9, 000a0012, 1210000
[    0.718820@0] 10, 00090013, 1220000
[    0.718822@0] 11, 00080014, 1240000
[    0.718824@0] 12, 00070015, 1270000
[    0.718826@0] 13, 00060016, 1280000
[    0.718828@0] 14, 00050017, 1300000
[    0.718830@0] 15, 00040018, 1320000
[    0.718905@0] get pin for pwm——–
[    0.718913@0] [DVFS]aml_dvfs_register_driver, driver meson-cs-dvfs regist su1
[    0.719363@0] Advanced Linux Sound Architecture Driver Initialized.
[    0.720196@0] Bluetooth: Core ver 2.16
[    0.720359@0] NET: Registered protocol family 31
[    0.720363@0] Bluetooth: HCI device and connection manager initialized
[    0.720375@0] Bluetooth: HCI socket layer initialized
[    0.720381@0] Bluetooth: L2CAP socket layer initialized
[    0.720404@0] Bluetooth: SCO socket layer initialized
[    0.720958@0] cfg80211: Calling CRDA to update world regulatory domain
[    0.722251@0] Switching to clocksource Timer-E
[    1.262534@1] Disable timerD
[    1.265870@0] hdmitx: edid: edid ready
[    1.278832@1] NET: Registered protocol family 2
[    1.279416@1] TCP established hash table entries: 8192 (order: 4, 65536 byte)
[    1.285007@1] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    1.291653@1] TCP: Hash tables configured (established 8192 bind 8192)
[    1.298197@1] TCP: reno registered
[    1.301433@1] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.307606@1] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.314264@1] NET: Registered protocol family 1
[    1.319339@1] Unpacking initramfs…
[    1.465689@1] Freeing initrd memory: 2704K (c4008000 – c42ac000)
[    1.467796@1] audit: initializing netlink socket (disabled)
[    1.471657@1] type=2000 audit(1.410:1): initialized
[    1.477043@1] bounce pool size: 64 pages
[    1.485847@0] hdmitx: edid: edid ready
[    1.485885@0] hdmitx: edid: 202 errors between two reading
[    1.487333@1] VFS: Disk quotas dquot_6.5.2
[    1.487611@1] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.490489@1] fuse init (API version 7.22)
[    1.491362@1] msgmni has been set to 1187
[    1.493102@1] Block layer SCSI generic (bsg) driver version 0.4 loaded (majo)
[    1.493108@1] io scheduler noop registered
[    1.493112@1] io scheduler deadline registered
[    1.493337@1] io scheduler cfq registered (default)
[    1.529436@0] hdmitx: edid: check sum valid
[    1.533556@0] hdmitx: edid: check sum valid
[    1.537725@0] hdmitx: edid: blk0 raw data
[    1.541663@0] 00ffffffffffff0034a996a20101010100170103808048780adaffa3584aa29
[    1.548865@0] 17494b21080031404540614081800101010101010101023a80d072382d4010c
[    1.556069@0] 4580ba882100001e023a801871382d40582c4500ba882100001e000000fc000
[    1.563273@0] 616e61736f6e69632d54560a000000fd00173d0f440f000a20202020202001b
[    1.570480@0]
[    1.572130@0] hdmitx: edid: blk1 raw data
[    1.576217@0] 020322f24d9f9014052021221304120316072309070168030c002000b8260f2
[    1.583325@0] 004b011d80d0721c1620102c2580ba882100009e011d8018711c1620582c250
[    1.590529@0] ba8821[    1.592472@1] [drm] Initialized drm 1.1.0 20060810
[    1.596971@1] loop: module loaded
[    1.598228@1] tun: Universal TUN/TAP device driver, 1.6
[    1.598231@1] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[    1.598522@1] PPP generic driver version 2.4.2
[    1.598871@1] PPP BSD Compression module registered
[    1.598874@1] PPP Deflate Compression module registered
[    1.598893@1] PPP MPPE Compression module registered
[    1.598899@1] NET: Registered protocol family 24
[    1.599088@1] usbcore: registered new interface driver asix
[    1.599288@1] usbcore: registered new interface driver ax88179_178a
[    1.599415@1] usbcore: registered new interface driver cdc_ether
[    1.599544@1] usbcore: registered new interface driver net1080
[    1.599669@1] usbcore: registered new interface driver cdc_subset
[    1.599804@1] usbcore: registered new interface driver zaurus
[    1.599968@1] usbcore: registered new interface driver cdc_ncm
[    1.600646@1] usbcore: registered new interface driver cdc_acm
[    1.600649@1] cdc_acm: USB Abstract Control Model driver for USB modems and s
[    1.600792@1] usbcore: registered new interface driver usb-storage
[    1.601098@1] usbcore: registered new interface driver usbserial
[    1.601230@1] usbcore: registered new interface driver option
[    1.601366@1] usbserial: USB Serial support registered for GSM modem (1-port)
[    1.601882@1] mousedev: PS/2 mouse device common for all mice
[    1.602527@1] i2c /dev entries driver
[    1.603440@1] usbcore: registered new interface driver uvcvideo
[    1.603442@1] USB Video Class driver (1.1.1)
[    1.603450@1] Bluetooth: HCI UART driver ver 2.2
[    1.603455@1] Bluetooth: HCI H4 protocol initialized
[    1.604567@1] usbcore: registered new interface driver usbhid
[    1.604569@1] usbhid: USB HID core driver
[    1.605188@1] zram: Created 1 device(s) …
[    1.605923@1] ashmem: initialized
[    1.606204@1] logger: created 256K log ‘log_main’
[    1.606435@1] logger: created 256K log ‘log_events’
[    1.606650@1] logger: created 256K log ‘log_radio’
[    1.606875@1] logger: created 256K log ‘log_system’
[    1.607199@1] vout_init_module
[    1.607275@1] start init vout module
[    1.607417@1] create  vout attribute ok
[    1.608142@1] ge2d_init
[    1.608152@1] ge2d_dev major:248
[    1.608552@1] ge2d start monitor
[    1.608631@1] osd_init
[    1.608683@1] osd_probe, vinfo:c06a3b78
[    1.608827@1] Frame buffer memory assigned at phy:0×87100000, vir:0xfb000000K
[    1.608830@1] osd_probe, mydef_var:c09613f0, vinfo:c06a3b78
[    1.608833@1] don’t find to display_size_default from mesonfb-dts
[    1.608835@1] init fbdev bpp is :24
[    1.609030@1] ge2d workqueue monitor start
00[    1.835408@1] Frame buffer memory assigned at phy:0×88100000, vir:0xefe000K
[    1.835412@1] osd_probe, mydef_var:c09613f0, vinfo:c06a3b78
[    1.835414@1] —————clear framebuffer1 memory
009e011d00bc52d01e20b8285540ba882100001e662156aa51001e30
[    1.859523@1] 468f3300ba88[    1.861916@1] osd probe ok
[    1.862261@1] osd_ext_init
[    1.862866@1] vout2_init_module enter
[    1.863939@1] amlvideo-000: V4L2 device registered as video10
[    1.864358@1] ionvideo-000: V4L2 device registered as video13
[    1.864362@1] Video Technology Magazine Ion Video Capture Board ver 1.0 succ.
[    1.865126@1] keys===========================================
[    1.865131@1] keys_devno=f400000
[    1.865478@1] securitykey: device aml_keys created
[    1.865574@1] amlkeys=0
[    1.865750@1] platform_driver_register–aml_keys_driver——————–
[    1.866230@1] set uart_ao pinmux use pinctrl subsystem
[    1.866233@1] P_AO_RTI_PIN_MUX_REG:5861
[    1.866257@1] start uart_ao_ttyS0:(irq = 122)
[    1.866259@1] register uart_ao ok
[    1.866611@1] start uart_a_ttyS1:(irq = 58)
[    1.866613@1] register uart_a ok
[    1.866936@1] start uart_d_ttyS4:(irq = 126)
[    1.866939@1] register uart_d ok
[    1.867126@1] dwc_otg: version 3.10a 12-MAY-2014
[    1.867173@1] dwc_otg_driver_probe NOT match
[    1.867212@1] usb1: type: 1, speed: 0, config: 0, dma: 0, id: 1, phy: f110840
2100001e000000000000000000000000000000000000000000ab
[    1.967848@0]
[    1.969560@0] hdmitx: edid: find IEEEOUT
[    1.973444@0] hdmitx: video: get current mode: 1080i
[    1.978432@0] hdmitx: system: already init VIC = 0  Now VIC = 5
[    1.984268@0] set mode VIC 5 (cd0,cs0,pm1,vd0,1)
[    1.988955@0] hdmitx: system: hw reset
[    1.992681@0] HDMI: get brd phy data
[    1.996248@0] hdmi phy setting
[    2.000316@0] hdmitx: audio: SPDIFHDMI: get brd phy data
[    2.004564@0] hdmi phy setting
[    2.007662@0] hdmitx: system: set pll
[    2.011249@0] hdmitx: system: param->VIC:5
[    2.015335@0] mode is: 7
[    2.017857@0] config HPLL
[    2.020449@0] config HPLL done
[    2.044513@0] hdmitx: system: fixed HDMI mode output
[    2.044539@0] Sink is HDMI device
[    2.047149@0] No sink attached
[    2.050205@0] hdmitx: audio: audio channel num is 0
[    2.055030@0] hdmitx: audio: SPDIFhdmitx: audio: current VIC: 5
[    2.060934@0] hdmitx: audio: audio sample rate: 0
[    2.065639@0] hdmitx: audio: reset audio N para
[    2.070139@0] hdmitx: audio: PCM out to HDMI
[    2.083657@0] hdmitx: audio: Time out: AIU_HDMI_CLK_DATA_CTRL
[    2.083753@0] hdmitx: audio: i2s_to_spdif_flag:1
[    2.088459@0] hdmitx: audio: Enable audio spdif to HDMI
[    2.093690@0] hdmitx: cec: CEC not ready
[    2.367839@1] USB (1) use clock source: XTAL input
[    2.568941@1] Core Release: 2.94a
[    2.568973@1] Setting default values for core params
[    2.571574@1] curmode: 0, host_only: 1
[    2.575327@1] ERROR::dwc_otg_set_param_host_perio_tx_fifo_size:5919: 500 inv.
[    2.575327@1]
[    2.588974@1] dwc_otg: probe of lm1 failed with error -22
[    2.594362@1] usb0: type: 0, speed: 0, config: 0, dma: 0, id: 0, phy: f110840
[    2.802982@1] Core Release: 2.94a
[    2.803006@1] Setting default values for core params
[    2.805634@1] curmode: 0, host_only: 0
[    2.809357@1] ERROR::dwc_otg_set_param_host_perio_tx_fifo_size:5919: 500 inv.
[    2.809357@1]
[    2.822995@1] dwc_otg: probe of lm0 failed with error -22
[    2.828635@1] boot_device_flag : 0
[    2.831727@1] ===========================================amlnf_init:632,nandd
[    2.841281@1] Nand PHY driver Version: 1.01.001.0005 (c) 2013 Amlogic Inc.
[    2.848159@1] amlnf_phy_init : amlnf init flag 0
[    2.852858@1] ######STS IRQ mode for nand driver
[    2.857436@1] NAND device id: 2c 44 44 4b a9 0 0 0
[    2.862111@1] detect NAND device: D revision NAND 4GiB MT29F32G08CBADA
[    2.913569@1] onfi timing mode set failed: 0
[    2.913724@1] bus_cycle=5, bus_timing=7,system=0.0ns,flash->T_REA =20,flash-5
[    2.920121@1] detect RB pin here and por_cfg:3dd
[    2.924688@1] detect without RB pin here
[    2.928617@1] force none rb mode for rb irq
[    2.932764@1] boot_device_flag = 0
[    2.952258@1] NAND CKECK  : arg nbbt: arg_valid= 0, valid_blk_addr = 0, vali0
[    2.954965@1] found NO arg : nbbt info
[    2.958726@1] nand scan bbt failed
[    2.962091@1] get device configs failed and ret:fffffff0
[    2.967402@1] nandphy_init failed and ret=0xfffffff0
[    2.972628@1] ethernet_driver probe!
[    2.975929@1] Please config phy  interface.
[    2.980050@1] Please config savepowermode.
[    2.984129@1] Please config reset_pin_enable.
[    2.988495@1] Please config reset_delay.
[    2.992376@1] Please config reset_pin.
[    2.996138@1] ethernetinit(dbg[c0964c80]=1)
[    3.000310@1] ethernet base addr is f3610000
[    3.004528@1] write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    3.016374@1] libphy: AMLMAC MII Bus: probed
[    3.016410@1] eth0: PHY ID 0007c0f1 at 1 IRQ -1 (0:01) active
[    3.022910@1] Amlogic A/V streaming port init
[    3.027629@1] init vdec memsource -1971322880->-1937768449
[    3.030801@1] [tsync_pcr_init]init success.
[    3.034820@1] amvideocap_init_module
[    3.038727@1] regist mpeg12 codec profile
[    3.042487@1] regist mpeg4 codec profile
[    3.046320@1] amvdec_vc1 module init
[    3.049971@1] regist vc1 codec profile
[    3.053570@1] amvdec_h264 module init
[    3.057417@1] regist h264 codec profile
[    3.061154@1] regist mjpeg codec profile
[    3.064940@1] amvdec_real module init
[    3.068756@1] regist real codec profile
[    3.073874@1] efuse===========================================
[    3.078602@1] efuse: device efuse created
[    3.082354@1] efuse——————————————–
[    3.088164@1] SARADC Driver init.
[    3.091621@1] __saradc_probe__
[    3.235634@1] saradc calibration: ref_val = 515
[    3.235659@1] saradc calibration: ref_nominal = 512
[    3.239382@1] saradc calibration: coef = 4169
[    3.243869@1] Remote Driver
[    3.246610@1] Remote platform_data g_remote_base=f3100480
[    3.252223@1] input: aml_keypad as /devices/platform/meson-remote/input/inpu0
[    3.259618@1] Remote date_valye======0,status == 8915d00
[    3.264407@1] remote config major:241
[    3.268462@1] physical address:0xaea1c000
[    3.272234@1] ADC Keypad Driver init.
[    3.275876@1] ==kp_probe==
[    3.278461@1] chan #4 used for ADC key
[    3.282175@1] menu key(139) registed.
[    3.285861@1] vol- key(114) registed.
[    3.289466@1] vol+ key(115) registed.
[    3.293111@1] back key(158) registed.
[    3.296786@1] home key(102) registed.
[    3.300403@1] ok key(232) registed.
[    3.304071@1] input: adc_keypad as /devices/platform/adc_keypad.3/input/inpu1
[    3.311327@1] adc keypad register input device completed.
[    3.316605@1] adc keypad major:240
[    3.320378@1] Meson KeyInput init
[    3.323422@1] Key 116 registed.
[    3.326680@1] input: key_input as /devices/platform/key_input.4/input/input2
[    3.333679@1] Meson KeyInput register RTC interrupt
[    3.338222@1] Meson KeyInput major=238
[    3.342432@1] ==touch_ts_init==
[    3.345361@1] ==ft5x0x_ts_init==
[    3.348574@1] ==goodix_ts_init==
[    3.351707@1] ==gsl_ts_init==
[    3.354653@1] i2c-core: driver [gslx680] using legacy suspend method
[    3.360940@1] i2c-core: driver [gslx680] using legacy resume method
[    3.367186@1] VTL ct36x TouchScreen driver, <[email protected]>.
[    3.373671@1] i2c-core: driver [ct36x] using legacy suspend method
[    3.379888@1] i2c-core: driver [ct36x] using legacy resume method
[    3.385846@1] VTL ct36x TouchScreen driver End.
[    3.390327@1] ==gsl_ts_init==
[    3.393374@1] ret=0
[    3.395831@1] i2c-core: driver [lis3dh_acc] using legacy suspend method
[    3.401959@1] i2c-core: driver [lis3dh_acc] using legacy resume method
[    3.408702@1] i2c-core: driver [bma222] using legacy suspend method
[    3.414718@1] i2c-core: driver [bma222] using legacy resume method
[    3.421092@1] i2c-core: driver [dmard06] using legacy suspend method
[    3.427384@1] i2c-core: driver [dmard06] using legacy resume method
[    3.433570@1] lsm303d driver: init
[    3.437062@1] i2c-core: driver [dmard10] using legacy suspend method
[    3.443189@1] i2c-core: driver [dmard10] using legacy resume method
[    3.449568@1] stk831x_init
[    3.452227@1] mxc622x accelerometer driver: init
[    3.456853@1] i2c-core: driver [mxc622x] using legacy suspend method
[    3.463066@1] i2c-core: driver [mxc622x] using legacy resume method
[    3.469608@1] cm3217 v.1.0.0.1
[    3.472437@1] i2c-core: driver [elan_epl6814] using legacy suspend method
[    3.479274@1] i2c-core: driver [elan_epl6814] using legacy resume method
[    3.485930@1] i2c-core: driver [LTR501] using legacy suspend method
[    3.492057@1] i2c-core: driver [LTR501] using legacy resume method
[    3.498528@1] spi_nor_init
[    3.501086@1] amlogic_spi_nor_probe:
[    3.504475@1] amlogic_spi->state_name:default
[    3.509063@1] AMLOGIC_SPI_NOR cc000000.spi: master is unqueued, this is deprd
[    3.516546@1] spi_nor_probe
[    3.519141@1] check_storage_device : spi boot_device_flag : 0
[    3.524912@1] spi_nor apollospi:32766: mx25l3205d (4096 Kbytes)
[    3.533601@1] Creating 2 MTD partitions on “apollospi:32766″:
[    3.536586@1] 0×000000000000-0×000000060000 : “bootloader”
[    3.543107@1] 0×000000080000-0×000000088000 : “ubootenv”
[    3.548256@1] amlogic_spi_nor_probe over
[    3.551403@1] mmc driver version: 1.05, 2014-05-14: sdhc regular tuning suppt
[    3.559339@1] host->base f1108c20
[    3.561790@1] pdata->caps 7
[    3.564537@1] pdata->caps2 0
[    3.567460@1] get property:                     port, value:0×00000001
[    3.573911@1] get property:                ocr_avail, value:0×00200000
[    3.580577@1] get property:                    f_min, value:0x000493e0
[    3.586960@1] get property:                    f_max, value:0x02faf080
[    3.593441@1] get property:                  f_max_w, value:0x02faf080
[    3.599977@1] get property:             max_req_size, value:0×00020000
[    3.606490@1] get property:                   irq_in, value:0×00000005
[    3.612971@1] get property:                  irq_out, value:0×00000006
[    3.619507@1] get property:              power_level, value:0×00000000
[    3.626137@1] get property:                  gpio_cd, str:CARD_6
[    3.631982@1] get property:               gpio_power, str:CARD_8
[    3.637998@1] get property:                  pinname, str:sd
[    3.643612@1] get property:                card_type, value:0×00000005
[    3.650162@1] get property:                gpio_dat3, str:CARD_3
[    3.656161@1] normal card in
[    3.695542@1] sd: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    4.224117@0] sd: new high speed SDHC card at address 59b4, clock 50000000, h
[    4.225524@1] [aml_sdio_probe] aml_sdio_probe() success!
[    4.232344@1] [dsp]DSP start addr 0xc5000000
[    4.236471@0] mmcblk0: sd:59b4 SD    14.7 GiB
[    4.236497@1] [dsp]register dsp to char divece(232)
[    4.247178@0]  mmcblk0: p1 p2
[    4.265537@1] aml_rtc_init…
[    4.266541@1] aml_rtc rtc.0: rtc core: registered aml_rtc as rtc0
[    4.270061@1] [AXP]call axp_battery_init, ret = 0
[    4.274506@1] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.281773@1] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.289311@1] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.297169@1] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.304872@1] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.312842@1] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.320901@1] [AML_PMU]call aml_pmu_battery_init, ret = 0
[    4.326338@1] [RN5T618]call rn5t618_battery_init, ret = 0
[    4.332486@1] wifi_power power_gpio is 24
[    4.335434@1] Error: Didn’t get power valid value — wifi_power_probe 320
[    4.342381@1] wifi_dev_probe : there is no wifi_power_on_pin2 setup in DTS f!
[    4.350145@1] amlogic rfkill init
[    4.354380@1] UMP: UMP device driver  loaded
[    4.358229@1] usbcore: registered new interface driver snd-usb-audio
[    4.365376@1] enter dummy_codec_audio_probe
[    4.368106@1] soc-audio soc-audio: ASoC: machine AML-DUMMY-CODEC should use )
[    4.377233@1] rtd ed875810
[    4.379527@1] cpu_dai eeae7600
[    4.382651@1] codec_dai eeae7500
[    4.386556@1] aml-pcm 0:playback preallocate_dma_buffer: area=efd72000, addr2
[    4.396353@1] iec958 0: preallocate dma buffer start=eff01000, size=80000
[    4.402398@1] aml-pcm 1:capture preallocate_dma_buffer: area=efd94000, addr=6
[    4.410578@1] soc-audio soc-audio:  dummy_codec <-> aml-dai0 mapping ok
[    4.418124@1] =dummy_codec_device_init==,dummy_codec_audio init done
[    4.423613@1] GACT probability NOT on
[    4.427248@1] Mirror/redirect action on
[    4.430827@1] u32 classifier
[    4.433689@1]     Actions configured
[    4.437286@1] Netfilter messages via NETLINK v0.30.
[    4.442169@1] nf_conntrack version 0.5.0 (13855 buckets, 55420 max)
[    4.449041@1] ctnetlink v0.93: registering with nfnetlink.
[    4.453898@1] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    4.461070@1] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    4.467559@1] xt_time: kernel timezone is -0000
[    4.471727@1] ip_tables: (C) 2000-2006 Netfilter Core Team
[    4.477218@1] arp_tables: (C) 2002 David S. Miller
[    4.481725@1] TCP: cubic registered
[    4.486013@1] NET: Registered protocol family 10
[    4.490451@1] mip6: Mobile IPv6
[    4.492912@1] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    4.498678@1] sit: IPv6 over IPv4 tunneling driver
[    4.504621@1] NET: Registered protocol family 17
[    4.507958@1] NET: Registered protocol family 15
[    4.512498@1] Bridge firewalling registered
[    4.516848@1] Bluetooth: RFCOMM TTY layer initialized
[    4.521646@1] Bluetooth: RFCOMM socket layer initialized
[    4.527078@1] Bluetooth: RFCOMM ver 1.11
[    4.530822@1] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.536318@1] Bluetooth: BNEP filters: protocol multicast
[    4.541678@1] Bluetooth: BNEP socket layer initialized
[    4.546827@1] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    4.552873@1] Bluetooth: HIDP socket layer initialized
[    4.558037@1] NET: Registered protocol family 35
[    4.563043@1] VFP support v0.3: implementor 41 architecture 3 part 30 varian4
[    4.570420@1] Registering SWP/SWPB emulation handler
[    4.575349@1] enter meson_pm_init
[    4.579010@1] enter meson_pm_probe!
[    4.582121@1] meson_pm_probe done !
[    4.586731@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.593381@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.601148@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.608826@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.616741@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.624606@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.632999@1] ERROR::usb_gadget_probe_driver:1372: usb_gadget_register_driveV
[    4.632999@1]
[    4.642071@1] init: failed to probe driver -19
[    4.646940@1] aml_rtc rtc.0: setting system clock to 2014-08-24 04:39:59 UTC)
[    4.654634@1] ### dt-test ### No testcase data in device tree; not running ts
[    4.662176@1] meson_cpufreq: no voltage_control prop
[    4.666965@1] voltage_control = 0
[    4.670500@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.677986@1] <<-GTP-INFO->> GTP driver installing…
[    4.678058@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.678104@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.678148@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.678188@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.678228@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.722627@1] hdmitx: cec: CEC init
[    4.725989@0] hdmitx: cec: CEC task process
[    4.730033@1] input: cec_input as /devices/virtual/input/input3
[    4.736140@1] hdmitx: cec: hdmitx_device->cec_init_ready:0×1
[    4.741355@1] I[    4.765537@0] Changing uart_ao_ttyS0: baud from 0 to 115200
[    4.785661@0] Freeing unused kernel memory: 204K (c08f0000 – c0923000)
[    5.042140@1] aml_nftl_dev: module license ‘Proprietary’ taints kernel.
[    5.043123@1] Disabling lock debugging due to kernel taint
[    5.049584@1] boot_device_flag : 0
[    5.051975@1] register_ntd_blktrans start
[    5.056024@1] init_aml_nftl end
[    5.077954@0] kjournald starting.  Commit interval 5 seconds
[    5.083983@1] EXT3-fs (mmcblk0p2): using internal journal
[    5.084023@1] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    5.295586@0] ————[ cut here ]————
[    5.295644@0] WARNING: at kernel/smp.c:382 smp_call_function_many+0×84/0x2c4)
[    5.301950@0] Modules linked in: aml_nftl_dev(P)
[    5.306556@0] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: P             3.10.331
[    5.313851@0] Workqueue: events cs_dbs_timer
[    5.318126@0] [<c0014c3c>] (unwind_backtrace+0×0/0xf8) from [<c0011d14>] (sh)
[    5.326791@0] [<c0011d14>] (show_stack+0×10/0×14) from [<c002a2dc>] (warn_sl)
[    5.335899@0] [<c002a2dc>] (warn_slowpath_common+0x4c/0x6c) from [<c002a318>)
[    5.345705@0] [<c002a318>] (warn_slowpath_null+0x1c/0×24) from [<c0070c88>] )
[    5.355774@0] [<c0070c88>] (smp_call_function_many+0×84/0x2c4) from [<c00710)
[    5.365754@0] [<c0071054>] (smp_call_function+0×34/0×64) from [<c001b69c>] ()
[    5.375041@0] [<c001b69c>] (clk_set_rate_a9+0x9c/0xec) from [<c001baa4>] (me)
[    5.384503@0] [<c001baa4>] (meson_clk_set_rate+0xa0/0×184) from [<c001bc2c>])
[    5.393711@0] [<c001bc2c>] (clk_set_rate+0xa4/0xc0) from [<c03d01d0>] (meson)
[    5.404296@0] [<c03d01d0>] (meson_cpufreq_target_locked.isra.0+0xe0/0x1c8) f)
[    5.415584@0] [<c03d02dc>] (meson_cpufreq_target+0×24/0x3c) from [<c03347f0>)
[    5.425828@0] [<c03347f0>] (__cpufreq_driver_target+0×50/0×74) from [<c033b8)
[    5.435629@0] [<c033b854>] (dbs_check_cpu+0×254/0×268) from [<c0338634>] (cs)
[    5.444486@0] [<c0338634>] (cs_dbs_timer+0×98/0xc8) from [<c0040830>] (proce)
[    5.453596@0] [<c0040830>] (process_one_work+0x20c/0×340) from [<c0040e54>] )
[    5.462973@0] [<c0040e54>] (worker_thread+0x22c/0x37c) from [<c00470a8>] (kt)
[    5.471392@0] [<c00470a8>] (kthread+0xa0/0xac) from [<c000e258>] (ret_from_f)
[    5.479632@0] —[ end trace 529d33b6db914909 ]—
[    5.484405@0] ————[ cut here ]————
[    5.489182@0] WARNING: at kernel/smp.c:244 smp_call_function_single+0×98/0×1)
[    5.496555@0] Modules linked in: aml_nftl_dev(P)
[    5.501159@0] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: P        W    3.10.331
[    5.508450@0] Workqueue: events cs_dbs_timer
[    5.512709@0] [<c0014c3c>] (unwind_backtrace+0×0/0xf8) from [<c0011d14>] (sh)
[    5.521389@0] [<c0011d14>] (show_stack+0×10/0×14) from [<c002a2dc>] (warn_sl)
[    5.530501@0] [<c002a2dc>] (warn_slowpath_common+0x4c/0x6c) from [<c002a318>)
[    5.540309@0] [<c002a318>] (warn_slowpath_null+0x1c/0×24) from [<c0070adc>] )
[    5.550552@0] [<c0070adc>] (smp_call_function_single+0×98/0x1c0) from [<c007)
[    5.560706@0] [<c0071054>] (smp_call_function+0×34/0×64) from [<c001b69c>] ()
[    5.569993@0] [<c001b69c>] (clk_set_rate_a9+0x9c/0xec) from [<c001baa4>] (me)
[    5.579454@0] [<c001baa4>] (meson_clk_set_rate+0xa0/0×184) from [<c001bc2c>])
[    5.588659@0] [<c001bc2c>] (clk_set_rate+0xa4/0xc0) from [<c03d01d0>] (meson)
[    5.599247@0] [<c03d01d0>] (meson_cpufreq_target_locked.isra.0+0xe0/0x1c8) f)
[    5.610531@0] [<c03d02dc>] (meson_cpufreq_target+0×24/0x3c) from [<c03347f0>)
[    5.620775@0] [<c03347f0>] (__cpufreq_driver_target+0×50/0×74) from [<c033b8)
[    5.630580@0] [<c033b854>] (dbs_check_cpu+0×254/0×268) from [<c0338634>] (cs)
[    5.639434@0] [<c0338634>] (cs_dbs_timer+0×98/0xc8) from [<c0040830>] (proce)
[    5.648547@0] [<c0040830>] (process_one_work+0x20c/0×340) from [<c0040e54>] )
[    5.657923@0] [<c0040e54>] (worker_thread+0x22c/0x37c) from [<c00470a8>] (kt)
[    5.666343@0] [<c00470a8>] (kthread+0xa0/0xac) from [<c000e258>] (ret_from_f)
[    5.674583@0] —[ end trace 529d33b6db91490a ]—
[    5.730322@1] mail version=-1
[    5.730386@1] Mali pp1 MMU register mapped at f8064000…
[    5.733043@1] Mali pp2 MMU register mapped at f8065000…
[    5.788499@1] mali_meson_poweron: Interrupt received.
[    5.838622@1] mail version=1
[    5.888872@1] mali_meson_poweron: Interrupt received.
[    5.938973@1] mail version=1
[    5.940077@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    5.940184@1] Mali: Mali device driver loaded
[    5.948578@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    5.956336@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    5.963968@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    5.971858@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    5.979756@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    5.990994@1] Mali DRM initialize, driver name: mali_drm, version 2.1
[    5.994412@1] [drm] Initialized mali_drm 2.1.1 20140306 on minor 0
[    6.000306@1] Mali DRM initialize, driver name: mali_drm, version 2.1
[    6.000381@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    6.000448@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    6.000493@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    6.000538@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    6.000582@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    6.000626@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    6.054159@1] [drm] Initialized mali_drm 2.1.1 20140306 on minor 1
[    6.059947@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    6.067815@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    6.075606@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    6.083202@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    6.091224@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    6.098976@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
Starting logging: OK
Populating /dev using udev: [    6.238118@1] udevd[1696]: starting version 1.5.3
done
Initializing random number generator… done.
Starting system message bus: done
Starting network…
ip: RTNETLINK answers: File exists
[    6.726537@0] netdev_open
[    6.726592@0] Ethernet reset
[    6.726621@0] NET MDA descpter start addr=edbb9000
[    6.731963@0] phy_interface = 1
[    6.734294@0] aml_phy_init:  trying to attach to 0:01
[    6.739950@0] –1–write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.746450@0] –2–write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.752694@0] write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.758948@0] Current DMA mode=0, set mode=621c100
[    6.763829@0] ether leave promiscuous mode
[    6.767861@0] ether leave all muticast mode
[    6.771964@0] changed the Multicast,mcount=1
[    6.776244@0] add mac address:33:33:00:00:00:01,bit=1
[    6.781283@0] set hash low=2,high=0
[    6.784722@0] changed the filter setting to :4
[    6.789431@0] changed the Multicast,mcount=1
[    6.793407@0] add mac address:33:33:00:00:00:01,bit=1
[    6.798594@0] changed the Multicast,mcount=2
[    6.802694@0] add mac address:33:33:00:00:00:01,bit=1
[    6.807768@0] add mac address:01:00:5e:00:00:01,bit=32
[    6.812845@0] set hash low=2,high=1
[    6.816373@0] changed the filter setting to :4
[    6.821863@0] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.22.1) started
[    6.853618@1] changed the Multicast,mcount=2
[    6.853695@1] add mac address:33:33:00:00:00:01,bit=1
[    6.857374@1] add mac address:01:00:5e:00:00:01,bit=32
[    6.866272@1] changed the Multicast,mcount=2
[    6.866677@1] add mac address:33:33:00:00:00:01,bit=1
[    6.871706@1] add mac address:01:00:5e:00:00:01,bit=32
Sending discover…
[    7.070470@0] ionvideo open
[    7.070746@0] ionvideo release
[    7.073894@0] amlvideo openamlvideo close[    9.815955@0] libphy: 0:01 – Linl
[    9.816400@0] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    9.822167@0] changed the Multicast,mcount=3
[    9.826137@0] add mac address:33:33:00:00:00:01,bit=1
[    9.831096@0] add mac address:01:00:5e:00:00:01,bit=32
[    9.836232@0] add mac address:33:33:ff:01:81:31,bit=0
[    9.841087@0] set hash low=3,high=1
[    9.844554@0] changed the filter setting to :4
Sending discover…
Sending select for 192.168.0.102…
Lease of 192.168.0.102 obtained, lease time 7200
[   11.203898@0] changed the Multicast,mcount=3
[   11.204220@0] add mac address:33:33:00:00:00:01,bit=1
[   11.208036@0] add mac address:01:00:5e:00:00:01,bit=32
[   11.212840@0] add mac address:33:33:ff:01:81:31,bit=0
deleting routers
adding dns 192.168.0.1
Starting inetd: OK
Starting supplicant…
[   11.611426@0] rtl8192cu driver version=v4.0.2_9000.20130911
[   11.611748@0] build time: Aug  3 2014 01:33:35
[   11.620702@0] usbcore: registered new interface driver rtl8192cu
[   11.639456@1] Set usb wifi power up!
Getting initial time via ntp.
Starting network time protocol daemon: ntpd.
[   32.174196@1] tvmode set to 720p
[   32.174196@1]
[   32.174488@1] TV mode 720p selected.
[   32.179220@1] [0x1b7e] = 0xff
[   32.180139@1] [0x105f] = 0×0
[   32.182999@1] [0x109d] = 0x814d3928
[   32.187992@1] [0x109e] = 0x6b425012
[   32.189948@1] [0x109f] = 0×110
[   32.192981@1] [0x109c] = 0x1043e
[   32.197340@1] [0x1066] = 0×10843
[   32.199410@1] [0x1059] = 0×100
[   32.202443@1] [0x105f] = 0×80000
[   32.206525@1] [0x105f] = 0×88001
[   32.208870@1] [0x105f] = 0×80003
[   32.212076@1] [0x104a] = 0×101
[   32.215114@1] [0x107f] = 0x8c0000c3
[   32.219575@1] [0x1bb8] = 0×52
[   32.221540@1] [0x1b62] = 0×2029
[   32.224661@1] [0x1b8d] = 0×4040
[   32.228648@1] [0x1b8e] = 0×19
[   32.230741@1] [0x1b94] = 0×288
[   32.233775@1] [0x1b95] = 0xc87
[   32.237603@1] [0x1b97] = 0xce3
[   32.239856@1] [0x1b98] = 0×50
[   32.242804@1] [0x1b99] = 0xf0
[   32.246760@1] [0x1b9a] = 0×50
[   32.248710@1] [0x1b9b] = 0x2b0
[   32.251744@1] [0x1b9c] = 0xcb0
[   32.254781@1] [0x1b9d] = 0×4
[   32.257934@1] [0x1b9e] = 0×8
[   32.260516@1] [0x1ba1] = 0×4
[   32.263374@1] [0x1ba2] = 0×8
[   32.266485@1] [0x1ba4] = 0×288
[   32.269280@1] [0x1ba3] = 0xc87
[   32.272314@1] [0x1ba6] = 0x1d
[   32.275265@1] [0x1baf] = 0x2ec
[   32.278526@1] [0x1ba7] = 0×100
[   32.281346@1] [0x1ba8] = 0xa8
[   32.284292@1] [0x1ba9] = 0xa8
[   32.287506@1] [0x1baa] = 0×100
[   32.290286@1] [0x1bab] = 0×0
[   32.293146@1] [0x1bac] = 0×5
[   32.296877@1] [0x1bae] = 0x2ed
[   32.299045@1] [0x1b68] = 0×100
[   32.302081@1] [0x1b60] = 0×0
[   32.304945@1] [0x1b6e] = 0×200
[   32.308157@1] [0x1b58] = 0×0
[   32.310851@1] [0x1b7e] = 0×0
[   32.313712@1] [0x1b64] = 0×9061
[   32.316997@1] [0x1b65] = 0xa061
[   32.319965@1] [0x1b66] = 0xb061
[   32.323086@1] [0x1b78] = 0×1
[   32.326140@1] [0x1b79] = 0×1
[   32.328818@1] [0x1b7a] = 0×1
[   32.331680@1] [0x1b7b] = 0×1
[   32.334543@1] [0x1b7c] = 0×1
[   32.337586@1] [0x1b7d] = 0×1
[   32.340274@1] [0x271a] = 0xa
[   32.343137@1] [0x1bfc] = 0×1000
[   32.346555@1] [0x1c0d] = 0×3102
[   32.349390@1] [0x1c0e] = 0×54
[   32.352338@1] [0x1b80] = 0×1
[   32.355202@1] [0x1b57] = 0×0
[   32.358225@1] tvoutc_setmode[397]
[   32.361368@1] mode is: 6
[   32.363883@1] config HPLL
[   32.366635@1] config HPLL done
[   32.369559@1] new mode 720p
[   32.369559@1]  set ok
[   32.374674@1] hdmitx: video: get current mode: 720p
[   32.379872@1] hdmitx: system: already init VIC = 0  Now VIC = 4
[   32.385427@1] set mode VIC 4 (cd0,cs0,pm1,vd0,1)
[   32.390258@1] hdmitx: system: hw reset
[   32.393854@1] HDMI: get brd phy data
[   32.398016@1] hdmi phy setting

[   32.401553@1] hdmitx: audio: SPDIFHDMI: get brd phy data
[   32.406030@1] hdmi phy setting
[   32.408996@1] hdmitx: system: set pll
[   32.412575@1] hdmitx: system: param->VIC:4
[   32.416787@1] mode is: 6
[   32.419172@1] config HPLL
[   32.421774@1] config HPLL done
[   32.447232@1] hdmitx: system: fixed HDMI mode output
[   32.447327@1] Sink is HDMI device
[   32.449879@1] No sink attached
[   32.458075@0] set_vout_mode[156]
[   33.114100@0] create_disp_get_ump_secure_id******0
[   33.116636@0] create_disp_get_ump_secure_id******1

If you want a useable desktop image, you can install Lubuntu in the Ubuntu 14.04 core image provided by the company. A ready-to-use Ubuntu 14.04 firmware with video decoding will be made available a little later.

I haven’t tried the current image due to time contraints, and because it does not support hardware video decoding yet. But here’s what you’d need to do to install Lubuntu 14.04:

  1. Download Ubuntu 14.04 for Wetek Play
  2. Flash the image to a micro SD card with dd or Win32DiskImager as shown above, using 8GB micro SD at least, and preferably Class 10 for better performance
  3. Insert the micro SD card into Wetek Play, connect the serial console, and power the device.
  4. In the serial console (connected via minicom, Hyterminal, putty,….), install Lubuntu as follows:
    apt-get update
    apt-get upgrade
    apt-get install lubuntu-desktop
    sync
    reboot
  5. After reboot, you should be able to access the LXDE desktop environment.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

How to Build and Run Android L 64-bit ARM in QEMU

August 23rd, 2014 6 comments

Most people can’t afford Juno Cortex A57/A53 development board, and mobile processors based on the latest 64-bit ARM cores are only expected by early 2015. But thanks to a small team at Linaro, you can now build and run Android L 64-bit ARM in the latest version of QEMU that supports Aarch64. Alex Bennée, an engineer working for Linaro, wrote a blog post in Linaro’s Core Dump blog explaining the Android emulator is actually based on QEMU,  the differences compared to mainline QEMU, the work they’ve done on Android L at Linaro, and most importantly, provided the basic steps showing how to build and try Android L 64-bit ARM (ARMv8) in QEMU. I’ve just done that, but unfortunately, albeit the builds complete, I could not manage to start Android L in QEMU yet. If you still want to give it a try, you’ll need a Linux PC, and patience, as it may take about one day to retrieve the source code, and build everything from source.

Android_L_64-bit_ARM_QEMU

I’ve done all this in a computer running Ubuntu 14.04 with an AMD FX8350 processor and 16 GB RAM.

First, you’ll need to install an ARM 64-bit toolchain, some dependencies, and tools:

sudo apt-get install gcc-aarch64-linux-gnu build-essentials git bison zlib1g-dev \
libglib2.0-dev libpixman-1-dev gperf android-tools-adb

The next step is to cross-compile a Linux 3.10 kernel for Android:

mkdir -p ~/edev/linaro
git clone https://git.linaro.org/people/christoffer.dall/linux-android.git
cd linux-android
git checkout ranchu-linaro-beta1

There’s a bug include the current version of the toolchain in Ubuntu 14.04 (https://bugs.launchpad.net/linaro-linux-baseline/+bug/1258013) which prevents the build to complete. You can either remove CONFIG_DEBUG_INFO=Y in arch/arm64/configs/ranchu_defconfig (I did that), or update your toolchain. Let’s complete the build:

ARCH=arm64 make ranchu_defconfig
ARCH=arm64 make CROSS_COMPILE=aarch64-linux-gnu- -j8

Now you need to build the Android Open Source Project (AOSP). If you haven’t done so, you’ll have to install the repo tool:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Then get AOSP source code (master as below, or l-preview branch):

cd ..
mkdir AOSP
repo init -u https://android.googlesource.com/platform/manifest
repo sync

The last step can take a few hours depending on your internet connection to Google servers.
Now download and apply a patch made by Linaro:

wget http://people.linaro.org/~christoffer.dall/linaro-devices.tar.gz
tar -xvf linaro-devices.tar.gz

Possibly configure git:

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

And build Android L for ARMv8:

source build/envsetup.sh
lunch ranchu-userdebug
m -j8

The last step will again take a while. It took my machine 2 or 3 hours, and the total time was actually a bit more than than as my PC suffered two thermal shutdowns during the build, and I had to restart the build twice. The last time, I decided to underclock my CPU to 3.4 GHz, and the build went through.

The last step before running Android L is to build QEMU:

cd ..
git clone https://git.linaro.org/people/peter.maydell/qemu-arm.git
cd qemu-arm

git checkout ranchu-linaro-beta1
make -j8

Builds should now all be successfully complete. We just need to create some symlinks helping to shorten qemu command line, and run QEMU:

cd ..
ln -s linux-android/arch/arm64/boot/ ranchu-kernel
ln -s AOSP/out/target/product/ranchu/ ranchu-build
./qemu-arm/aarch64-softmmu/qemu-system-aarch64 -cpu cortex-a57 -machine type=ranchu -m 4096 \
-kernel ./ranchu-kernel/Image -append 'console=ttyAMA0,38400 keep_bootcon' -monitor stdio \
-initrd ranchu-build/ramdisk.img -drive index=2,id=userdata,file=ranchu-build/userdata.img \
-device virtio-blk-device,drive=userdata -device virtio-blk-device,drive=cache \
-drive index=1,id=cache,file=ranchu-build/cache.img -device virtio-blk-device,drive=system \
-drive index=0,id=system,file=ranchu-build/system.img -netdev user,id=mynet \
-device virtio-net-device,netdev=mynet -show-cursor

That’s the output I get:

QEMU 2.0.50 monitor - type 'help' for more information
(qemu) adb_server_notify: Failed to establish connection to ADB server
console on port 5554, ADB on port 5555
VNC server running on `127.0.0.1:5900'

So it’s quite possible there’s a problem with adb, but Google did not help, and I failed to go further. More detailed instructions will soon be posted in Linaro Wiki, so I may be able to find out where I made a mistake once it’s posted.

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

Interview with Allwinner Regarding their Linaro Membership

August 21st, 2014 13 comments

Since Allwinner has joined the Linaro Digital Home Group earlier this year, many people, including myself, have wondered what it means in terms of Linux support, and the engagement with the open source community. Following up on an idea from a regular reader, I’ve decided to asked a few questions to Ben-El Baz, marketing manager at Allwinner, and Linaro contact for Allwinner, which he kindly answered, and accepted to be published on CNX Software.

AllWinner_Linaro

  • CNXSoft: Why did Allwinner decide to join Linaro, and especially the Digital Home Group?
    Allwinner: One of our company’s goals is to be a technology leader.  It’s ambitious but not too far-fetched given the background of our leadership and engineering team.  There’s an extremely talented group of guys behind the scenes here!

    Leading is difficult unless you’re involved in collaborative organizations like Linaro that work on new technology.  Joining Linaro is an opportunity for us to grow and develop new technology together with other leading companies.  We’ve actually been trying to find the right time to join Linaro for over a year.  The Home Group was a perfect entry point; since the end of last year we’ve invested more resources into our home entertainment (OTT) division.  Our roadmap has added many new home sector-specific SoCs as well.

    Joining Linaro is also a continuation of our open strategy.  We’ve tried to be as open as possible since joining the app processor space; we were one of the first low-cost vendors to fully support the open source hardware community through partners like CubieTech, OLinuXino, pcDuino, Merrii, and more.  I’m sure I’m forgetting someone, please don’t be mad!

  • CNXSoft: There are three levels of membership for companies at Linaro: Core member, Club member, and Group member. AllWinner joined Linaro as a Group member, which as I understand is a limited membership, and leads to several questions:
    1. Will Allwinner primarily have an observatory role in the Digital Home Group, or will the company be actively engaged?
      Allwinner: Joining an international, collaborative engineering organization is new to us.  We’ve mostly been observing up to this point, but we’re trying to get more involved.  Getting more involved means our engineers more closely following Linaro’s roadmap and thinking about new projects we could bring into the Home group.  We’ve already brought up some ideas within the group.
    2. Will the work done in the Digital Home Group focus mainly on higher level applications, or will some work be done on the kernel and drivers as well,  specifically to the parts relating to Allwinner, or in other words will there be engineers at Linaro working on code specific to Allwinner?
      Allwinner:
      Still doing work planning.  Happy to share more details after Connect.  Have already done some ground work to support upcoming projects though.  Welcome any ideas from the community as well.
  • CNXSoft: I understand there’s no Allwinner Landing Team at Linaro, so there won’t be engineering builds targeting Allwinner hardware released by Linaro. Does Allwinner plan to eventually put more resources into Linaro?
    Allwinner:
    We’re more resource-limited compared to other larger Linaro members but still able to make appropriate engineering commitments.  We’re thinking about increasing our contribution over time – this type of collaboration is still very new to us.
  • CNXSoft: Do you expect the Linaro membership to affect the way the company approaches open source development? For example,  like many silicon vendors, Allwinner develop their own SDK (Linux,U-boot, etc..) in house, and release a vendor tree to direct customers, but it appears many companies are seeing the benefit of committing code to mainline (kernel.org), and there’s a clear trend in that direction. Now Allwinner mainline support is mainly performed by linux-sunxi community, so I’m wondering if Allwinner has any interest in getting involved in this area?
    Allwinner:
    I think there will always be a split software support focus – one towards productization and one towards mainline Linux support. Recently we started a more formal engagement with the linux-sunxi community; hopefully this will enable us to better support developers. Mainlining is important to us but needs some focus. It’d help to hear what the community wants. Which Allwinner SoCs would you like to see with mainline support? With which modules supported? In which kernel version (realistically!)? Why?

They also told me more details should be available after Linaro Connect USA next month.

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