Linux Quick Start Guide for Roseapple Pi Board based on Actions Semi S500 Processor

Roseapple Pi is a development board powered by Actions Semi S500 processor with 2GB RAM, a USB 3.0 port and more, that is based on Actions Semi Bubblegum-S500 reference design also used by Lemon Pi board. The team behind the project sent me an early sample to try it out. I’ll take some pictures, before explaining how to install and setup Debian 8.1, and how to build and run your own minimal image from source. These instructions should also work for Lemon Pi and LeMaker Guitar boards.

Roseapple Pi Photos

I received the board in a bubble envelope with a thank you letter, and the board itself in an anti-static bag. No other accessories were provided.

Click to Enlarge
Click to Enlarge

Ports, connectors, and headers from top left counter-clockwise: 4-pin UART console, two USB 2.0 ports, one USB 3.0 port, 10/100 Ethernet, a 40-pin Raspberry Pi comptabile header, a MIPI DSI connected, a micro USB port for power, HDMI output, AV output, and a MIPI CSI connector for camera. The board is called Actions_S500_v1.1, and a small heatsink is glued on the processor. They’ve used two Samsung SDRAM chips to get 2GB RAM. There’s a marking close to the HDMI connected reading SINACT, a PCB manufacturer – but possibly not designer -, whose name can also be found on  Lemon Pi and Bubblegum-96 boards.

Click to Enlarge
Click to Enlarge

There’s much less to see on the back of the board with the micro SD slot, and an unpopulated eMMC flash.

Installing and Setting Up Debian 8.1 on Roseapple Pi

You’ll find both Debian 8.1 and Android 5.1.1 in the download page which can be downloaded from either Google Drive or Baidu. This is not quite ideal, as I had troubles to complete the downloads with either, and I eventually managed to get both Debian and Android after over 10 attempts. I also subscribe to the forums, and contrary to people experience with Orange Pi forums, it was straightforward at registration only require email activation, and no manual action.

The procedure to flash the image is pretty standard, and after downloading and extracting the firmware, you can dump the image to a 8GB or greater SD card – class 10 recommend – with dd in Linux, or Win32DiskImager in Windows. This is what I did after the download in a computer running Ubuntu 14.04:


Where X is the device of your micro SD card which you can check with lsblk:


For example on my system, sda (465.8GB) is my hard drive, sdb (29.9GB) the micro USB card I plan to use with the board, and sdc (58.6GB) a USB flash drive, so I selected /dev/sdb. Make sure you select the correct letter or you may wipe out your drive.

The micro SD card used is 32GB, while the SD card image is only 7.4GB, so we’ll need to resize the rootfs to make use of all the space in the card. Remove the card from your computer, and re-insert. I’m using gparted to do the job but other tools are also available:


The program will pop-up windows twice asking to fix or ignore issues, I selected “Fix”, or the resizing won’t work.

roseapple_pi-resize_rootfsNow select /dev/sdb3, click on the resize icon, and increase the partition size to the maximum. Then click the green tick to complete the operation

We can now take out the micro SD card from the computer and insert it into the board.

Running Debian 8 on Roseapple Pi

I’ve connected the serial console, a USB keyboard and mouse, Ethernet, and a USB 3.0 flash drive. The last three are quite tight however, as you can see from the picture below, so if you have a larger USB thumb drive you you may have to use a USB hub.

Roseapple_Pi_USB_3.0_Drive

The board did not boot the very first time, and I’ve not quite sure why, as after several adjustment of the micro USB cable and removing some USB devices, I could eventually boot, and re-connected the peripherals without issues. You may want to press the power switch for 2 or 3 seconds to make sure the board starts booting.

Boot time to the login screen takes less than 30 seconds. The username and password are both linaro.

Click for Original Size
Click for Original Size

Iceweasel web browser, LibreOffice and Gnome player are installed, and the performance feels on par with other quad core ARM platform I’ve tried in Linux. My TV reports the video output is set to 1080p60, but actual framebuffer resolution is lower as 1280×800 as you can see from the screenshot above. I have not evaluated video playback or web browser performance, as I plan to write a separate post to about this.

Overall the instructions worked fine and I had no difficulties in setting up the system. I’ve also typed a few commands to find out more about the system:


Linux version is 3.10.37, the CPU is clocked at 1.1 GHz (not at 1.3GHz as advertised in some places), the system has indeed 2GB RAM, and 3.6GB is used out of my 30GB rootfs. I could only see 3 GPIOs, so I asked more details in the forums, but I have yet to receive an answer. [Update: these are actually GPIO controllers, and you need to export GPIOs as needed].

There aren’t any marking for the UART header on the board, but a post of the forums explains how to connect the wires. Here’s the full boot log for reference:

