Краткое руководство по Linux для платы Roseapple Pi на базе процессора Actions Semi S500

Roseapple Pi — это плата разработчика на базе процессора Actions Semi S500 с 2 ГБ ОЗУ, портом USB 3.0 и другими интерфейсами, основанная на эталонной конструкции Actions Semi Bubblegum-S500 , также используемой платой Lemon Pi . Команда проекта предоставила ранний образец для тестирования. Далее представлены фотографии, инструкции по установке и настройке Debian 8.1, а также сборке и запуску минимального образа из исходного кода. Эти инструкции также подходят для плат Lemon Pi и LeMaker Guitar .

Фотографии Roseapple Pi

Плата была получена в пузырчатой упаковке с благодарственным письмом, сама плата — в антистатическом пакете. Аксессуары не прилагались.

Click to Enlarge
Нажмите для увеличения

Интерфейсы, разъемы и контакты (сверху слева против часовой стрелки): 4-контактный UART-консоль, два порта USB 2.0, один порт USB 3.0, 10/100 Ethernet, 40-контактный совместимый с Raspberry Pi разъем, разъем MIPI DSI, micro USB для питания, выход HDMI, выход AV и разъем MIPI CSI для камеры. Плата обозначена как Actions_S500_v1.1, процессор оснащен небольшим приклеенным радиатором. Для реализации 2 ГБ ОЗУ использованы два чипа SDRAM Samsung. Возле разъема HDMI присутствует маркировка SINACT — производителя печатных плат (возможно, не разработчика), чье название также встречается на   Lemon Pi и Bubblegum-96 .

Click to Enlarge

Нажмите для увеличенияНа обратной стороне платы расположен слот micro SD и нераспаянная площадка для eMMC.

Установка и настройка Debian 8.1 на Roseapple Pi

Debian 8.1 и Android 5.1.1 доступны на странице загрузки (Google Drive или Baidu). Процесс загрузки не идеален — потребовалось более 10 попыток для получения образов. Регистрация на форумах прошла без сложностей, в отличие от опыта с форумами Orange Pi, требовалось только подтверждение email.

Процедура записи образа стандартна: после скачивания и распаковки прошивки образ записывается на SD-карту объемом 8 ГБ или больше (рекомендуется Class 10) с помощью dd в Linux или Win32DiskImager в Windows. Пример для Ubuntu 14.04:

bzip2 -d debian-s500-20151008.img.bz2
sudo umount /dev/sdX*
sudo dd if=debian-s500-20151008.img | pv | sudo dd of=/dev/sdX bs=16M
sync

где X — устройство micro SD, проверяемое командой lsblk:

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 461.8G  0 part /
└─sda3   8:3    0   3.5G  0 part [SWAP]
sdb      8:16   1  29.9G  0 disk 
├─sdb1   8:17   1    12M  0 part /media/jaufranc/29BC-6723
└─sdb2   8:18   1  29.9G  0 part /media/jaufranc/a79d3e8d-e757-4c86-b88b-c5978c9
sdc      8:32   1  58.6G  0 disk 
└─sdc1   8:33   1  58.6G  0 part /media/jaufranc/5402EA4202EA28A6
sr0     11:0    1  1024M  0 rom

На примере: sda (465.8 ГБ) — жесткий диск, sdb (29.9 ГБ) — целевая карта, sdc (58.6 ГБ) — USB-накопитель. Важно выбрать корректное устройство во избежание потери данных.

Для карты 32 ГБ и образа 7.4 ГБ требуется расширить раздел rootfs. После извлечения и повторного подключения карты используйте GParted:

sudo gparted /dev/sdX

При появлении запросов на исправление ошибок выберите «Fix» для успешного изменения размера.

roseapple_pi-resize_rootfs Выберите /dev/sdb3, нажмите иконку изменения размера и увеличьте раздел до максимума. Подтвердите операцию зеленой галочкой.

Теперь SD-карту можно установить в плату.

Запуск Debian 8 на Roseapple Pi

Подключены последовательная консоль, USB-клавиатура и мышь, Ethernet и USB 3.0-накопитель. Как видно на фото, пространство ограничено — для крупных накопителей может потребоваться USB-хаб.

Roseapple_Pi_USB_3.0_Drive

Первая попытка загрузки не удалась. После нескольких корректировок кабеля micro USB и отключения USB-устройств загрузка прошла успешно. Для надежности рекомендуется удерживать кнопку питания 2-3 секунды.

