PocketGo-S30 Custom Firmware
The Pocket-Go S30 (also known as Miyoo-350 as marked on the board) is an Allwinner A33 SOC (sun8i) based console.
The original firmware (OFW) modifications have not been published by the vendor, therefore breaching the GPL license its software is based upon. This page is a summary of the efforts to develop an open source firmware based on the available open source sunxi/allwinner u-boot and kernels.
Status/To-Do list
Complete
- UART output from Mainline U-Boot
- Booting into U-Boot from USB (sunxi-fel)
- Booting into U-Boot from SDCard
Ongoing
- U-Boot spinor support
- Kernel boot/console output
Pending
Accessing the console with the original firmware
The OFW has adb daemon enabled, so you can use it to open a terminal session on the console. From an ubuntu linux pc:
$ sudo udevadm trigger
$ adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
zkswe@flythings:/ # ls
bin dev init mnt sbin system userdata
data etc lib proc sys tmp usr
zkswe@flythings:/ #
You can find a full output of the dmesg output at the bottom of this page
The original kernel:
uname -a
Linux localhost 3.4.39 #154 SMP PREEMPT Mon Jan 25 07:18:08 UTC 2021 armv7l GNU/Linux
Partitions:
zkswe@flythings # cat /proc/partitions
major minor #blocks name
31 0 384 mtdblock0
31 1 128 mtdblock1
31 2 7296 mtdblock2
31 3 128 mtdblock3
31 4 256 mtdblock4
179 0 30910464 mmcblk0 <- SDCARD device
179 1 30909440 mmcblk0p1 <- SDCard partition 1
The partitions can also be seen via dmesg:
[ 0.409669] m25p_probe()1167 - Use the Dual Mode Read.
[ 0.409826] m25p80 spi0.0: found zb25q64, expected w25q128
[ 0.409841] m25p80 spi0.0: zb25q64 (8192 Kbytes)
[ 0.410680] Creating 6 MTD partitions on "spi0.0":
[ 0.410699] 0x000000000000-0x000000060000 : "uboot"
[ 0.411552] 0x000000060000-0x000000080000 : "env"
[ 0.412317] 0x000000080000-0x0000007a0000 : "boot"
[ 0.412996] 0x0000007a0000-0x0000007c0000 : "res"
[ 0.413661] 0x0000007c0000-0x000000800000 : "boot_logo"
[ 0.414339] 0x000000800000-0x000000800000 : "UDISK"
[ 0.414350] mtd: partition "UDISK" is out of reach -- disabled
UART
The only UART connected on the S30 is the UART1 (ttyS1). In order to get the uart to produce any output you need to change the U-boot configuration to redirect the output to that UART. In order to do so you need to change the following:
- Modify the DTS to replace any uart0 mentions to uart1, also change the pins to uart1_pins_a
- Modify the u-boot config:
- CONFIG_CONS_INDEX = 2 (switches to UART1)
- CONFIG_MMC0_CD_PIN=”” (enables booting via SDcard)
As an example, using the sun8i-a33-sinlinx-sina33.dts definition from u-boot (see below for compilation), you can apply this patch:
diff --git a/arch/arm/dts/sun8i-a33-sinlinx-sina33.dts b/arch/arm/dts/sun8i-a33-sinlinx-sina33.dts
index 541acb4d2b..f019fa2a61 100644
--- a/arch/arm/dts/sun8i-a33-sinlinx-sina33.dts
+++ b/arch/arm/dts/sun8i-a33-sinlinx-sina33.dts
@@ -54,7 +54,7 @@
compatible = "sinlinx,sina33", "allwinner,sun8i-a33";
aliases {
- serial0 = &uart0;
+ serial0 = &uart1;
};
chosen {
@@ -276,9 +276,9 @@
};
};
-&uart0 {
+&uart1 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_b>;
+ pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
Mainline U-Boot and Kernel
Allwinner A33 has support for both legacy and mainline U-Boot and kernels. This section focuses on mainline compilation.
Mainline U-BOOT
Obtain the mainline u-boot source code, create a patch file with this content and call it pocketgo-s30.patch
$ git clone git://git.denx.de/u-boot.git
$ cd u-boot
$ patch -p0 < pocketgo-s30.patch
$ make Sinlinx_SinA33_defconfig
$ make CROSS_COMPILE=arm-linux-gnueabihf- -j17
Note: change the -j17 to your number of cores+1 (e.g. 8 cores -> -j9)
The build should generate a u-boot-sunxi-with-spl.bin
u-boot file that can be used via USB with sunxi-fel or flashed to a SDCard
Once u-boot is compiled, you can either boot via tethered USB or flashed SD card.
USB (sunxi-fel) BOOT
Sunxi-fel is part of the sunxi-tools package, you can install it by checking out their repo: https://github.com/linux-sunxi/sunxi-tools
.
After sunxi-fel
is installed you need to put the console in FEL mode. The Pocket-Go S30 does not have a dedicated recovery/reset button, so you can use the fel-sdboot.sunxi image and flash it to a SDcard with:
$ get https://github.com/linux-sunxi/sunxi-tools/raw/master/bin/fel-sdboot.sunxi
$ sudo dd if=fel-sdboot.sunxi of=/dev/sdX bs=1024 seek=8
Note: replace sdX with your sdcard device (you can find it with fdisk -l)
Power down the Pocket-Go S30, insert the new SDCARD that you flashed with fel-sdboot.sunxi
in it, and connect your UART to your compture.
Then you can boot the console via USB:
sunxi-fel -v -p uboot u-boot-sunxi-with-spl.bin
If you have UART connected, you will see the following output:
U-Boot SPL 2022.01-rc2-dirty (Nov 23 2021 - 16:07:52 +0000)
DRAM: 512 MiB
Trying to boot from FEL
U-Boot 2022.01-rc2-dirty (Nov 23 2021 - 16:07:52 +0000) Allwinner Technology
CPU: Allwinner A33 (SUN8I 1667)
Model: PocketGo S30
DRAM: 512 MiB
WDT: Not starting watchdog@1c20ca0
MMC: mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... Unable to use mmc 0:2... Setting up a 320x480 lcd console (overscan 0x0)
In: serial
Out: vidconsole
Err: vidconsole
Allwinner mUSB OTG (Peripheral)
Net: eth0: usb_ether
starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
SDCARD BOOT
Another option is to flash the compiled u-boot (u-boot-sunxi-with-spl.bin
) to the sdcard with:
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
Note: replace sdX with your sdcard device (you can find it with fdisk -l)
Power down the Pocket-Go S30, insert the new SDCARD that you flashed with u-boot-sunxi-with-spl.bin
. Connect your UART and turn on your console. You will see something like:
PocketGo S30 CFW Boot - Click to expand!
```console
U-Boot SPL 2022.01-rc2-00024-g3144ba23bf-dirty (Nov 20 2021 - 04:03:00 +0000)
DRAM: 512 MiB
Trying to boot from MMC1
U-Boot 2022.01-rc2-00024-g3144ba23bf-dirty (Nov 20 2021 - 04:03:00 +0000) Allwinner Technology
CPU: Allwinner A33 (SUN8I 1667)
Model: PocketGo S30
DRAM: 512 MiB
WDT: Not starting watchdog@1c20ca0
MMC: mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment
Setting up a 1024x600 lcd console (overscan 0x0)
In: serial
Out: vidconsole
Err: vidconsole
Allwinner mUSB OTG (Peripheral)
Net: eth0: usb_ether
starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
=> setenv bootargs console=ttyS0,115200 earlyprintk=serial,ttyS1,115200 debug loglevel=7 rootwait root=/dev/mmcblk0p1
=> load mmc 0 0x43000000 boot/sun8i-a33-olinuxino.dtb
21702 bytes read in 3 ms (6.9 MiB/s)
=> load mmc 0 0x42000000 boot/zImage
4087568 bytes read in 172 ms (22.7 MiB/s)
=> bootz 0x42000000 - 0x43000000
Kernel image @ 0x42000000 [ 0x000000 - 0x3e5f10 ]
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Using Device Tree in place at 43000000, end 430084c5
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.0.0 (acmeplus@endymion) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #3 SMP Fri Nov 26 1
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Olimex A33-OLinuXino
[ 0.000000] printk: bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 16 MiB at 0x5d000000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.982066] hub 1-0:1.0: 1 port detected
[ 0.986741] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 0.993386] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 1.001344] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[ 1.076061] hub 2-0:1.0: USB hub found
[ 1.079842] hub 2-0:1.0: 1 port detected
[ 1.084569] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.095330] usb_phy_generic usb_phy_generic.0.auto: Linked as a consumer to regulator.0
[ 1.103660] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.109404] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 1.118413] hub 3-0:1.0: USB hub found
[ 1.122213] hub 3-0:1.0: 1 port detected
[ 1.127172] sun8i-a33-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 1.137291] sunxi-mmc 1c0f000.mmc: Linked as a consumer to regulator.1
[ 1.144328] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[ 1.174253] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.181508] simple-framebuffer 5e000000.framebuffer: Linked as a consumer to regulator.6
[ 1.189675] simple-framebuffer 5e000000.framebuffer: framebuffer at 0x5e000000, 0x96000 bytes, mapped to 0x(ptrval)
[ 1.200136] simple-framebuffer 5e000000.framebuffer: format=x8r8g8b8, mode=320x480x32, linelength=1280
[ 1.212411] Console: switching to colour frame buffer device 40x30
[ 1.221094] simple-framebuffer 5e000000.framebuffer: fb0: simplefb registered!
[ 1.228459] sun6i-rtc 1f00000.rtc: setting system clock to 1970-01-01T00:00:14 UTC (14)
[ 1.236793] ALSA device list:
[ 1.239759] No soundcards found.
[ 1.244068] Waiting for root device /dev/mmcblk0p1...
[ 1.278480] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.288323] mmc0: new high speed SDXC card at address 59b4
[ 1.295033] mmcblk0: mmc0:59b4 58.2 GiB
[ 1.301732] mmcblk0: p1
[ 1.336164] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 1.344364] VFS: Mounted root (ext4 filesystem) readonly on device 179:1.
[ 1.351730] devtmpfs: mounted
[ 1.355798] Freeing unused kernel memory: 1024K
[ 1.381592] Run /sbin/init as init process
[ 1.455036] random: fast init done
[ 1.458519] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Initializing random number generator: OK
Saving random seed: [ 1.566874] random: dd: uninitialized urandom read (512 bytes read)
OK
Starting network: OK
Welcome to A33 OLinuXino!
A33-olinuxino login: root
```
KERNEL
Additional info/files
U-Boot Patch
Mainline U-Boot patch
```diff
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index cc34da7bd8..cccb4e18e7 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -598,6 +598,7 @@ dtb-$(CONFIG_MACH_SUN8I_A33) += \
sun8i-a33-olinuxino.dtb \
sun8i-a33-q8-tablet.dtb \
sun8i-a33-sinlinx-sina33.dtb \
+ sun8i-a33-pocketgo-s30.dtb \
sun8i-r16-bananapi-m2m.dtb \
sun8i-r16-nintendo-nes-classic-edition.dtb \
sun8i-r16-parrot.dtb
diff --git a/arch/arm/dts/sun8i-a33-olinuxino.dts b/arch/arm/dts/sun8i-a33-olinuxino.dts
index a1a1eb64ca..7ec00a5bea 100644
--- a/arch/arm/dts/sun8i-a33-olinuxino.dts
+++ b/arch/arm/dts/sun8i-a33-olinuxino.dts
@@ -52,7 +52,7 @@
compatible = "olimex,a33-olinuxino","allwinner,sun8i-a33";
aliases {
- serial0 = &uart0;
+ serial0 = &uart1;
};
chosen {
@@ -205,9 +205,9 @@
status = "okay";
};
-&uart0 {
+&uart1 {
pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_b>;
+ pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig
index 4eb5300b04..58d80a7f6f 100644
--- a/configs/Sinlinx_SinA33_defconfig
+++ b/configs/Sinlinx_SinA33_defconfig
@@ -5,8 +5,9 @@ CONFIG_SPL=y
CONFIG_MACH_SUN8I_A33=y
CONFIG_DRAM_CLK=552
CONFIG_DRAM_ZQ=15291
-CONFIG_MMC0_CD_PIN="PB4"
+CONFIG_MMC0_CD_PIN=""
CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_SPL_SPI_SUNXI=y
CONFIG_USB0_ID_DET="PH8"
CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:66000,le:90,ri:160,up:3,lo:127,hs:70,vs:20,sync:3,vmode:0"
CONFIG_VIDEO_LCD_DCLK_PHASE=0
@@ -20,3 +21,4 @@ CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_MUSB_GADGET=y
CONFIG_USB_FUNCTION_MASS_STORAGE=y
+CONFIG_CONS_INDEX=2
```
OFW dmesg output
PocketGo S30 OFW dmesg output - Click to expand!
```console
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.39 (jf@jf) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #154 SMP PREEMPT Mon Jan 25 07:18:08 UTC 2021
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: sun8i
[ 0.000000] Initialized persistent memory from 43080800-430907ff
[ 0.000000] cma: CMA: reserved 128 MiB at 58000000
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] On node 0 totalpages: 131072
[ 0.000000] free_area_init_node: node 0, pgdat c09a8240, node_mem_map c0aea000
[ 0.000000] Normal zone: 1152 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 129920 pages, LIFO batch:31
[ 0.000000] script_init enter!
[ 0.000000] script_init exit!
[ 0.000000] PERCPU: Embedded 7 pages/cpu @c0f7a000 s6592 r8192 d13888 u32768
[ 0.000000] pcpu-alloc: s6592 r8192 d13888 u32768 alloc=8*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129920
[ 0.000000] Kernel command line: console= init=/sbin/init disp_para=100 ion_cma_list=32m,64m,128m boot_type=1 loglevel=0 partitions= initcall_debug=0 fb_base=0x41800000
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 512MB = 512MB total
[ 0.000000] Memory: 376396k/376396k available, 147892k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc04ff000 (5084 kB)
[ 0.000000] .init : 0xc04ff000 - 0xc08a79c0 (3747 kB)
[ 0.000000] .data : 0xc08a8000 - 0xc09a8f80 (1028 kB)
[ 0.000000] .bss : 0xc09a9e00 - 0xc0ae9150 (1277 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:416
[ 0.000000] Architected local timer running at 24.00MHz.
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000185] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000)
[ 0.000204] pid_max: default: 4096 minimum: 301
[ 0.000340] Security Framework initialized
[ 0.000416] Mount-cache hash table entries: 512
[ 0.001257] CPU: Testing write buffer coherency: ok
[ 0.001485] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.001496] [sunxi_smp_prepare_cpus] enter
[ 0.001533] Setting up static identity map for 0x403b39e8 - 0x403b3a40
[ 0.006150] CPU1: Booted secondary processor
[ 0.006214] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.010000] CPU2: Booted secondary processor
[ 0.010000] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.010334] CPU3: Booted secondary processor
[ 0.010334] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.010446] Brought up 4 CPUs
[ 0.010446] SMP: Total of 4 processors activated (19200.00 BogoMIPS).
[ 0.014036] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.014413] pinctrl core: initialized pinctrl subsystem
[ 0.024343] NET: Registered protocol family 16
[ 0.024859] DMA: preallocated 2048 KiB pool for atomic coherent allocations
[ 0.024859] script_sysfs_init success
[ 0.024859] sunxi_dump_init success
[ 0.024859] gpiochip_add: registered GPIOs 0 to 383 on device: sunxi-pinctrl
[ 0.024859] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[ 0.024859] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctrl
[ 0.024859] persistent_ram: uncorrectable error in header
[ 0.024859] persistent_ram: no valid data in buffer (sig = 0xffffffff)
[ 0.024859] console [ram-1] enabled
[ 0.024859] [sunxi-module]: [sunxi-module.0] probe success
[ 0.024859] script config pll3 to 297 Mhz
[ 0.024859] script config pll4 to 300 Mhz
[ 0.024859] script config pll6 to 600 Mhz
[ 0.024859] script config pll8 to 408 Mhz
[ 0.024859] script config pll9 to 480 Mhz
[ 0.024859] script config pll10 to 297 Mhz
[ 0.024859] sunxi_default_clk_init
[ 0.024859] try to set pll6ahb1 to 200000000
[ 0.024859] try to set ahb clk source to pll6ahb1
[ 0.024859] set ahb clk source to pll6ahb1
[ 0.024859] try to set ahb1 to 200000000
[ 0.024859] try to set apb1 to 100000000
[ 0.030232] bio: create slab at 0
[ 0.030373] [ARISC] :sunxi-arisc driver v1.02
[ 0.030573] [ARISC WARING] :sys_config.fex have no arisc s_uart0 config!
[ 0.030584] [ARISC WARING] :sys_config.fex have no arisc s_jtag0 config!
[ 0.030617] [ARISC WARING] :sys_config.fex have no arisc s_uart0 config!
[ 0.045329] [ARISC] :arisc version: [v0.1.33]
[ 0.051823] [ARISC] :sunxi-arisc driver v1.02 startup succeeded
[ 0.051963] pwm module init!
[ 0.053390] SCSI subsystem initialized
[ 0.053390] usbcore: registered new interface driver usbfs
[ 0.053390] usbcore: registered new interface driver hub
[ 0.053390] usbcore: registered new device driver usb
[ 0.053390] twi_chan_cfg()348 - [twi0] has no twi_regulator.
[ 0.053390] twi_chan_cfg()348 - [twi1] has no twi_regulator.
[ 0.053390] twi_chan_cfg()332 - [twi2] has no twi_used!
[ 0.053390] [axp22_init_chip] read axp22 ic type=0x6
[ 0.060352] current_limit = 1050000
[ 0.060599] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.060908] Switching to clocksource arch_sys_counter
[ 0.061214] FS-Cache: Loaded
[ 0.061334] CacheFiles: Loaded
[ 0.066484] hci: ERR: get ehci1 abh clk failed.
[ 0.066493] hci: ERR: clock_init failed
[ 0.066510] hci: ERR: get ohci1 abh clk failed.
[ 0.066517] hci: ERR: clock_init failed
[ 0.067819] NET: Registered protocol family 2
[ 0.068071] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.068597] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.068841] TCP bind hash table entries: 16384 (order: 5, 196608 bytes)
[ 0.069114] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.069124] TCP: reno registered
[ 0.069398] NET: Registered protocol family 1
[ 0.319482] [pm]aw_pm_init!
[ 0.319508] standby_mode = 1.
[ 0.319515] wakeup src cnt is : 2.
[ 0.319527] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000
[ 0.319537] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x80
[ 0.319547] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x0
[ 0.319557] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000
[ 0.319567] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x280
[ 0.319577] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x0
[ 0.319621] sunxi_reg_init enter
[ 0.320375] audit: initializing netlink socket (disabled)
[ 0.320424] type=2000 audit(0.320:1): initialized
[ 0.321314] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.321376] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.321575] msgmni has been set to 991
[ 0.322604] io scheduler noop registered
[ 0.322616] io scheduler deadline registered
[ 0.322683] io scheduler cfq registered (default)
[ 0.322707] [DISP]disp_module_init
[ 0.324099] [DISP] parser_disp_init_para,line:160: fetch script data disp_init.screen2_output_type fail
[ 0.324116] [DISP] parser_disp_init_para,line:177: fetch script data disp_init.screen2_output_mode fail
[ 0.324140] [DISP] parser_disp_init_para,line:238: fetch script data disp_init.fb2_format fail
[ 0.324153] [DISP] parser_disp_init_para,line:243: fetch script data disp_init.fb2_scaler_mode_enable fail
[ 0.324167] [DISP] parser_disp_init_para,line:248: fetch script data disp_init.fb2_width fail
[ 0.324181] [DISP] parser_disp_init_para,line:253: fetch script data disp_init.fb2_height fail
[ 0.403912] [DISP]disp_module_init finish
[ 0.404064] sw_uart_get_devinfo()2038 - uart1 has no uart_regulator.
[ 0.404081] sw_uart_get_devinfo()2008 - get uart4's usedcfg failed
[ 0.404092] sw_uart_get_devinfo()2052 - get s_uart0 usedcfg failed
[ 0.404412] uart1: ttyS1 at MMIO 0x1c28400 (irq = 33) is a SUNXI
[ 0.404423] sw_uart_pm()1296 - uart1 clk is already enable
[ 0.408245] loop: module loaded
[ 0.408993] sunxi_spi_chan_cfg()1389 - [spi-0] has no spi_regulator.
[ 0.409492] spi spi0: master is unqueued, this is deprecated
[ 0.409603] m25p_probe()1167 - Use the Dual Mode Read.
[ 0.409774] m25p80 spi0.0: found zb25q64, expected w25q128
[ 0.409791] m25p80 spi0.0: zb25q64 (8192 Kbytes)
[ 0.410646] Creating 6 MTD partitions on "spi0.0":
[ 0.410667] 0x000000000000-0x000000060000 : "uboot"
[ 0.411539] 0x000000060000-0x000000080000 : "env"
[ 0.412305] 0x000000080000-0x0000007a0000 : "boot"
[ 0.412994] 0x0000007a0000-0x0000007c0000 : "res"
[ 0.413667] 0x0000007c0000-0x000000800000 : "boot_logo"
[ 0.414344] 0x000000800000-0x000000800000 : "UDISK"
[ 0.414354] mtd: partition "UDISK" is out of reach -- disabled
[ 0.415090] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.415172] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.415223] Initializing USB Mass Storage driver...
[ 0.415300] usbcore: registered new interface driver usb-storage
[ 0.415310] USB Mass Storage support registered.
[ 0.415351] usbcore: registered new interface driver ums-alauda
[ 0.415393] usbcore: registered new interface driver ums-datafab
[ 0.415429] usbcore: registered new interface driver ums-freecom
[ 0.415465] usbcore: registered new interface driver ums-isd200
[ 0.415501] usbcore: registered new interface driver ums-jumpshot
[ 0.415538] usbcore: registered new interface driver ums-karma
[ 0.415579] usbcore: registered new interface driver ums-onetouch
[ 0.415631] usbcore: registered new interface driver ums-realtek
[ 0.415667] usbcore: registered new interface driver ums-sddr09
[ 0.415704] usbcore: registered new interface driver ums-sddr55
[ 0.415742] usbcore: registered new interface driver ums-usbat
[ 0.416063] file system registered
[ 0.417376] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 0.417388] android_usb gadget: Number of LUNs=3
[ 0.417398] lun0: LUN: removable file: (no medium)
[ 0.417408] lun1: LUN: removable file: (no medium)
[ 0.417417] lun2: LUN: removable file: (no medium)
[ 0.417708] android_usb gadget: android_usb ready
[ 0.417937] +++++nbuttons=21
[ 0.417981] +++++poll_interval=40
[ 0.419155] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0
[ 0.419207] i2c /dev entries driver
[ 0.419406] sunxi cedar version 0.1
[ 0.419455] [cedar]: install start!!!
[ 0.419596] [cedar]: install end!!!
[ 0.423265] axp22_dcdc3: Failed to create debugfs directory
[ 0.429564] sunxi_leds_fetch_sysconfig_para script_parser_fetch "leds_para" leds_used = -1071623036
[ 0.429577] =========script_get_err============
[ 0.429650] zram: num_devices not specified. Using default: 1
[ 0.429657] zram: Creating 1 devices ...
[ 0.430213] logger: created 256K log 'log_main'
[ 0.430285] logger: created 256K log 'log_events'
[ 0.430359] logger: created 256K log 'log_radio'
[ 0.430438] logger: created 256K log 'log_system'
[ 0.430629] Linux telephony interface: v1.00
[ 0.431723] [ audio ] err:try to get audio_pa_en failed!
[ 0.431732] request gpio failed!
[ 0.431931] [ audio ] err:try to get usb_detect failed!
[ 0.431939] [ audio ] err:try to get mic_array_led_ctrl failed!
[ 0.437045] asoc: codec-aif1 <-> sunxi-codec mapping ok
[ 0.437272] asoc: codec-aif2 <-> sunxi-codec-aif2-dai mapping ok
[ 0.437436] asoc: codec-aif3 <-> sunxi-codec-aif2-dai mapping ok
[ 0.439503] u32 classifier
[ 0.439510] Actions configured
[ 0.439520] Netfilter messages via NETLINK v0.30.
[ 0.439540] nf_conntrack version 0.5.0 (7929 buckets, 31716 max)
[ 0.439783] ctnetlink v0.93: registering with nfnetlink.
[ 0.439823] IPVS: Registered protocols ()
[ 0.439872] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 0.440059] IPVS: Creating netns size=840 id=0
[ 0.440102] IPVS: ipvs loaded.
[ 0.440268] IPv4 over IPv4 tunneling driver
[ 0.440700] gre: GRE over IPv4 demultiplexor driver
[ 0.440709] ip_gre: GRE over IPv4 tunneling driver
[ 0.441188] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 0.441334] TCP: cubic registered
[ 0.441341] Initializing XFRM netlink socket
[ 0.441364] NET: Registered protocol family 17
[ 0.441386] NET: Registered protocol family 15
[ 0.441510] ThumbEE CPU extension supported.
[ 0.441528] Registering SWP/SWPB emulation handler
[ 0.441880] [LCD]lcd_module_init
[ 0.442312] [LCD]lcd_module_init finish
[ 0.443253] otg_wakelock_init: No USB transceiver found
[ 0.443300] sunxi-rtc sunxi-rtc: setting system clock to 1970-01-01 00:04:51 UTC (291)
[ 0.446421] zkpin_type=0x0
[ 0.446430] zkpin_enmap=0x0
[ 0.446435] zkpin_dirmap=0x0
[ 0.446440] zkpin_pullmap=0x0
[ 0.446445] zkpin_levelmap=0x0
[ 0.446451] zkswe_init ok!
[ 0.446900] ALSA device list:
[ 0.446907] #0: sndcodec
[ 0.446995] Warning: unable to open an initial console.
[ 0.452530] Freeing init memory: 3744K
[ 0.460793] init: could not import file '/init.sun8i.rc' from '/etc/init.rc'
[ 0.477231] *******************Try sdio*******************
[ 0.478076] mmc0: req failed (CMD5): -110, retrying...
[ 0.478913] mmc0: req failed (CMD5): -110, retrying...
[ 0.479747] mmc0: req failed (CMD5): -110, retrying...
[ 0.480588] *******************Try sd *******************
[ 0.504478] mmc0: new high speed SDHC card at address 0001
[ 0.504969] mmcblk0: mmc0:0001 SD16G 29.4 GiB
[ 0.506049] mmcblk0: p1
[ 0.506517] *******************sd init ok*******************
[ 0.547569] *******************Try sdio*******************
[ 0.548408] mmc1: req failed (CMD5): -110, retrying...
[ 0.549242] mmc1: req failed (CMD5): -110, retrying...
[ 0.550080] mmc1: req failed (CMD5): -110, retrying...
[ 0.550917] *******************Try sd *******************
[ 0.554245] *******************Try mmc*******************
[ 0.580870] Mali<2>: Inserting Mali v900 device driver.
[ 0.580885] Mali<2>: Compiled: Jan 25 2021, time: 07:14:04.
[ 0.580893] Mali<2>: Driver revision: -09bed8f
[ 0.580900] Mali<2>: mali_module_init() registering device
[ 0.580944] Mali: ERR: /opt/disk/part1/jf/zkswe_sdk/lichee/linux-3.4/modules/gpu/mali-utgard/kernel_mode/driver/src/devicedrv/mali/linux/mali_platform.c
[ 0.580955] aw_init() 672
[ 0.580958] Failed to get regulator!
[ 0.580966]
[ 0.580995] Mali: Set gpu frequency to 384 MHz
[ 0.581478] Mali: Mali GPU initialization finished.
[ 0.581488] Mali<2>: mali_module_init() registering driver
[ 0.581583] Mali<2>: mali_probe(): Called for platform device mali-utgard
[ 0.581715] Mali<2>: Mali SWAP: Swap out threshold vaule is 60M
[ 0.581814] Mali<2>: Mali memory settings (shared: 0x1F33B000)
[ 0.581825] Mali<2>: Using device defined frame buffer settings (0x0012C000@0x58200000)
[ 0.581836] Mali<2>: Memory Validator installed for Mali physical address base=0x58200000, size=0x0012C000
[ 0.581857] Mali<2>: Mali PM domain: Creating Mali PM domain (mask=0x00001000)
[ 0.581885] Mali<2>: Mali PP: Creating Mali PP core: Mali_PP0
[ 0.581894] Mali<2>: Mali PP: Base address of PP core: 0x1c48000
[ 0.582012] Mali<2>: Found Mali GPU Mali-400 MP r1p1
[ 0.582955] Mali<2>: Mali L2 cache: Created Mali_L2: 64K, 4-way, 64byte cache line, 64bit external bus
[ 0.582988] Mali<2>: Mali MMU: Creating Mali MMU: Mali_GP_MMU
[ 0.583020] Mali<2>: mali_mmu_probe_irq_acknowledge: intstat 0x3
[ 0.583029] Mali<2>: Probe: Page fault detect: PASSED
[ 0.583036] Mali<2>: Probe: Bus read error detect: PASSED
[ 0.583060] Mali<2>: Mali GP: Creating Mali GP core: Mali_GP
[ 0.583094] Mali<2>: Mali MMU: Creating Mali MMU: Mali_PP0_MMU
[ 0.583114] Mali<2>: mali_mmu_probe_irq_acknowledge: intstat 0x3
[ 0.583123] Mali<2>: Probe: Page fault detect: PASSED
[ 0.583130] Mali<2>: Probe: Bus read error detect: PASSED
[ 0.583147] Mali<2>: Mali PP: Creating Mali PP core: Mali_PP0
[ 0.583155] Mali<2>: Mali PP: Base address of PP core: 0x1c48000
[ 0.583200] Mali<2>: Mali MMU: Creating Mali MMU: Mali_PP1_MMU
[ 0.583220] Mali<2>: mali_mmu_probe_irq_acknowledge: intstat 0x3
[ 0.583229] Mali<2>: Probe: Page fault detect: PASSED
[ 0.583236] Mali<2>: Probe: Bus read error detect: PASSED
[ 0.583251] Mali<2>: Mali PP: Creating Mali PP core: Mali_PP1
[ 0.583259] Mali<2>: Mali PP: Base address of PP core: 0x1c4a000
[ 0.583287] Mali<2>: 2+0 PP cores initialized
[ 0.583303] Mali<2>: Mali GPU Timer: 500
[ 0.583312] Mali<2>: Mali GPU Utilization: Utilization handler installed
[ 0.583806] Mali<2>: mali_probe(): Successfully initialized driver for platform device mali-utgard
[ 0.583918] Mali: Mali device driver loaded
[ 0.586993] android_usb: already disabled
[ 0.592614] adb_open
[ 0.592639] mtp_bind_config
[ 0.592669] ep_matches, wrn: endpoint already claimed, ep(0xc0995454, 0xd6f67a00, ep1in-bulk)
[ 0.592683] ep_matches, wrn: endpoint already claimed, ep(0xc0995454, 0xd6f67a00, ep1in-bulk)
[ 0.592693] ep_matches, wrn: endpoint already claimed, ep(0xc09954a0, 0xd6f67a00, ep1out-bulk)
[ 0.592703] gadget_is_softwinner_otg is not -int
[ 0.592709] gadget_is_softwinner_otg is not -int
[ 0.592753] adb_bind_config
[ 0.592767] ep_matches, wrn: endpoint already claimed, ep(0xc0995454, 0xd6f67a00, ep1in-bulk)
[ 0.592779] ep_matches, wrn: endpoint already claimed, ep(0xc09954a0, 0xd6f67a00, ep1out-bulk)
[ 0.592791] ep_matches, wrn: endpoint already claimed, ep(0xc0995454, 0xd6f67a00, ep1in-bulk)
[ 0.592803] ep_matches, wrn: endpoint already claimed, ep(0xc09954a0, 0xd6f67a00, ep1out-bulk)
[ 0.592818] ep_matches, wrn: endpoint already claimed, ep(0xc09954ec, 0xd79112c0, ep2in-bulk)
[ 0.608765] *******************Try sdio*******************
[ 0.609884] mmc1: req failed (CMD5): -110, retrying...
[ 0.610992] mmc1: req failed (CMD5): -110, retrying...
[ 0.612101] mmc1: req failed (CMD5): -110, retrying...
[ 0.613206] *******************Try sd *******************
[ 0.617636] *******************Try mmc*******************
[ 0.670608] *******************Try sdio*******************
[ 0.672300] mmc1: req failed (CMD5): -110, retrying...
[ 0.673970] mmc1: req failed (CMD5): -110, retrying...
[ 0.675628] mmc1: req failed (CMD5): -110, retrying...
[ 0.677288] *******************Try sd *******************
[ 0.683927] *******************Try mmc*******************
[ 0.738538] *******************Try sdio*******************
[ 0.739653] mmc1: req failed (CMD5): -110, retrying...
[ 0.740774] mmc1: req failed (CMD5): -110, retrying...
[ 0.741883] mmc1: req failed (CMD5): -110, retrying...
[ 0.742992] *******************Try sd *******************
[ 0.747433] *******************Try mmc*******************
[ 1.347824] android_usb gadget: high-speed config #1: android
[ 1.606411] mtp_open
[ 4.040116] +++mcu_ts_open
[ 4.090039] WRN:L2917(drivers/usb/sunxi_usb/udc/sunxi_udc.c):pdev is null
[ 4.110045] +++mcu_ts_close
[ 4.160250] +++mcu_ts_open
[ 4.230057] +++mcu_ts_close
[ 4.460298] +++mcu_ts_open
[ 20.912963] adbd (160): /proc/160/oom_adj is deprecated, please use /proc/160/oom_score_adj instead.
[ 96.810328] sunxi_i2c_do_xfer()1001 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x60)
[ 96.810592] sunxi_i2c_do_xfer()1001 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x60)
[ 96.810774] twi_start()450 - [i2c0] START can't sendout!
[ 96.810785] twi_stop()487 - [i2c0] i2c state isn't idle(0xf8)
[ 96.810794] sunxi_i2c_core_process()849 - [i2c0] STOP failed!
```
</details>