bus_id 0
bus_mfp 0
pmu_id 3
vddr_pmu_dcdc_cfg 5
ddr_clk 588
ddr_cap 0
ddr_bits_width 0
rank 0
ddr_type 0
row_col 0
rdodt 1
wrodt 1
zpzq 12
uart_id 2
uart_baudrate 115200
uart_pad 9
jtag_pad 0
bootdev 32
version 1.1
scan 1
busid = 0bus_mfp = 0pmu_id = 3vddr_pmu_dcdc_cfg = 5
ddr_clk = 0x24c ddr_cap = 0 ddr_bits_width = 0 rank = 0 ddr_type = 0 row_col =
consolse init :port  2, baudrate 115200 mfp 9
pmu init
busid = 0bus_mfp = 0pmu_id = 3vddr_pmu_dcdc_cfg = 5
g_current_bus = 00×51:0x8b2:0x8b2
0x39:0x325b:0x325b
0x14:0x88a
VERSION A:set val = 0x85af
0x14:0x85af:0x85af
0x62:0x0
0x15:0x6cae:0x6cae
0x16:0x334b:0x334b
ATC2609A_PMU_SYS_CTL3 = 16512
,s2 flag = 0
enter from s40x3f:0x1e3:0x1e3
check adfu
reg_val = 0x0ddr init
ddr_cap = 0  row_col = 0 row_col_detect = 0
DRAM init mode0,type0,2cs,x32,588MHz,0x375d.@150616_R…Ok:2048MByte Cap.
ddr size=2048MB
load app
load uboot: load address is 0x8000000, entry point is 0x8000040
in fourth
chip serial no = 9d,43,5,c1,a,42,e,0,
dvfs = 0xc583bb66
dvfs maigc = 0x44564653, dvfs = 0xc583bb66U-Boot 2015.04-g62381cd (Sep 22 2015 – 07:51:45)Actions-SemiDRAM:  mem-size=2048MB
2 GiB
PLL:core=0x332,dev=0x1164,bus=0x1c710000,bus1=0x2e004,display=0x164, spead=0x0
set kinfo addr = 7f700000
gpio=23,mode=0,val=0
gpio=25,mode=0,val=0
gpio=33,mode=0,val=0
gpio=55,mode=0,val=0
pwm_init, blob 7defed28
PWM init, node 3872
not find HOSC dat = 0xca
ret = 7104
owl: begin analysis pmu in device tree
node = 9608
owl: have for pmu in device tree , node =9608
pmu_config.bus_id = 0
pmu_config.dcdc_en_bm  = 14
pmu_config.dcdc_cfgs[0] = 0
pmu_config.dcdc_cfgs[1] = 11
pmu_config.dcdc_cfgs[2] = 10
pmu_config.dcdc_cfgs[3] = 5
pmu_config.ldo_en_bm  = 131
pmu_config.ldo_cfgs[0] = 1
pmu_config.ldo_cfgs[1] = 7
pmu_config.ldo_cfgs[2] = 0
pmu_config.ldo_cfgs[3] = 0
pmu_config.ldo_cfgs[4] = 0
pmu_config.ldo_cfgs[5] = 0
pmu_config.ldo_cfgs[6] = 0
pmu_config.ldo_cfgs[7] = 3
pmu_config.ldo_cfgs[8] = 0
pmu_config.ldo_cfgs[9] = 0
pmu_config.ldo_cfgs[10] = 0
pmu_config.ldo_cfgs[11] = 0
pmu_type = 2
pmu_config.pwm_config[0].pwm_val = 0x0
pmu_config.pwm_config[0].mfp.shift = 0
pmu_config.pwm_config[0].mfp.mask = 0
,pmu_config.pwm_config[0].mfp.val = 0
pmu_config.pwm_config[0].mfp.no = 0
pmu_config.pwm_config[1].pwm_val = 0x102c3f
pmu_config.pwm_config[1].mfp.shift = 38
pmu_config.pwm_config[1].mfp.mask = 7
,pmu_config.pwm_config[1].mfp.val = 3
pmu_config.pwm_config[1].mfp.no = 1
pmu_config.pwm_config[2].pwm_val = 0x10343f
pmu_config.pwm_config[2].mfp.shift = 38
pmu_config.pwm_config[2].mfp.mask = 7
,pmu_config.pwm_config[2].mfp.val = 3
pmu_config.pwm_config[2].mfp.no = 1
pwm1 val=0x102c3f
pwm2 val=0x10343f
0x51:0x8b2:0x8b2
0x39:0x325b:0x325b
dcdc_cfgs[1] = 11
0x11:0xe5cf:0xe5cf
0x12:0x2cae:0x2cae
0x13:0x334b:0x334b
0x17:0x8acf:0x8acf
0x18:0x254c:0x254c
0x19:0x338a:0x338a
pmu init finish!
begin to check power!
wall_mv=4937
———-the plug_stat is 0-NO_PLUG,1-WALL_PLUG,2-USB_PLUG:1
———-bat_voltage = 35
bat_mv:35
node_path[2]=/i2c@b0170000/atc2603c@65/atc260x-power
support type: both DCIN and USB
low_power_boot_choice is 0
support_minicharger:1
MMC:   ERROR: v7_dcache_inval_range – stop address is not aligned – 0x7defd388
error: SDC2 send CMD8, No rsp
error: SDC2 send CMD55, No rsp
error: SDC2 send CMD1, No rsp
Card did not respond to voltage select!
slot:2, error mmc_init
error:-1,owl_sd_init fail
SD0: 0 (SD), eMMC: 1
error: SDC2 send CMD8, No rsp
error: SDC2 send CMD55, No rsp
error: SDC2 send CMD1, No rsp
Card did not respond to voltage select!
MMC init failed
Using default environmentbootmode = 0
sd boot
** get_partition_info mmc0:6
** Partition 6 not valid on device 0 **
get_partition_info_efi: Invalid Argument(s)
Failed to register mmc: 0:0
Failed to register mmc: 0:1
bootlogo: if=mmc, dev=0
reading boot_logo.bmp.gz
reading new_gamma_data
Fail to load gamma
OWL VIDEO: power on
OWL VIDEO: wait res 998, 113301
OWL LCD: lcd init
fdtdec_get_lcd_par
Can’t get lcd mode node
OWL LCD: fdt No lcd par
OWL dsi: dsi init
buf->vaddr  0x7df04370 buf->paddr  0x7df04370
fdtdec_get_dsi_par0
fdtdec_get_dsi_par 4
fdtdec_get_dsi_par 5
fdtdec_get_dsi_par 6
fdtdec_get_dsi_par dsi_ctrl 1340
fdtdec_get_dsi_par dsi_size 3200000
fdtdec_get_dsi_par dsi_color ff0000
fdtdec_get_dsi_par dsi_rgbht0 7878
fdtdec_get_dsi_par dsi_rgbht1 3e8
fdtdec_get_dsi_par dsi_rgbvt0 1f0c32c
fdtdec_get_dsi_par dsi_rgbvt1 a
fdtdec_get_dsi_par dsi_pack_cfg 0
fdtdec_get_dsi_par dsi_pack_header f00
fdtdec_get_dsi_par dsi_vedio_cfg 30c
fdtdec_get_dsi_par dsi_phy_t0 a5a
fdtdec_get_dsi_par dsi_phy_t1 1b12
fdtdec_get_dsi_par dsi_phy_t2 2f05
fdtdec_get_dsi_par dsi_phy_ctrl fc94
fdtdec_get_dsi_par dsi_pin_map 688
fdtdec_get_dsi_par cmu_dsipll_clk 12601
fdtdec_get_dsi_par ok
fdtdec_pwm_get: fdtdec_pwm_get(7defed28, 8844, pwms, 0)
pwm_node=f20, pwm_chip.pwm_node=f20
pwm id = 0
pwm period = 50000
pwm polarity = 1
get_pwr_ctl backlight_en_gpios  0
fdtdec_get_hdmi_par
fdtdec_get_hdmi_par: resolution  = 1080P60HZ
start power_enable
get_pwr_ctl dsi_power_gpios  32
get_pwr_ctl dsi_reset_gpios  0
reset ok dsi_reset_gpios
phy set start
phy set end~~~~
lanes cannot STOP
send short start
send short end
send short start
send short end
send short start
send short end
fdtdec enable dsi
pwm:request duty = 29296
pwm:request period_ns = 50000
fdtdec enable dsi ok
dsi_enable 2
In:    serial
Out:   serial
Err:   serial
adckey: AUX0, channel=0
adckey: keynum=4
adc_val=1023
Net:   owl_mac_parse_fdtdec,phy_addr 3
owl_mac_parse_fdtdec,power-gpio -1
owl_mac_parse_fdtdec,reset-gpio 88
owl_mac
Warning: owl_mac using MAC address from net device
Update MAC: 70:61:72:74:20:24
, usb_ether
Error: usb_ether address not set.Enter s500 to abort autoboot in 2 seconds
boot from mmc card …
** Unrecognized filesystem type **
** Unrecognized filesystem type **
reading boot.scr
366 bytes read in 4 ms (88.9 KiB/s)
Jumping to boot.scr
## Executing script at 04400000
reading uImage
5601248 bytes read in 482 ms (11.1 MiB/s)
reading uInitrd
14738908 bytes read in 1256 ms (11.2 MiB/s)
reading board.dtb
33950 bytes read in 8 ms (4 MiB/s)
## Booting kernel from Legacy Image at 00008000 …
Image Name:   Linux-3.10.37
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    5601184 Bytes = 5.3 MiB
Load Address: 00008000
Entry Point:  00008000
Verifying Checksum … OK
## Loading init Ramdisk from Legacy Image at 01ffffc0 …
Image Name:   initramfs
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    14738844 Bytes = 14.1 MiB
Load Address: 00000000
Entry Point:  00000000
Verifying Checksum … OK
## Flattened Device Tree blob at 04000000
Booting using the fdt blob at 0x4000000
Loading Kernel Image … OK
Using Device Tree in place at 04000000, end 0400b49d
owl_boot_fdt_setup <NULL>
read_mi_head, line 429, magic 0x0, length 0, item num 0
read Head null
read SN failed
cmdline: console=ttyS2 console=tty0 root=/dev/mmcblk0p3 rootwait ro androidboot0Starting kernel …[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.37 (wyliang@William-x64) (gcc version 4.6.3 (5
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[    0.000000] Machine: gs705a, model: Actions GS705A board
[    0.000000] owl_reserve: pyhsical memory size 2147483648 bytes, end @0x2f8000
[    0.000000] find owl_fb_size=0x800000
[    0.000000] find owl_kinfo_size=0x100000
[    0.000000] find owl_ion0_size=0x100000
[    0.000000] find owl_ion1_size=0xc000000
[    0.000000] ion_reserve: ion_fb reserved base 2ee00000 size 1048576
[    0.000000] Reserved memory 193MB
[    0.000000]    FB:     0x2f000000, 8MB
[    0.000000]    KINFO:  0x2ef00000, 1MB
[    0.000000]    ION0:   0x2ee00000, 1MB
[    0.000000]    ION1:   0x22e00000, 192MB
[    0.000000] cma: CMA: reserved 192 MiB at 22c00000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] owl_smp_init_cpus(): ncores 4
[    0.000000] PERCPU: Embedded 9 pages/cpu @c1c7d000 s13888 r8192 d14784 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa8
[    0.000000] Kernel command line: console=ttyS2 console=tty0 root=/dev/mmcblk0
[    0.000000] boot_mode_process
[    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] allocated 4194304 bytes of page_cgroup
[    0.000000] please try ‘cgroup_disable=memory’ option if you don’t want memos
[    0.000000] Memory: 2048MB = 2048MB total
[    0.000000] Memory: 1841264k/1841264k available, 255888k reserved, 1318912K m
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 – 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 – 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 – 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 – 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 – 0xc0a267dc   (10362 kB)
[    0.000000]       .init : 0xc0a27000 – 0xc0a95640   ( 442 kB)
[    0.000000]       .data : 0xc0a96000 – 0xc0b1b384   ( 533 kB)
[    0.000000]        .bss : 0xc0b1b384 – 0xc0c64084   (1316 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:247
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 1789s
[    0.000000] Console: colour dummy device 80×30
[    0.000000] console [tty0] enabled
[    0.000000] kmemleak: Kernel memory leak detector disabled
[    0.001127] Calibrating delay loop… 1196.85 BogoMIPS (lpj=5984256)
[    0.090247] pid_max: default: 32768 minimum: 301
[    0.090488] Security Framework initialized
[    0.090550] SELinux:  Initializing.
[    0.090687] AppArmor: AppArmor disabled by boot time parameter
[    0.090814] Mount-cache hash table entries: 512
[    0.099165] Initializing cgroup subsys debug
[    0.099221] Initializing cgroup subsys memory
[    0.099293] Initializing cgroup subsys freezer
[    0.099392] CPU: Testing write buffer coherency: ok
[    0.100035] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.100113] owl_smp_prepare_cpus(max_cpus:4)
[    0.100225] Setting up static identity map for 0xc0724e08 – 0xc0724ec8
[    0.100313] owl_l2x0_init()
[    0.100425] L310 cache controller enabled
[    0.100452] l2x0: 16 ways, CACHE_ID 0x410080c9, AUX_CTRL 0x3e050000, Cache sB
[    0.140402] ftrace: Allocated trace_printk buffers
[    0.145472] cpu:1
[    0.145503] po 1
[    0.145719] wu 1
[    0.146419] pr:-1
[    0.180126] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.200913] cpu:2
[    0.200956] po 2
[    0.201237] wu 2
[    0.201915] pr:-1
[    0.240125] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.260928] cpu:3
[    0.260970] po 3
[    0.261250] wu 3
[    0.261929] pr:-1
[    0.300125] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.300290] Brought up 4 CPUs
[    0.300332] SMP: Total of 4 processors activated (4787.40 BogoMIPS).
[    0.300354] CPU: All CPU(s) started in SVC mode.
[    0.301591] devtmpfs: initialized
[    0.306808] pinctrl core: initialized pinctrl subsystem
[    0.307272] regulator-dummy: no parameters
[    0.314262] NET: Registered protocol family 16
[    0.348405] DMA: preallocated 14336 KiB pool for atomic coherent allocations
[    0.348447] init sirqs
[    0.348558] owl_gpio_init()
[    0.351046] owl_gpio_probe()
[    0.351076] owl gpio bank0 – irq68
[    0.351096] owl gpio bank1 – irq69
[    0.351113] owl gpio bank2 – irq70
[    0.351130] owl gpio bank3 – irq71
[    0.351146] owl gpio bank4 – irq72
[    0.351993] owl_sirq_probe()
[    0.352018] owl sirq bank0 – irq45
[    0.352037] owl sirq bank1 – irq46
[    0.352054] owl sirq bank2 – irq47
[    0.352082] sirq map 45 -> 213
[    0.352106] sirq map 46 -> 214
[    0.352129] sirq map 47 -> 215
[    0.354757] owl_board_init()
[    0.354807] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint.
[    0.354838] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.355115] free reserve pages 256 to buddy system
[    0.355137] owl_common_init()
[    0.355242] [PowerGate] name: ‘dma’, on: 0, before SPS_PG_CTL: 0x703360
[    0.355271] [PowerGate] name: ‘dma’, on: 0, after SPS_PG_CTL: 0x703260
[    0.355961] pwm-owl b01b0050.pwm: Probing…
[    0.356246] dmm debugfs support
[    0.360377] i2c i2c-2: of_i2c: invalid reg on /i2c@b0178000/mpu6515@68
[    0.372602] bio: create slab <bio-0> at 0
[    0.373738] owl_pwm_bl_probe: name = backlight.2
[    0.373927] owl pinctrl: 1gpio_request_check_pinmux
[    0.373955] owl pinctrl: 1CHECK PMX:P_I2C1_SCLK has already been requested t
[    0.374314] owl_dma_probe
[    0.374363] [PowerGate] name: ‘dma’, on: 1, before SPS_PG_CTL: 0x702260
[    0.374459] [PowerGate] name: ‘dma’, on: 1, after SPS_PG_CTL: 0x703360
[    0.374579] owl_dma b0260000.dma: actions AHB DMA Controller ( cpy slave mems
[    0.376501] atc260x_i2c 0-0065: Probing…
[    0.376604] atc260x_i2c 0-0065: atc260x_core_dev_init() enter
[    0.377093] atc260x_i2c 0-0065: set bdg ctl, ret=0 value=0xd2
[    0.378827] atc260x_i2c 0-0065: detect PMU chip type 1 ver A
[    0.378857] atc260x_i2c 0-0065: PMU root IRQ 215
[    0.379540] atc260x_i2c 0-0065: icm_ohm not config, use default value
[    0.379574] atc260x_i2c 0-0065: auxadc icm_ohm = 20
[    0.380018] atc260x-regulator atc2603c-dcdc1.1: Probing atc2603c-dcdc1, id=1
[    0.381240] dcdc1: 700 <–> 1400 mV at 975 mV
[    0.381787] atc260x-regulator atc2603c-dcdc2.2: Probing atc2603c-dcdc2, id=2
[    0.383078] dcdc2: 1300 <–> 2150 mV at 1550 mV
[    0.383573] atc260x-regulator atc2603c-dcdc3.3: Probing atc2603c-dcdc3, id=3
[    0.384712] dcdc3: 2600 <–> 3300 mV at 3100 mV
[    0.385238] atc260x-regulator atc2603c-ldo1.1: Probing atc2603c-ldo1, id=1
[    0.387563] ldo1: 2600 <–> 3300 mV at 3300 mV
[    0.388083] atc260x-regulator atc2603c-ldo2.2: Probing atc2603c-ldo2, id=2
[    0.390432] ldo2: 2600 <–> 3300 mV at 3100 mV
[    0.390953] atc260x-regulator atc2603c-ldo3.3: Probing atc2603c-ldo3, id=3
[    0.393279] ldo3: 1500 <–> 2000 mV at 1800 mV
[    0.393797] atc260x-regulator atc2603c-ldo5.5: Probing atc2603c-ldo5, id=5
[    0.394129] ldo5: 2600 <–> 3300 mV at 2800 mV
[    0.394642] atc260x-regulator atc2603c-ldo6.6: Probing atc2603c-ldo6, id=6
[    0.396986] ldo6: 700 <–> 1400 mV at 1100 mV
[    0.397523] atc260x-regulator atc2603c-ldo7.7: Probing atc2603c-ldo7, id=7
[    0.400383] ldo7: 1800 mV
[    0.400921] atc260x-regulator atc2603c-ldo8.8: Probing atc2603c-ldo8, id=8
[    0.401274] ldo8: 2300 <–> 3300 mV at 3100 mV
[    0.401805] atc260x-regulator atc2603c-ldo11.11: Probing atc2603c-ldo11, id=1
[    0.404127] ldo11: 2600 <–> 3300 mV at 3100 mV
[    0.404660] atc260x-switch-ldo atc2603c-switch1.1: Probing atc2603c-switch1,1
[    0.404709] atc260x-switch-ldo atc2603c-switch1.1: pmic_ver=0
[    0.404888] [SWITCH1] set switch 1 to ldo mode Version D!
[    0.405335] switch1: 3000 <–> 3300 mV at 3100 mV
[    0.405938] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc1.1: Probing atc2603c-1
[    0.405981] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc1.1: table_len = 15
[    0.406182] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc1.1: got init voltage 8
[    0.406347] vdd-gpu-dcdc: 900 <–> 1250 mV at 1100 mV normal
[    0.406655] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc2.2: Probing atc2603c-2
[    0.406696] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc2.2: table_len = 15
[    0.406838] atc260x-ext-pwm-dcdc atc2603c-ext-pwm-dcdc2.2: got init voltage 6
[    0.407013] vdd-core-dcdc: 900 <–> 1250 mV at 1050 mV normal
[    0.407611] atc260x-gpio atc2603c-gpio.0: Probing…
[    0.407922] atc2603c-sgpio atc2603c-sgpio.0: Probing…
[    0.408362] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq0 -> virq9
[    0.408405] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq1 -> virq0
[    0.408443] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq2 -> virq1
[    0.408479] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq3 -> virq2
[    0.408513] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq4 -> virq3
[    0.408548] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq5 -> virq4
[    0.408583] atc2603c-sgpio atc2603c-sgpio.0: new IRQ mapping: hwirq6 -> virq5
[    0.408612] atc2603c-sgpio atc2603c-sgpio.0: root virq num : 218
[    0.410316] atc260x_i2c 0-0065: atc260x_core_dev_init() exit
[    0.410760] atc260x-pm atc2603c-pm.0: Probing…
[    0.411081] atc260x-pm atc2603c-pm.0: _set_s2_mode() can not get of_property
[    0.411121] atc260x-pm atc2603c-pm.0: _atc260x_pm_set_wakeup_src_inner() ent6
[    0.411458] atc260x-pm atc2603c-pm.0: _atc260x_pm_set_wakeup_src_inner() setb
[    0.411797] atc260x-pm atc2603c-pm.0: _atc260x_pm_set_wakeup_src_inner() set0
[    0.412132] atc260x-pm atc2603c-pm.0: _atc260x_pm_set_wakeup_src_inner() ent0
[    0.412462] atc260x-pm atc2603c-pm.0: _atc260x_pm_set_wakeup_src_inner() setb
[    0.413226] atc260x-pm atc2603c-pm.0: _clear_status() no need to restore oldm
[    0.414397] atc260x-pm atc2603c-pm.0: got support_adaptor_type: 3
[    0.415007] atc260x-pm atc2603c-pm.0: translated wakeup falgs: 0x200
[    0.415117] [PM] set pmic suspend ops 0xc0ae0c70
[    0.415296] atc260x-pm atc2603c-pm.0: #####atc260x_pm_probe PMU_SYS_CTL0:0xe#
[    0.415698] SCSI subsystem initialized
[    0.415801] ASOC SPI: enter spi probe
[    0.416140] asoc_spi0 b0208000.spi: master is unqueued, this is deprecated
[    0.416505] ahb freq is 100000000
[    0.417091] usbcore: registered new interface driver usbfs
[    0.417187] usbcore: registered new interface driver hub
[    0.417357] usbcore: registered new device driver usb
[    0.417523] Linux video capture interface: v2.00
[    0.420843] owl_ion_probe: add heap ion_fb
[    0.420891] owl_ion_probe: add heap ion_pmem
[    0.421037] owl_ion_probe: add heap ion_system
[    0.421263] Advanced Linux Sound Architecture Driver Initialized.
[    0.421921] Bluetooth: Core ver 2.16
[    0.421995] NET: Registered protocol family 31
[    0.422017] Bluetooth: HCI device and connection manager initialized
[    0.422052] Bluetooth: HCI socket layer initialized
[    0.422081] Bluetooth: L2CAP socket layer initialized
[    0.422136] Bluetooth: SCO socket layer initialized
[    0.422574] cfg80211: Calling CRDA to update world regulatory domain
[    0.423968] Switching to clocksource timer0
[    0.474716] NET: Registered protocol family 2
[    0.475486] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.475682] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.475887] TCP: Hash tables configured (established 8192 bind 8192)
[    0.475990] TCP: reno registered
[    0.476023] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.476087] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.476457] NET: Registered protocol family 1
[    0.476963] RPC: Registered named UNIX socket transport module.
[    0.476997] RPC: Registered udp transport module.
[    0.477017] RPC: Registered tcp transport module.
[    0.477038] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.477346] Trying to unpack rootfs image as initramfs…
[    1.695142] Freeing initrd memory: 14392K (c2000000 – c2e0e000)
[    1.695640] hw perfevents: enabled with ARMv7_Cortex_A9 PMU driver, 7 countee
[    1.696237] owl_uart: no device is found
[    1.696459] b0124000.serial: ttyS2 at MMIO 0xb0124000 (irq = 63) is a OWL_SEL
[    2.885168] console [ttyS2] enabled
[    2.889253] ## boot_dev: 0x20
[    2.892910] audit: initializing netlink socket (disabled)
[    2.898382] type=2000 audit(2.880:1): initialized
[    2.916346] NTFS driver 2.1.30 [Flags: R/W].
[    2.921277] fuse init (API version 7.22)
[    2.925847] exFAT: Core Version 1.1.3
[    2.929510] exFAT: FS Version 1.1.3
[    2.933205] msgmni has been set to 1434
[    2.939964] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[    2.947401] io scheduler noop registered
[    2.951321] io scheduler deadline registered
[    2.955799] io scheduler cfq registered (default)
[    2.964416] #### insmod vde driver!
[    2.968232] mali0 b0280000.vde: Probe vde device
[    2.972851] info ic_type 0x5206
[    2.976115] vde->irq =52
[    2.978710] cputherm_register_notifier list 0
[    2.986207] mali0 b0280000.vde: resource: iomem: [mem 0xb0280000-0xb0280107]2
[    2.995706] sps base = 0xf81b0100
[    2.999014] cmu base = 0xf8160000
[    3.002319] SPS_PG_CTL = 0xf81b0100
[    3.005812] Share_Mem_REG = 0xf8240004
[    3.009552] CMU_COREPLL = 0xf8160000
[    3.013117] CMU_VDE_CLK = 0xf8160040
[    3.016697] CMU_DEVRST0 = 0xf81600a8
[    3.020263] CMU_DEVCLKEN0 = 0xf81600a0
[    3.024186] device_create_file !
[    3.028163] owl_dss DE: owl_de_probe, pdev = 0xe2281400
[    3.033401] owl_dss DE: DE INITED FROM UBOOT ?? 1
[    3.038231] owl_dss DE: de irq init ok
[    3.054696] owl_dss MMU: mmu_init: base 0xe3a00000 base_phys 0xe2879da423a000
[    3.065455]  1 portname = dsi
[    3.068423] generic_dsi_panel_drv_init
[    3.072444] owl_dsihw_probe
[    3.075299] owl_dss DSI: error!dsihw_parse_params, fail to get lcd reset gpio
[    3.082503] owl_dss DSI: owl_dsihw_probe called  ok ~~~~~~~~~~~~~
[    3.088934]  1 portname = dsi
[    3.091898] current type dsi
[    3.094944] dss_recheck_connections dssdev->type 2
[    3.100000] OWL_HDMI: Enter owldss_hdmihw_probe
[    3.104575] OWL_HDMI_ERR: cat not get vid480p_tx1
[    3.110258] dss_recheck_connections dssdev->type 32
[    3.115310] OWL_HDMI:  register irq ON!
[    3.128952] brd: module loaded
[    3.137091] loop: module loaded
[    3.140241] misc_info_init, line 1059, Oct  7 2015 23:00:04
[    3.145999] mi_debug_init, line 372
[    3.149878] atc260x-pwm atc2603c-pwm.0: atc260x_pwm Probing…
[    3.155850] no blk dev
[    3.158207] read MiscInfoHeader failed
[    3.161947] read Head failed
[    3.164866] atc260x_pwm_drv: [atc260x_pwm_on start]
[    3.169770] OWL_HDMI_ERR: failed to read hdcp key from secure storage
[    3.176832] atc260x_pwm_drv: [atc260x_pwm_on finished]
[    3.182276] tun: Universal TUN/TAP device driver, 1.6
[    3.187360] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    3.193768] PPP generic driver version 2.4.2
[    3.198279] PPP BSD Compression module registered
[    3.202980] PPP Deflate Compression module registered
[    3.208075] PPP MPPE Compression module registered
[    3.212863] NET: Registered protocol family 24
[    3.217459] usbcore: registered new interface driver rtl8150
[    3.223164] usbcore: registered new interface driver r8152
[    3.228723] usbcore: registered new interface driver ax88179_178a
[    3.234894] usbcore: registered new interface driver cdc_ether
[    3.240768] usbcore: registered new interface driver cdc_subset
[    3.246806] usbcore: registered new interface driver cdc_ncm
[    3.252520] usbcore: registered new interface driver asix
[    3.257989] usbcore: registered new interface driver sr9700_android
[    3.264334] usbcore: registered new interface driver CoreChips
[    3.270496]
[    3.270496] ————dwc3_clk_init—–ic=1—–
[    3.279345] [PowerGate] name: ‘usb3’, on: 1, before SPS_PG_CTL: 0x703360
[    3.286139] [PowerGate] name: ‘usb3’, on: 1, after SPS_PG_CTL: 0x707760
[    3.293954]  GS705A phy init for dwc3 gadget 23:01:16
[    3.299261]  GS705A phy init for dwc3 gadget 23:01:16
[    3.319831] aotg_hcd b0600000.usb: can’t find usbh-1 dts node
[    3.325625] aotg_hcd b0600000.usb: aotg_hub_probe: usb probe hcd  failed, er9
[    3.333709] aotg_hcd b0700000.usb: can’t find usbh-1 dts node
[    3.339484] aotg_hcd b0700000.usb: aotg_hub_probe: usb probe hcd  failed, er9
[    3.347682] port_host_plug_detect[0]:1
[    3.351458] port0_vubs_en:36
[    3.354427] port_host_plug_detect[1]:1
[    3.358179] fail to request vbus gpio [36]
[    3.362270] port1_vubs_en:36
[    3.365337] [PowerGate] name: ‘usb2_0’, on: 1, before SPS_PG_CTL: 0x707760
[    3.372279] [PowerGate] name: ‘usb2_0’, on: 1, after SPS_PG_CTL: 0x70ff60
[    3.379086] start mon 0 ……
[    3.382264] [PowerGate] name: ‘usb2_1’, on: 1, before SPS_PG_CTL: 0x70ff60
[    3.389223] [PowerGate] name: ‘usb2_1’, on: 1, after SPS_PG_CTL: 0x74ff64
[    3.396026] start mon 1 ……
[    3.399188] usbcore: registered new interface driver cdc_acm
[    3.404863] cdc_acm: USB Abstract Control Model driver for USB modems and ISs
[    3.412954] usbcore: registered new interface driver usb-storage
[    3.419111] usbcore: registered new interface driver usbserial
[    3.425012] usbcore: registered new interface driver option
[    3.430618] usbserial: USB Serial support registered for GSM modem (1-port)
[    3.438211] mousedev: PS/2 mouse device common for all mice
[    3.444233] atc260x-onoff atc2603c-onoff.0: Probing atc2603c-onoff
[    3.450421] atc260x-onoff atc2603c-onoff.0: atc260x_onoff IRQ num : 216
[    3.457291] input: atc260x_onoff as /devices/b0170000.i2c/i2c-0/0-0065/atc260
[    3.467549] usbcore: registered new interface driver usb_acecad
[    3.473533] usbcore: registered new interface driver aiptek
[    3.479179] usbcore: registered new interface driver gtco
[    3.484648] usbcore: registered new interface driver hanwang
[    3.490351] usbcore: registered new interface driver kbtab
[    3.495912] usbcore: registered new interface driver wacom
[    3.501914] atc260x-rtc atc2603c-rtc.0: Probing…
[    3.510319] atc260x-rtc atc2603c-rtc.0: rtc core: registered atc260x-RTC as 0
[    3.518064] atc260x-rtc atc2603c-rtc.0: invalid year(0), reset to year 2011
[    3.526136] atc260x-rtc atc2603c-rtc.0: RTC alarm IRQ num : 217
[    3.532872] atc260x-hwmon atc2603c-hwmon.0: Probing atc2603c-hwmon
[    3.539463] tmu-mem:start=0xb01b00e8
[    3.543605] device-mapper: uevent: version 1.0.3
[    3.548717] device-mapper: ioctl: 4.24.0-ioctl (2013-01-15) initialised: dm-m
[    3.557547] Bluetooth: HCI UART driver ver 2.2
[    3.561991] Bluetooth: HCI H4 protocol initialized
[    3.566801] Bluetooth: HCI Three-wire UART (H5) protocol initialized
[    3.573150] rtk_btusb: Realtek Bluetooth USB driver module init, version 2.21
[    3.580386] usbcore: registered new interface driver rtk_btusb
[    3.586370] cpuidle: using governor ladder
[    3.590466] cpuidle: using governor menu
[    3.594937] ## host_id: 0 boot_dev 20 host->index: 0
[    3.600571] gl520x_mmc b0230000.mmc: using dma0chan0 for DMA transfers
[    3.607153] use GPIO to detect SD/MMC card
[    3.611279] owl pinctrl: 1gpio_request_check_pinmux
[    3.616264] owl pinctrl: 1CHECK PMX:P_UART2_CTSB has already been requestedc
[    3.627257] hidraw: raw HID events driver (C) Jiri Kosina
[    3.635837] usbcore: registered new interface driver usbhid
[    3.641413] usbhid: USB HID core driver
[    3.645974] zram: Created 1 device(s) …
[    3.650635] ashmem: initialized
[    3.654014] logger: created 256K log ‘log_main’
[    3.658825] logger: created 256K log ‘log_events’
[    3.663753] logger: created 256K log ‘log_radio’
[    3.668627] logger: created 256K log ‘log_system’
[    3.674760] atm7059-pcm-audio atm7059-pcm-audio: atm7059_pcm_probe!!
[    3.681167] atc2603a_init
[    3.683975] [SNDRV]:[atc2603a_get_cfg] Fail to get device_node
[    3.683975]
[    3.691408] [SNDRV]:[atc2603a_init] audio get cfg failed!
[    3.691408]
[    3.698388] atc2603c_init
[    3.701041] fail get earphone_detect_method
[    3.705321] fail get adc level
[    3.708749] [SNDRV]:[atc2603c_platform_probe] atc2603c_platform_probe
[    3.708749]
[    3.717128] [SNDRV]:[atm7059_dai_probe] it’s ok 0
[    3.717128]
[    3.723330] owl-audio-i2s b0100000.gl5203-audio-i2s: atm7059_dai_probe
[    3.730472] atm7059-hdmi-audio atm7059-hdmi-audio: atm7059_hdmi_probe!!
[    3.737167] [SNDRV]:[atm7059_link_init] atm7059_link_init
[    3.737167]
[    3.744233] [SNDRV]:[atm7059_audio_gpio_init] GPIO[126] request failed
[    3.744233]
[    3.752744] soc-audio soc-audio: ASoC: machine atm7059_link should use snd_s)
[    3.822700] acts_mmc_get_ro: Card read-only status -38
[    3.827866] mmc0: host does not support reading read-only switch. assuming w.
[    3.836939] sd card init ok
[    3.839736] mmc_add_card: bootdev 0x20
[    3.843477] force sd0/sd1 host ext-card
[    3.847335] mmc0: new ultra high speed SDR50 SDHC card at address 59b4
[    3.854126] ## md->name_idx: 0
[    3.857480] mmcblk0: sd_card SD32G 29.9 GiB
[    3.869553]  mmcblk0: p1 p2 p3
[    3.907790] atc2603c-audio atc260x-audio: ASoC: no dapm match for AOUT FL FRx
[    3.917843] atc2603c-audio atc260x-audio: ASoC: Failed to add route AOUT FL x
[    3.931314] soc-audio soc-audio:  atc2603c-dai <-> owl-audio-i2s mapping ok
[    3.939032] soc-audio soc-audio:  atm7059-hdmi-dai <-> owl-audio-i2s mappingk
[    3.947897] u32 classifier
[    3.950606]     Actions configured
[    3.954005] Netfilter messages via NETLINK v0.30.
[    3.958840] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    3.965700] ctnetlink v0.93: registering with nfnetlink.
[    3.971123] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    3.978120] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    3.984514] xt_time: kernel timezone is -0000
[    3.989277] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.994874] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
[    4.001299] arp_tables: (C) 2002 David S. Miller
[    4.006003] TCP: cubic registered
[    4.009315] Initializing XFRM netlink socket
[    4.014365] NET: Registered protocol family 10
[    4.019657] mip6: Mobile IPv6
[    4.022672] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    4.028327] sit: IPv6 over IPv4 tunneling driver
[    4.034400] NET: Registered protocol family 17
[    4.038890] NET: Registered protocol family 15
[    4.043332] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    4.049291] Bluetooth: HIDP socket layer initialized
[    4.054372] l2tp_core: L2TP core driver, V2.0
[    4.058745] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[    4.063529] lib80211: common routines for IEEE802.11 drivers
[    4.069527] VFP support v0.3: implementor 41 architecture 3 part 30 variant 4
[    4.077222] ThumbEE CPU extension supported.
[    4.081615] [PM] owl_pm_init() 1006
[    4.085125] train_Msize:2048, train_ces:2
[    4.106354] start:0xc0008000, end:0xc0a267dc, checksum:0xd1e26d3b
[    4.113671] owlfb owlfb: no driver for display: lcd
[    4.118631] owlfb owlfb: no driver for display: edp
[    4.169485] Console: switching to colour frame buffer device 160×50
[    4.244143] store_mirror_to_hdmi 1
[    4.247665] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.253831] OWL_HDMI: ENTER hdmi_display_enable
[    4.294108] OWL_HDMI: dss_mgr_enable end
[    4.298261] OWL_HDMI: hdmi_power_on_full end
[    4.302727] fifo underflow 0x2
[    4.305899] store_mirror_to_hdmi 1
[    4.309406] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.315650] store_mirror_to_hdmi 1
[    4.319156] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.325397] store_mirror_to_hdmi 1
[    4.328901] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.339707] store_mirror_to_hdmi 1
[    4.347843] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.358634] store_mirror_to_hdmi 1
[    4.366705] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.377501] store_mirror_to_hdmi 1
[    4.385606] OWL_HDMI: ~~~~~~~~~~~~owldss_hdmi_display_set_vid 16
[    4.396765] np c1c78ac0
[    4.403944] boot_hdmi_rotate 3
[    4.411716] boot_hdmi_rotate 3
[    4.419816] regulator-dummy: disabling
[    4.428988] atc260x-rtc atc2603c-rtc.0: setting system clock to 2011-01-01 0)
[    4.444725] ATC260X_POWER: create sysfs for atc260x power
[    4.534255] ——–cpufreq not ready——–
[    4.543546] charger=e1e648c8 2691
[    4.551648] set_vbus_path=c04687c0 set_apds_vbus_pd=c0468874
[    4.564916] ====otgvbus_gpio: num-37, active-high—detect_type=3,idpin_type-
[    4.576252] owl pinctrl: 1gpio_request_check_pinmux
[    4.583978] owl pinctrl: 1CHECK PMX:P_KS_IN2 has already been requested by 0
[    4.599111] ALSA device list:
[    4.607809]   #0: atm7059_link
[    4.614002] Freeing unused kernel memory: 440K (c0a27000 – c0a95000)
[    4.640760] mmc0: Slot status change detected (0 -> 1)
[    4.675602] systemd-udevd[122]: starting version 215
[    4.924486]
[    4.924486] [power] No battery detected
[    4.995958] ATC260X_POWER: atc260x_charger_adjust_current:set constant curre)
[    5.007732] [atc260x_usb_get_prop] first_power_on = false!
[    5.084787]
[    5.084787] ========usb_detect_plugout_event===start det!!========
[    5.100647]
[    5.100647] /mnt/William1.5T/home/less-critical/src/actions/xapple/open-miniT
[    5.122934]
[    5.122934] —-udc_set_plugstate–PLUGSTATE_OUT–
[    5.135997]
[    5.135997] ————dwc3_clk_exit———-
[    5.179140] read_mi_head, line 429, magic 0x0, length 0, item num 0
[    5.188751] read Head null
[    5.194715] OWL_HDMI_ERR: failed to read hdcp key from secure storage
[    5.534078] ++++++++cpufreq ready++++++++
[    5.541529] ++++++++pdata->freq_tab[0].freq_clip_max:504000++++++++
[    5.551203] ++++++++pdata->freq_tab[1].freq_clip_max:504000++++++++
[    5.565620] OWL: Kernel Thermal management registered
[    5.774081]
[    5.774081] /mnt/William1.5T/home/less-critical/src/actions/xapple/open-miniN
[    5.796181] /mnt/William1.5T/home/less-critical/src/actions/xapple/open-mini
[    5.813283]
[    5.813283] —-udc_set_plugstate–PLUGSTATE_IN-2–
[    5.826378]
[    5.826378] ————dwc3_clk_init—–ic=1—–
[    5.841302] [PowerGate] ‘usb3’, skip power on, count 2
[    6.016379]  GS705A phy init for dwc3 gadget 23:01:16
[    6.024935]  GS705A phy init for dwc3 gadget 23:01:16
[    6.033495] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    6.042583] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus n1
[    6.053820]  GS705A phy init for xhci 23:01:16
[    6.062647] xhci-hcd xhci-hcd.0.auto: irq 55, io mem 0xb0400000
[    6.071960] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    6.082042] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1
[    6.092550] usb usb1: Product: xHCI Host Controller
[    6.100695] usb usb1: Manufacturer: Linux 3.10.37 xhci-hcd
[    6.109433] usb usb1: SerialNumber: xhci-hcd.0.auto
[    6.118027] hub 1-0:1.0: USB hub found
[    6.124811] hub 1-0:1.0: 1 port detected
[    6.131939] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    6.140677] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus n2
[    6.151424]
[    6.151424] #xhci_start#
[    6.174358]  ss_try_next_mode:lfps_src_mode=1
[    6.187238] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    6.197000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber1
[    6.207159] usb usb2: Product: xHCI Host Controller
[    6.214968] usb usb2: Manufacturer: Linux 3.10.37 xhci-hcd
[    6.223341] usb usb2: SerialNumber: xhci-hcd.0.auto
[    6.231632] hub 2-0:1.0: USB hub found
[    6.238244] hub 2-0:1.0: 1 port detected
[    6.245235] —-monitor_wake_lock for 10s
[   10.430540] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. )
[   10.722322] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SE)
[   10.738993] systemd[1]: Detected architecture ‘arm’.
[   10.776151] systemd[1]: Set hostname to <localhost.localdomain>.
[   10.785318] systemd[1]: Initializing machine ID from random generator.
[   10.794879] systemd[1]: Installed transient /etc/machine-id file.
[   10.852713] open ttyS2
[   21.227080] open ttyS2
[   21.230334] open ttyS2
[   21.246318] open ttyS2
[   21.249438] open ttyS2
[   21.267852] owlfb_blank~~~~~~~~~~~~~~~blank 1owlfb_blank~~~~~~~~~~~~~~~blank0
Debian GNU/Linux 8 localhost.localdomain ttyS2localhost login:

I’ve also run Linpack to provide a quick benchmark. I’ll run more benchmarks later on.


So for Linpack double precision (DP), Roseapply Pi delivers around 173.8 MFlops, which we can compare against Orange Pi 2 mini (182 to 188 MFlops) and Raspberry Pi 2 (154 Mflops with GCC 4.8).

More Linux based benchmarks results for Actions Semi S500 platform (LeMaker Guitar) can be found on armbian.com including with sysbench cpu and 7-zip tests, and results compared to Raspberry Pi 2, ODROID-C1+, Banana Pi and  Wandboard Quad.

Building a minimal Linux Image for Actions Semi S500 Development Boards

Roseapple Pi website is still work in progress, but they do have instructions to build your own mini SDK, which I tried, and again it all built perfectly from the get go.

I had to install some dependencies in my Ubuntu computer, and setup a working directory:


Then I made sure I had the latest version of the repo tool…


… before checking out the code…


… and starting the build for Bubblegum board:


You’ll notice LeMaker Guitar and Bubblegum are both in the list, as well as some GB5 board. The build completed within a few minutes, and the out directory contains the binary images to copy to the micro SD card.


The instructions on Roseapple Pi website stopped there, but further steps to prepare the SD card can be found on XApple Wiki.

First, create a GPT SD card with one FAT32 partition as follows (replace /dev/sdX by your actual SD card device):