Время загрузки до экрана входа — менее 30 секунд. Логин и пароль: **linaro**.

Click for Original Size
Нажмите для исходного размера

Установлены Iceweasel, LibreOffice и Gnome Player. Производительность сопоставима с другими ARM-платформами. Выход видео — 1080p60, но реальное разрешение фреймбуфера — 1280×800 (см. скриншот). Тестирование воспроизведения видео и браузера будет проведено отдельно.

Инструкции выполнены без сложностей. Дополнительные сведения о системе:

linaro@localhost:~$ uname -a
Linux localhost.localdomain 3.10.37 #1 SMP PREEMPT Wed Oct 7 23:01:30 CST 2015 x
linaro@localhost:~$ cat /etc/issue                                              
Debian GNU/Linux 8 \n \l                                                        
                                                                                
linaro@localhost:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq   
1104000                                                                         
linaro@localhost:~$ free -h                                                     
             total       used       free     shared    buffers     cached       
Mem:          2.0G       266M       1.7G        13M        96M        63M       
-/+ buffers/cache:       106M       1.9G                                        
Swap:           0B         0B         0B                                        
linaro@localhost:~$ df -h                                                       
Filesystem      Size  Used Avail Use% Mounted on                                
/dev/mmcblk0p3   30G  3.6G   25G  13% /                                         
udev             10M     0   10M   0% /dev                                      
tmpfs           402M  5.7M  396M   2% /run                                      
tmpfs          1003M     0 1003M   0% /dev/shm                                  
tmpfs           5.0M  4.0K  5.0M   1% /run/lock                                 
tmpfs          1003M     0 1003M   0% /sys/fs/cgroup                            
tmpfs           201M  4.0K  201M   1% /run/user/116                             
tmpfs           201M     0  201M   0% /run/user/1000  
linaro@localhost:~$ ls -l /sys/class/gpio/                                      
total 0                                                                         
--w------- 1 root root 4096 Jan  1 00:00 export                                 
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip0 -> ../../devices/virtual/gpi0
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip241 -> ../../devices/b0170000.1
lrwxrwxrwx 1 root root    0 Jan  1 00:00 gpiochip248 -> ../../devices/b0170000.8
--w------- 1 root root 4096 Jan  1 00:00 unexport

Версия Linux — 3.10.37, частота CPU — 1.1 ГГц (не 1.3 ГГц, как указано в некоторых источниках), ОЗУ — 2 ГБ, занято 3.6 ГБ из 30 ГБ rootfs. Было обнаружено только 3 GPIO. Запрос на форуме с уточнением деталей пока без ответа. [Обновление: это контроллеры GPIO; нужные пины необходимо экспортировать отдельно].