Now go into the images directory, to copy the bootloader, device tree file, and the boot partition with the kernel and initramfs


You could now insert the micro SD card into the board to boot with the initramfs, and type shell when asked to enter the shell.


But you may want to add an extra EXT-4 partition in order to install a rootfs:


Then copy the rootfs you’d like to use such as Debian, Ubuntu, Fedora, Arch Linux ARM… to the new EXT-4 partition, and modify uenv.txt in the FAT32 partition of the micro SD card with something like:


That’s it, you’ve just built and created your own distribution for Roseapple Pi.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

26 Replies to “Linux Quick Start Guide for Roseapple Pi Board based on Actions Semi S500 Processor”

  1. Interesting to hear that their Linux image also suffers from the same HDMI problem (the LCD resolution defined in the .dts/.dtb is the master resolution and dictates the one of the slave device: HDMI). And funny that they’re not able to resolve that since that means that at least two companies playing with Actions Semi’s SDK have no clue regarding this (the other company being LeMaker with their Guitar)

    Would be interesting which SoC/PMU temperatures you get when running benchmarks (kernel with 1.3 GHz enabled sent via eMail).

    When I did a review of LeMaker’s Guitar I managed to trigger an emergency shutdown at 125°C SoC temperature since thermal throttling sometimes doesn’t work (should clock the CPU cores down when reaching 105°C). Informations how to read out temps and some other useful S500 stuff in my Guitar review: http://forum.armbian.com/index.php/topic/311-quick-review-of-lemakers-guitar/

  2. @cnxsoft
    Unless the board’s manufacturer doesn’t provide a PIN mapping (which of the SoC’s and PMU’s GPIO pins are mapped to which physical pin headers on the board?) you can’t do that much using sysfs

  3. One sidenote and a small question: Since Actions Semi’s SDK and build system uses GPT a partition resize within a running Linux system has to happen using parted. There’s a description:http://wiki.lemaker.org/LeMaker_Guitar:How_to_resize_system_partition

    And it would be really interesting how these values look on Roseapple Pi regarding voltage/current available:
    cat /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0/wall_current
    cat /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0/wall_voltage
    (I would assume they use the Micro-USB connector as ‘wall’ power input, if not vbus_* might be interesting instead. I noticed so many times undervoltage situations with Micro-USB cables/connectors that I’m really suspicious when a board that’s able to reach 8W under full load is using this as power source)

  4. @tkaiser
    I just used Gparted in my computer, and it worked too.

    I’ve already switch to another hardware platform. I’ll probably get back to Roseapple Pi board in about two weeks, when I’ll do some more testing. So I’ll check out those values at the time.

    You’d probably need a small fan (even at 1.1 GHz?) if you are going to run it as a server or others with sustained loads.

    I’ve heard one of the Linaro guys (via a Charbax video) saying most low cost boards don’t last long under load.

  5. But will last longer with a heatsink + cooling fan?
    I have a pcDuino3 Nano at home, but didn’t dare to use it since it lacks heatsink.
    How can i get power to a fan as well?

    cnxsoft :
    @tkaiser
    I just used Gparted in my computer, and it worked too.
    You’d probably need a small fan (even at 1.1 GHz?) if you are going to run it as a server or others with sustained loads.
    I’ve heard one of the Linaro guys (via a Charbax video) saying most low cost boards don’t last long under load.

  6. Fossxplorer :
    I have a pcDuino3 Nano at home, but didn’t dare to use it since it lacks heatsink.
    How can i get power to a fan as well?

    The pcDuino3 Nano features an A20 SoC which doesn’t get that hot (even under full load the temperatures are 10°C below S500’s idle temp). I made extensive testings with A20 boards and there you only have to care about the PMU’s temp since it can shut down immediately when overheating: http://www.lemaker.org/thread-8137-3-1.html

    If you really care use a heatsink, ensure airflow around SoC and PMU and use monitoring eg. RPi-Monitor (and google for this term together with “sunxi fixes” to get A20/AXP209 supported). And if you don’t have a SATA disk connected then I would use the SATA power connector for a fan since this 5V source is directly wired with power-in. The 5V on the PGIO pins are supplied through the PMU. When a fan has to be fed then the PMU has more to do and gets hotter 😉

  7. @cnxsoft – Thanks for the link!

    @tkaiser – Nice hint that a quad-core version of the A20 exists! You have actual hardware in hand?
    “not yet released SBC with Allwinner’s A20 quad core successor, 1.1 GHz”

  8. @cnxsoft: thanks for this informative article. I saw the Android image download page from the website is Android 5.1.1 instead Android 4.4~ FYI,

  9. miniNodes :
    @tkaiser – Nice hint that a quad-core version of the A20 exists! You have actual hardware in hand?

    Nope, just rumours spread by Olimex: https://olimex.wordpress.com/2015/07/09/allwinner-did-it-again-new-quad-core-powerful-chip-pin-to-pin-compatible-with-a10-and-a20/

    And Tsvetan added some time ago that Allwinner won’t start shipping prior to the end of the year or even 2016: https://olimex.wordpress.com/2015/07/22/olinuxino-roadmap-2015/#comment-19169

  10. xxiao :
    let’s not forget the 1GB port, better two of them.

    According to Olimex Allwinner announced a pin compatible A20 successor. Threrefore forget about USB3 and more ports. We can just hope that the current A20’s SATA write limitation is not caused by some piece of driver code but by a (then fixed) bug in silicone. But I wouldn’t expect even that.

  11. Hi all,
    This article explained well how to create a new distribution for Roseapple Pi.
    However, there is one issue, whenever I start my newly created Lubuntu, ramdisk first says cannot find block device on root and cannot mount my rootfs unless I press “q” to quit. Then it goes well to my rootfs.

    Do you guys have any clue why the ramdisk tries to load my rootfs to “newroot” folder and it cannot changeroot to my real rootfs?
    Is there any fix for that or just guide me why ramdisk cannot mount my rootfs at first place?

    I had a look at init script but couldn’t find anything to fix this issue!!!
    I had no issue with my rootfs on other boards who are not using ramdisk but Roseapple does.

    I really do appreciate your help as I stuck to this point for a long time.

  12. @Saeid
    I have not tried. I think the settings in uenv.txt should prevent the ramdisk from mounting.

    It would probably pay off to study uenv.txt in the Debian image, and compare its boot log with yours.

  13. @cnxsoft
    Regarding “Usually faster than RPi 2 and ODROID-C1” I have to disagree. Compared to the ODROID C1 only Bill’s sysbench run showed an advantage for the Guitar. And when I did my S500 review sysbench times were identical compared with the ODROID C1+ (138 vs. 134 seconds). But the most important drawback of the S500 are the thermal issues when running under fuil load. The S500’s idle temperature might exceed the ‘full load’ temperature of the C1+ and when the S500 runs on all 4 cores thermal throttling might occur and performance drastically decreases. Therefore if you’re searching for a fast board without an annoying fan both C1+ and the RPi 2 are better choices.

  14. Not able to use USB to serial converter and in board rx tx pin of the gpio 8 and 10 PIN number…. How do I use them …. I have done all development in raspberry pi and I have not faced such problems. Send me the steps to disable console port and enable serial ports and USB serial converter. The Debian 8.1 does indentify the vendor and product ID but cannot generate serial port for the converter.

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon Rockchip and Allwinner SoM and SBC products
Boardcon Rockchip and Allwinner SoM and SBC products