Маркировка UART-разъема отсутствует, но на форуме описано подключение . Полный лог загрузки:

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 < [email protected] >
[    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:

Для быстрого тестирования производительности запущен Linpack. Детальные тесты — позже.

sudo apt-get install libc6-dev gcc
wget http://www.netlib.org/benchmark/linpackc.new
mv linpackc.new linpack.c
gcc -O3 -o linpack linpack.c -lm
./linpack 
                                                                                
Enter array size (q to quit) [200]:                                             
Memory required:  315K.                                                         
                                                                                
                                                                                
LINPACK benchmark, Double precision.                                            
Machine precision:  15 digits.                                                  
Array size 200 X 200.                                                           
Average rolled and unrolled performance:                                        
                                                                                
    Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS                              
----------------------------------------------------                            
      64   0.55  89.66%   2.96%   7.38%  173839.319                             
     128   1.09  89.63%   2.98%   7.39%  173778.311                             
     256   2.18  89.63%   2.98%   7.39%  173777.194                             
     512   4.37  89.62%   2.98%   7.39%  173768.218                             
    1024   8.74  89.64%   2.97%   7.39%  173806.704                             
    2048  17.47  89.64%   2.97%   7.39%  173817.864

Результат Linpack (DP) — около 173.8 MFlops. Сравнение с Orange Pi 2 mini (182-188 MFlops) и Raspberry Pi 2 (154 Mflops, GCC 4.8).

Дополнительные тесты Actions Semi S500 (LeMaker Guitar) на armbian.com включают sysbench cpu и 7-zip, с сравнением Raspberry Pi 2, ODROID-C1+, Banana Pi и Wandboard Quad.

Сборка минимального образа Linux для плат разработки Actions Semi S500

Сайт Roseapple Pi находится в разработке, но содержит инструкции по сборке минимального SDK . Процесс выполнен без ошибок.

Требовалась установка зависимостей в Ubuntu и создание рабочей директории:

sudo apt-get install make curl git gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler build-essential lib32z1
mkdir -p ~/edev/actions_semi/roseapple_pi/sdk
cd ~/edev/actions_semi/roseapple_pi/sdk

Обновление инструмента repo:

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

Получение кода:

export SDK_ROOT=${HOME}/edev/actions_semi/roseapple_pi/sdk && mkdir ${SDK_ROOT} && cd ${SDK_ROOT}
repo init -u https://github.com/xapp-le/manifest-owl.git 
repo sync 
repo start --all master

Сборка для платы Bubblegum:

cd owl/
./config.sh
Select board type:
     1. bubble_gum
     2. bubble_gum_nor
     3. bubble_gum_sd
     4. gb5_1080p
     5. gb5_720p
     6. gb5_wxga
     7. gb5_wxga_sd
     8. gb5_xga
     9. lemaker_guitar
Which would you like? [bubble_gum] 3
s500 linux bubble_gum_sd configured.
make

В списке поддерживаемых плат: LeMaker Guitar, Bubblegum и GB5. Сборка завершена за несколько минут. Результирующие образы находятся в каталоге **out**.

ls -l out/s500_linux_bubble_gum_sd/images/
total 124676
-rw-r--r-- 1 jaufranc jaufranc   126976 Oct 13 17:35 bootloader.bin
-rw-rw-r-- 1 jaufranc jaufranc      210 Oct 13 17:35 image.md5
-rw-rw-r-- 1 jaufranc jaufranc 50331648 Oct 13 17:35 misc.img
-rwxrwxr-x 1 jaufranc jaufranc 76732096 Oct 13 17:35 s500_linux_bubble_gum_sd_151013.fw
-rw-rw-r-- 1 jaufranc jaufranc   470528 Oct 13 17:35 u-boot-dtb.img

Инструкции на сайте Roseapple Pi ограничены. Дополнительные шаги по подготовке SD-карты приведены на XApple Wiki .

Создание SD-карты с GPT и разделом FAT32 (замените /dev/sdX на актуальное устройство):

export SDCARD=/dev/sdX
sudo parted -s ${SDCARD} mklabel gpt
sudo parted -s ${SDCARD} unit s mkpart primary fat32 16384 147455

Копирование загрузчика, файла дерева устройств и раздела boot с ядром и initramfs из каталога с образами:

cd out/s500_linux_bubble_gum_sd/images/
sudo dd if=bootloader.bin of=${SDCARD} bs=512 seek=4097 
sudo dd if=u-boot-dtb.img of=${SDCARD} bs=512 seek=6144 
sudo dd if=misc.img of=${SDCARD}1 
sync

После загрузки с initramfs введите shell при запросе.

&gt;&gt; Initializing root device...                                                  
!! No select rootdev found                                                      
!! Could not find the root block device in .                                    
!! Please specify another value or:                                             
!! - press Enter for the same                                                   
!! - type "shell" for a shell                                                   
!! - type "q" to skip...                                                        
root block device() :: shell                                                    
** To leave and try again just press +D                                   
/bin/ash: can't access tty; job control turned off                              
/ #                                                                             
/ # df -h                                                                       
Filesystem                Size      Used Available Use% Mounted on              
udev                     10.0M         0     10.0M   0% /dev                    
tmpfs                  1002.8M         0   1002.8M   0% /dev/shm                
/ #

Для установки rootfs добавьте раздел EXT-4:

sudo parted ${SDCARD}
 GNU Parted 2.3
 Using /dev/sdb
 Welcome to GNU Parted! Type 'help' to view a list of commands.
 (parted) unit s mkpart primary ext4 147456 -1
 Warning: You requested a partition from 147456s to 15523839s.
 The closest location we can manage is 147456s to 15523806s.
 Is this still acceptable to you?
 Yes/No? yes
 (parted) quit
 Information: You may need to update /etc/fstab.

Скопируйте rootfs (Debian, Ubuntu, Fedora, Arch Linux ARM…) в новый раздел EXT-4. Измените uenv.txt в разделе FAT32:

uenvcmd=setenv os_type linux;
	bootargs=earlyprintk clk_ignore_unused selinux=0 scandelay console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2

Образ ОС для Roseapple Pi собран и готов к использованию.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments