@yixiuge 在 pack nor image 居然不能超过 16M,一脸茫然... 中说:
用 grep 命令找到了源码 lichee/brandy/pack_tools/merge_package/merge_package.c
把 #define MAX_IMAGE_SIZE (16<<20) 改为 #define MAX_IMAGE_SIZE (64<<20)
重新编译,覆盖二进制文件,基本OK.
居然又搜到自己发的帖子,省了半天时间。
@yixiuge 在 pack nor image 居然不能超过 16M,一脸茫然... 中说:
用 grep 命令找到了源码 lichee/brandy/pack_tools/merge_package/merge_package.c
把 #define MAX_IMAGE_SIZE (16<<20) 改为 #define MAX_IMAGE_SIZE (64<<20)
重新编译,覆盖二进制文件,基本OK.
居然又搜到自己发的帖子,省了半天时间。
root@TinaLinux:/#
root@TinaLinux:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 17152 17152 0 100% /rom
devtmpfs 26312 0 26312 0% /dev
tmpfs 28412 32 28380 0% /tmp
tmpfs 28412 20 28392 0% /tmp/root
overlayfs:/tmp/root 28412 20 28392 0% /
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# mount
/dev/root on /rom type squashfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=26312k,nr_inodes=6578,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /tmp/root type tmpfs (rw,noatime,mode=755)
overlayfs:/tmp/root on / type overlay (rw,noatime,lowerdir=/,upperdir=/tmp/root/upper,workdir=/tmp/root/work)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
none on /sys/kernel/config type configfs (rw,relatime)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# ls /tmp/root/
upper work
root@TinaLinux:/#
root@TinaLinux:/#
看下我的
处理了N个问题,终于编译出64bit版本了,发现基本没有改善。
现在压力传导给CPU频率和DDR频率了。
可能是这里
/opt/A133/android/device/softwinner/ceres-c3/ceres_c3.mk
#32bit android,you should define TARGET_ARCH := arm
#64bit android,you should define TARGET_ARCH := arm64
TARGET_ARCH ?= arm
ifeq ($(TARGET_ARCH),arm)
$(call inherit-product, device/softwinner/ceres-common/ceres_32_bit.mk)
else ifeq ($(TARGET_ARCH),arm64)
$(call inherit-product, device/softwinner/ceres-common/ceres_64_bit.mk)
endif
$(call inherit-product, device/softwinner/ceres-common/ceres-common.mk)
我试一试看, 如果要全部重新编译一次,得好几个小时。
用 grep 命令找到了源码 lichee/brandy/pack_tools/merge_package/merge_package.c
把 #define MAX_IMAGE_SIZE (16<<20) 改为 #define MAX_IMAGE_SIZE (64<<20)
重新编译,覆盖二进制文件,基本OK.
cant get board_id_enable
script update toc1 ok
packing for tina linux
normal
this is not a partition key
gpt_head->header_crc32 = 0xef933200
GPT----part num 5---
gpt_entry: 128
gpt_header: 92
GPT:bootlogo : 20 21f
GPT:env : 220 31f
GPT:boot : 320 141f
GPT:rootfs : 1420 841f
GPT:UDISK : 8420 842f
update gpt file ok
update mbr file ok
load file: boot0_spinor.fex ok
load file: u-boot-spinor.fex ok
load file: sunxi_mbr_nor.fex ok
load file: sys_partition_nor.bin ok
load file: bootlogo.fex ok
load file: env.fex ok
load file: boot.fex ok
load file: rootfs.fex ok
error:offset(17301504) is too large!
merge_package fail
ERROR: merge_full_img failed
@yixiuge
不信邪,把视频文件resize到 320x240,仍然抖得狠,既撕裂,又异位,人眼看到就是抖了,感觉是显示部分出问题了.
这个视频文件的码率非常低,
60秒才 191K 大小,这是原视频文件:
禁用audio结果还是一样
#define CONFIG_DISABLE_AUDIO (1)
如果dlck 20M 就不抖:
[ 0.421611] pll_freq=297000000HZ, lcd_dclk_freq=20000000HZ, clk_div=14
[ 0.428986] *******************************
[ 0.433412] ***
[ 0.435286] *** LCD Panel Parameter Check
[ 0.439440] ***
[ 0.441307] *** by guozhenjie
[ 0.445503] ***
[ 0.447374] ********************************
[ 0.451822] ***
[ 0.453693] *** Interface:
[ 0.456265] *** Parallel HV Panel
[ 0.459989] *** Lcd Frm to RGB666
[ 0.463473] ***
[ 0.465342] *** Timing:
[ 0.467915] *** lcd_x: 800
[ 0.471190] *** lcd_y: 480
[ 0.474497] *** lcd_ht: 1056
[ 0.477862] *** lcd_hbp: 55
[ 0.481049] *** lcd_vt: 525
[ 0.484357] *** lcd_vbp: 35
[ 0.487546] *** lcd_hspw: 20
[ 0.490735] *** lcd_vspw: 10
[ 0.493953] *** lcd_frame_frq: 36Hz
[ 0.497668] ***
[ 0.499538] *** WRN03: Recommend "lcd_dclk_frq = 33"
[ 0.504688] ***
[ 0.506557] *** LCD Panel Parameter Check End
[ 0.511064] *******************************
如果恢复到33Mhz就抖得不行:
是这个对吗?
package/allwinner/tina_multimedia/libcedarx/libcore/playback/player.c:
#define CONFIG_DISABLE_AUDIO (0)
我改成1 先试一试.
@houxiaoni
嗯,感谢, decodertest 这个问题解决了。
请问 tplayerdemo 抖动的问题怎么解决了,现在我把 dclk 从 33Mhz降到 20Mhz,tplayerdemo 全屏播放不抖了,但是如果app里面用了 ui层和yuv层的话, 在yuv层附近ui层也会抖 .
root@TinaLinux:/# decodertest /tmp/binghe.mp4 /tmp 0 NV21 2 10
WARNING: awplayer <log_set_level:30>: Set log level to 3
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-0 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-1 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-2 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-3 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-4 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-5 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-6 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-7 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-8 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-9 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-10 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-11 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-12 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-13 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-14 ok.
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry adecoder-15 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 15 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open adecoder lib
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.aac comment is "aac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_aacdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.alac comment is "alac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_alacdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.amr comment is "amr_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_amrdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ape comment is "ape_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_apedec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.flac comment is "flac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_flacdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.mp3 comment is "mp3_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_mp3dec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ogg comment is "ogg_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_oggdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.wav comment is "wav_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_wavdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.atrc comment is "atrc_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_atrcdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.cook comment is "cook_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_cookdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ra comment is "ra_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_radec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.sipr comment is "sipr_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_siprdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.dsd comment is "dsd_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_dsddec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.g729 comment is "g729_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_g729dec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.opus comment is "opus_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_opusdec.so
DEBUG : awplayer <CdxPluginLoadList:202>: Load Plugin list vdecoder
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-0 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-1 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-2 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-3 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-4 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-5 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-6 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-7 ok.
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry vdecoder-8 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 8 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open vdecoder lib
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.avs comment is "avs_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawavs.so
ERROR : awplayer <DlOpenPlugin:103>: dlopen 'libawavs.so' fail: Error loading shared library libawavs.so: No such file or directory
DEBUG : awplayer <CdxPluginLoadList:231>: load vdecoder id vdecoder.avs fail!
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.h264 comment is "h264_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawh264.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '115:h264' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mjpeg comment is "mjpeg_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmjpeg.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '101:mjpeg' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg2 comment is "mpeg2_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg2.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '102:mpeg2' success.
warning: cedarc <VDecoderRegister:127>: register codec: '103:mpeg2' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4base comment is "mpeg4base_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4base.so
WARNING: awplayer <DlOpenPlugin:112>: Invalid plugin,function CedarPluginVDInit not found.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4dx comment is "mpeg4dx_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4dx.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '105:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '106:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '107:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10e:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10f:mpeg4dx' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4h263 comment is "mpeg4h263_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4h263.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '104:mpeg4H263' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10b:mpeg4H263' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10d:mpeg4H263' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4normal comment is "mpeg4normal_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4normal.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '10a:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10c:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '108:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '109:mpeg4Normal' success.
DEBUG : awplayer <CdxPluginLoadList:202>: Load Plugin list plugin
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry plugin-0 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 0 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open plugin lib
debug : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open
debug : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug : cedarc <VeInitialize:1198>: ve init ok
debug : ionAlloc <ion_alloc_open:175>:** phy offset = 40000000
debug : cedarc <VeRelease:1253>: ve release ok
before strcpy(tmpUrl, url)
before CdxParserPrepare() file:///tmp/binghe.mp4
DEBUG : awplayer <CdxParserPrepare:728>: source uri 'file:///tmp/binghe.mp4'
DEBUG : awplayer <__FileStreamCreate:533>: local file 'file:///tmp/binghe.mp4'
DEBUG : awplayer <__FileStreamConnect:392>: *************impl->size=1621069
DEBUG : awplayer <__FileStreamConnect:404>: impl->filePath=fd://4?offset=0&length=1621069
DEBUG : awplayer <__FileStreamConnect:486>: :16:[00 00 00 20 66 74 79 70 69 73 6f 6d 00 00 02 00]
DEBUG : awplayer <__FileStreamGetMetaData:363>: redriect url '(null)'
WARNING: awplayer <__FileStreamGetMetaData:368>: key(stream.accessibleUri) not found...
WARNING: awplayer <ParserTypeGuess:586>: Sorry, I don't know what it is!
DEBUG : CdxMovParser <__CdxMovParserProbe:1298>: --- probe: it is mov parser
DEBUG : awplayer <CdxParserCreate:677>: Good, it's 'mov'
DEBUG : CdxMovParser <__CdxMovParserOpen:1235>: --- c->bSeekAble = 1
DEBUG : awplayer <CdxParserCreate:683>: parser type(0)
DEBUG : Mov Id3 Test <_MovParseFtyp:3713>: ---- compatible = isomiso2avc1mp41
DEBUG : Mov Id3 Test <_MovParseTkhd:2176>: tkhd width = 1280, height = 720
DEBUG : Mov Id3 Test <_MovParseMdhd:1982>: -- language = und
DEBUG : Mov Id3 Test <_MovParseStsd:1377>: stsd width = 1280, height = 720
INFO : Mov Id3 Test <_MovParseStbl:1733>: !!!! careful ctts atom is tested yet
DEBUG : Mov Id3 Test <_MovParseCtts:729>: track[0].ctts.entries = 182
DEBUG : Mov Id3 Test <_MovParseStsz:874>: -- sample_size = 0
DEBUG : Mov Id3 Test <_MovParseTkhd:2176>: tkhd width = 0, height = 0
DEBUG : Mov Id3 Test <_MovParseMdhd:1982>: -- language = und
DEBUG : Mov Id3 Test <_MovParseStsz:874>: -- sample_size = 0
DEBUG : Mov Id3 Test <_MovParseStbl:1746>: ============ sbgp
DEBUG : Mov Id3 Test <_MovParseSbgp:663>: ========= grouping_type:0x6c6c6f72
DEBUG : CdxMovParser <__CdxMovParserInit:1178>: ***** mov open success!!
before CdxParserGetMediaInfo()
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:800>: Get mediainfo
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:827>: --- codecformat = 115
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:842>: ---- frame rate = 24000, st->time_scale: 12288, st->sample_duration: 512
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:851>: width = 1280, height = 720
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:854>: extradataSize = 41
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:882>: ********* audio 0************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:883>: ****eCodecFormat: 4
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:884>: ****eSubCodecFormat: 0
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:885>: ****nChannelNum: 2
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:886>: ****nBitsPerSample: 16
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:887>: ****nSampleRate: 48000
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:888>: ****nAvgBitrate: 128867
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:889>: ****nMaxBitRate: 128867
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:890>: ****extradataSize 5
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:891>: ***************************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:934>: streamNum = 2, videoNum = 1, audioNum = 1, subtitleNum = 0
DEBUG : awplayer <CdxMovSetStream:397>: == stss_size: 1
DEBUG : awplayer <CdxMovSetStream:416>: mvhd = 10022,
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:947>: -- mov duration = 10022
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:953>: ****video_avg_bitrate: 1294000
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:974>: --i = 0, stsd_type = 1, stream_index = 0, nb_streams = 2
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:974>: --i = 1, stsd_type = 2, stream_index = 0, nb_streams = 2
DEBUG : awplayer <PrintMediaInfo:466>: *********PrintMediaInfo begin*********
DEBUG : awplayer <PrintMediaInfo:480>: fileSize = 1621069, bSeekable = 1, duration = 10022, audioNum = 1, videoNum = 1, subtitleNum = 0
DEBUG : awplayer <PrintMediaInfo:498>: ***Video[0]*** eCodecFormat = 0x115, nWidth = 1280, nHeight = 720, nFrameRate = 24000, nFrameDuration = 0, bIs3DStream = 0
DEBUG : awplayer <PrintMediaInfo:516>: ***Audio[0]*** eCodecFormat = 0x4, eSubCodecFormat = 0x0, nChannelNum = 2, nBitsPerSample = 16, nSampleRate = 48000
DEBUG : awplayer <PrintMediaInfo:532>: *********PrintMediaInfo end*********
before CreateVideoDecoder()
debug : cedarc <LogVersionInfo:40>:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cedar Codec <<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag : CedarC-v1.1.9
branch: master
commit: 1951abe1456450ea48bfd446e801861a1354e93c
date : Wed May 30 18:59:36 2018 +0800
author: jenkins8080
patch :
----------------------------------------------------------------------
debug : cedarc <CreateVideoDecoder:215>:CreateVideoDecoder ****
before InitializeVideoDecoder()
debug : cedarc <InitializeVideoDecoder:344>:*** pVconfig->nVeFreq = 0
debug : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open
warning: cedarc <InitializeVideoDecoder:428>:warning: the nDeInterlaceHoldingFrameBufferNum is 0
debug : cedarc <DecideStreamBufferSize:1943>:nBufferSize=6291456
debug : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug : cedarc <VeInitialize:1198>: ve init ok
debug : cedarc <VideoEngineCreate:388>: *** pEngine->nIcVeVersion = 1663, decIpVersion = 0
debug : cedarc <VeGetChipId:1385>: 00000000
debug : cedarc <CreateSpecificDecoder:1209>: Create decoder '115:h264'
debug : cedarc <VideoEngineCreate:481>: **************eCtlAfcbMode = 0
debug : cedarc <GetSbmInterface:1705>:*********GetSbmInterface, nType=4
debug : cedarc <GetSbmInterfaceFrame:1663>:******* sbm-type: Frame*******
debug : cedarc <SbmFrameInit:178>:************pSbm->sbmInterface.bUseNewVeMemoryProgram=0
debug : cedarc <CdcMessageQueueCreate:47>:nMessageSize = 20
after InitializeVideoDecoder()
initDecoder OK
decoder input file: file:///tmp/binghe.mp4
decoder output directory: /tmp
output pixel format: NV21
DecodeThread(), thread created
parserThreadFunc(), thread created
debug : cedarc <AvcSbmFrameCheckBitStreamType:320>:result: bStreamWithStartCode[0], with[0], whitout[1]
data trunk number: 153, i = 101
DecodeThread() Decode Video Stream start ....
debug : cedarc <H264ProcessExtraData2:579>: H264ProcessNaluUnit, bNeedFindSPS = 0, bNeedFindPPS = 0
debug : cedarc <H264DecodePictureScanType:2688>: here3:hCtx->bProgressice=1
debug : fbm.c <FbmCreateBuffer:133>:FbmCreate, total fbm number: 3, decoder needed: 3, nWidth=1280, nHeight=720 nAlignStride = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 0, maxNum = 3
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 1, maxNum = 3
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 2, maxNum = 3
debug : fbm.c <FbmCreateBuffer:379>:*** finish fbmCreateBuffer
warning: cedarc <H264MallocBuffer:1235>: h264 scale down fbm buffer number need double check!
debug : fbm.c <FbmCreateBuffer:133>:FbmCreate, total fbm number: 8, decoder needed: 3, nWidth=1280, nHeight=720 nAlignStride = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 0, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 1, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug [ 263.504634] sunxi-ion ion.6: Fail to allocate buffer
: fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 2, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 3, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 4, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 5, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 6, maxNum = 8
debug : fbm.c <FbmAllocatePictureBuffer:1410>:pPicture->bEnableAfbcFlag = 0
debug : fbm.c <FbmCreateBuffer:226>:** call allocate pic buf, i = 7, maxNum = 8
error : ionAlloc <ion_alloc_palloc:335>:ION_IOC_ALLOC error
error : fbm.c <FbmAllocatePictureBuffer:1407>:memory alloc fail, require 1382400 bytes for picture buffer.
error : fbm.c <FbmCreateBuffer:294>:memory alloc fail, only 7 frames allocated, we need 8 frames.
debug : cedarc <H264ProcessNaluUnit:2448>: malloc buffer error
decoder return error. decoder exit
decoder thread exit....
hevc parser receive other thread error. exit flag
parser exit.....
demoDecoder finish.decode frame: 0, cost 0 s
WARNING: Id3Base <EraseId3:1059>: id3 has already been free
DEBUG : awplayer <CdxMovClose:204>: mov close stream = 0xb6cc5d80
DEBUG : awplayer <__FileStreamClose:167>: FileStreamClose
after CdxParserClose()
debug : cedarc <ProcessThread:1656>: exit sbm thread
debug : cedarc <VeRelease:1253>: ve release ok
root@TinaLinux:/#
想试一下单解码, 也挂了:
[ 63.124981] sunxi-ion ion.6: Fail to allocate buffer
[ 100.639605] sunxi-ion ion.6: Fail to allocate buffer
[ 106.299117] sunxi-ion ion.6: Fail to allocate buffer
[ 263.504634] sunxi-ion ion.6: Fail to allocate buffer
请教CreateVideoOutport 与 照着例程写解码程序然后再用scaler转yuv 有什么区别呢?
root@TinaLinux:/mnt/exUDISK/abc# tplayerdemo
set c200s audio pass through
numid=23,iface=MIXER,name='head phone volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=63,step=0
: values=30
amixer: Control default element TLV read error: No such device or address
WARNING: awplayer <log_set_level:30>: Set log level to 3
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-0 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-1 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-2 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-3 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-4 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-5 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-6 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-7 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-8 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-9 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-10 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-11 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-12 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-13 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry adecoder-14 ok.
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry adecoder-15 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 15 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open adecoder lib
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.aac comment is "aac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_aacdec.so
DEBUG : awplayer <AwStreamInit:97>: aw stream init...
DEBUG : awplayer <AwStreamInit:131>: stream list size:6
INFO : awplayer <AwParserInit:399>: aw parser init...
DEBUG : awplayer <AwParserInit:470>: aw parser size:17
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.alac comment is "alac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_alacdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.amr comment is "amr_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_amrdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ape comment is "ape_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_apedec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.flac comment is "flac_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_flacdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.mp3 comment is "mp3_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_mp3dec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ogg comment is "ogg_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_oggdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.wav comment is "wav_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_wavdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.atrc comment is "atrc_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_atrcdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.cook comment is "cook_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_cookdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.ra comment is "ra_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_radec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.sipr comment is "sipr_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_siprdec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.dsd comment is "dsd_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_dsddec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.g729 comment is "g729_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_g729dec.so
DEBUG : awplayer <DlOpenPlugin:96>: plugin adecoder.opus comment is "opus_adecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libaw_opusdec.so
DEBUG : awplayer <CdxPluginLoadList:202>: Load Plugin list vdecoder
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-0 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-1 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-2 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-3 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-4 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-5 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-6 ok.
DEBUG : awplayer <ReadPluginEntry:178>: read plugin entry vdecoder-7 ok.
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry vdecoder-8 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 8 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open vdecoder lib
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.avs comment is "avs_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawavs.so
ERROR : awplayer <DlOpenPlugin:103>: dlopen 'libawavs.so' fail: Error loading shared library libawavs.so: No such file or directory
DEBUG : awplayer <CdxPluginLoadList:231>: load vdecoder id vdecoder.avs fail!
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.h264 comment is "h264_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawh264.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '115:h264' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mjpeg comment is "mjpeg_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmjpeg.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '101:mjpeg' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg2 comment is "mpeg2_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg2.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '102:mpeg2' success.
warning: cedarc <VDecoderRegister:127>: register codec: '103:mpeg2' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4base comment is "mpeg4base_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4base.so
WARNING: awplayer <DlOpenPlugin:112>: Invalid plugin,function CedarPluginVDInit not found.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4dx comment is "mpeg4dx_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4dx.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '105:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '106:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '107:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10e:mpeg4dx' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10f:mpeg4dx' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4h263 comment is "mpeg4h263_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4h263.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '104:mpeg4H263' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10b:mpeg4H263' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10d:mpeg4H263' success.
DEBUG : awplayer <DlOpenPlugin:96>: plugin vdecoder.mpeg4normal comment is "mpeg4normal_vdecoder"
DEBUG : awplayer <DlOpenPlugin:97>: plugin open lib: libawmpeg4normal.so
DEBUG : awplayer <DlOpenPlugin:116>: plugin init : CedarPluginVDInit
warning: cedarc <VDecoderRegister:127>: register codec: '10a:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '10c:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '108:mpeg4Normal' success.
warning: cedarc <VDecoderRegister:127>: register codec: '109:mpeg4Normal' success.
DEBUG : awplayer <CdxPluginLoadList:202>: Load Plugin list plugin
DEBUG : awplayer <ReadPluginEntry:194>: read plugin entry plugin-0 fail!
DEBUG : awplayer <CdxPluginLoadList:221>: have config 0 entry
DEBUG : awplayer <CdxPluginLoadList:222>: start to open plugin lib
******************************************************************************************
* This program implements a simple player, you can type commands to control the player.
* To show what commands supported, type 'help'.
******************************************************************************************
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tina_multimedia <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag : tina3.5
branch: tina-dev
date : Mon Jul 15 19:04:59 2019 +0800
Change-Id: I5f6c8a88d7b387a312b7744797a0d5f8ab07ee7a
-------------------------------------------------------------------------------
DEBUG : tplayer <TPlayerCreate:193>: TPlayerCreate
DEBUG : awplayer <XPlayerCreate:219>: XPlayerCreate.
DEBUG : awplayer <LogVersionInfo:34>:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CedarX <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag : CedarX-2.8.0
branch: master
commit: 967535b8ff6a073cb4f38e85a4ae5fa6008014d8
date : Mon, 15 May 2017 01:30:22 +0000 (09:30 +0800)
author:
----------------------------------------------------------------------
DEBUG : tsoundcontrol <TSoundDeviceCreate:151>: TinaSoundDeviceInit()
DEBUG : tsoundcontrol <openSoundDevice:17>: openSoundDevice() in dmix style
DEBUG : awplayer <LayerCreate:958>: LayerCreate.
DEBUG : awplayer <LayerCreate:978>: ==== callback: 0xb6f50e5c, pUser: 0xb6ff1e40
DEBUG : awplayer <LayerCreate:989>: screen:w 800, screen:h 480
DEBUG : tsubtitlectrl <SubtitleCreate:84>: ==== pCallback: 0xb6f50ccc, pUser: 0xb6ff1e40
DEBUG : awplayer <XPlayerSetVideoSurfaceTexture:594>: setVideoSurfaceTexture, surface = 0x1178710
DEBUG : awplayer <XPlayerThread:1906>: process message XPLAYER_COMMAND_SET_SURFACE.
DEBUG : awplayer <XPlayerThread:1967>: ==== process message XPLAYER_COMMAND_SET_SUBCTRL.
DEBUG : awplayer <PlayerSetSubCtrl:679>: === PlayerSetSubCtrl
DEBUG : awplayer <XPlayerSetDeinterlace:695>: set deinterlace
DEBUG : awplayer <XPlayerThread:1982>: ==== process message XPLAYER_COMMAND_SET_SUBCTRL.
dd: writing '/dev/fb0': No space left on device
6001+0 records in
6000+0 records out
tplayerdemo# play url:/mnt/exUDISK/abc/3.mp4
tplayerdemo# demoPlayer.mUrl = /mnt/exUDISK/abc/3.mp4WARNING: awplayer <XPlayerReset:948>: reset...
DEBUG : awplayer <PlayerStop:850>: ****** PlayerStop
ERROR : awplayer <PlayerStop:855>: invalid stop operation, player already in stopped status.
reset the player ok.
DEBUG : awplayer <XPlayerSetDataSourceUrl:459>: setDataSource(url), url='/mnt/exUDISK/abc/3.mp4'
INFO : awplayer <XPlayerThread:1743>: process message XPLAYER_COMMAND_SET_SOURCE.
DEBUG : awplayer <XPlayerPrepare:744>: prepare
DEBUG : awplayer <XPlayerThread:1996>: process message XPLAYER_COMMAND_PREPARE. mPriData->mStatus: 1
DEBUG : demuxComponent <DemuxThread:1784>: process message DEMUX_COMMAND_PREPARE.
DEBUG : demuxComponent <DemuxThread:1851>: === prepare msg
DEBUG : awplayer <CdxParserPrepare:728>: source uri 'file:///mnt/exUDISK/abc/3.mp4'
DEBUG : awplayer <__FileStreamCreate:533>: local file 'file:///mnt/exUDISK/abc/3.mp4'
DEBUG : awplayer <__FileStreamConnect:392>: *************impl->size=2646187646
DEBUG : awplayer <__FileStreamConnect:404>: impl->filePath=fd://7?offset=0&length=2646187646
DEBUG : awplayer <__FileStreamConnect:486>: :16:[00 00 00 14 66 74 79 70 69 73 6f 6d 00 00 00 01]
DEBUG : awplayer <__FileStreamGetMetaData:363>: redriect url '(null)'
WARNING: awplayer <__FileStreamGetMetaData:368>: key(stream.accessibleUri) not found...
WARNING: awplayer <ParserTypeGuess:586>: Sorry, I don't know what it is!
DEBUG : CdxMovParser <__CdxMovParserProbe:1298>: --- probe: it is mov parser
DEBUG : awplayer <CdxParserCreate:677>: Good, it's 'mov'
INFO : CdxMovParser <__CdxMovParserOpen:1206>: mov parser is not support multi-stream yet!!!
DEBUG : CdxMovParser <__CdxMovParserOpen:1235>: --- c->bSeekAble = 1
DEBUG : awplayer <CdxParserCreate:683>: parser type(0)
DEBUG : Mov Id3 Test <_MovParseFtyp:3713>: ---- compatible = isom
DEBUG : Mov Id3 Test <_MovParseTkhd:2176>: tkhd width = 1280, height = 720
DEBUG : Mov Id3 Test <_MovParseMdhd:1982>: -- language = und
DEBUG : Mov Id3 Test <_MovParseStsd:1377>: stsd width = 1280, height = 720
INFO : Mov Id3 Test <_MovParseStbl:1733>: !!!! careful ctts atom is tested yet
DEBUG : Mov Id3 Test <_MovParseCtts:729>: track[0].ctts.entries = 167433
DEBUG : Mov Id3 Test <_MovParseStsz:874>: -- sample_size = 0
DEBUG : Mov Id3 Test <_MovParseTkhd:2176>: tkhd width = 0, height = 0
DEBUG : Mov Id3 Test <_MovParseMdhd:1982>: -- language = eng
DEBUG : Mov Id3 Test <_MovParseStsz:874>: -- sample_size = 0
DEBUG : Mov Id3 Test <_MovParseTkhd:2176>: tkhd width = 0, height = 0
DEBUG : Mov Id3 Test <_MovParseMdhd:1982>: -- language = chi
DEBUG : Mov Id3 Test <_MovParseStsz:874>: -- sample_size = 0
DEBUG : CdxMovParser <__CdxMovParserInit:1178>: ***** mov open success!!
DEBUG : demuxComponent <DemuxThread:1888>: --- demux->shiftedTimeUrl =
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:800>: Get mediainfo
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:827>: --- codecformat = 115
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:842>: ---- frame rate = 23976, st->time_scale: 24000, st->sample_duration: 1001
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:851>: width = 1280, height = 720
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:854>: extradataSize = 40
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:882>: ********* audio 0************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:883>: ****eCodecFormat: 4
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:884>: ****eSubCodecFormat: 0
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:885>: ****nChannelNum: 2
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:886>: ****nBitsPerSample: 16
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:887>: ****nSampleRate: 48000
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:888>: ****nAvgBitrate: 131560
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:889>: ****nMaxBitRate: 169888
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:890>: ****extradataSize 5
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:891>: ***************************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:882>: ********* audio 1************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:883>: ****eCodecFormat: 4
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:884>: ****eSubCodecFormat: 0
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:885>: ****nChannelNum: 2
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:886>: ****nBitsPerSample: 16
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:887>: ****nSampleRate: 48000
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:888>: ****nAvgBitrate: 136184
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:889>: ****nMaxBitRate: 171576
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:890>: ****extradataSize 5
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:891>: ***************************
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:934>: streamNum = 3, videoNum = 1, audioNum = 2, subtitleNum = 0
DEBUG : awplayer <CdxMovSetStream:397>: == stss_size: 1005
DEBUG : awplayer <CdxMovSetStream:416>: mvhd = 7047103,
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:947>: -- mov duration = 7047104
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:953>: ****video_avg_bitrate: 3004000
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:974>: --i = 0, stsd_type = 1, stream_index = 0, nb_streams = 3
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:974>: --i = 1, stsd_type = 2, stream_index = 0, nb_streams = 3
DEBUG : CdxMovParser <__CdxMovParserGetMediaInfo:974>: --i = 2, stsd_type = 2, stream_index = 1, nb_streams = 3
DEBUG : demuxComponent <PrintMediaInfo:466>: *********PrintMediaInfo begin*********
DEBUG : demuxComponent <PrintMediaInfo:480>: fileSize = 2646187646, bSeekable = 1, duration = 7047104, audioNum = 2, videoNum = 1, subtitleNum = 0
DEBUG : demuxComponent <PrintMediaInfo:498>: ***Video[0]*** eCodecFormat = 0x115, nWidth = 1280, nHeight = 720, nFrameRate = 23976, nFrameDuration = 0, bIs3DStream = 0
DEBUG : demuxComponent <PrintMediaInfo:516>: ***Audio[0]*** eCodecFormat = 0x4, eSubCodecFormat = 0x0, nChannelNum = 2, nBitsPerSample = 16, nSampleRate = 48000
DEBUG : demuxComponent <PrintMediaInfo:516>: ***Audio[1]*** eCodecFormat = 0x4, eSubCodecFormat = 0x0, nChannelNum = 2, nBitsPerSample = 16, nSampleRate = 48000
DEBUG : demuxComponent <PrintMediaInfo:532>: *********PrintMediaInfo end*********
DEBUG : awplayer <initializePlayer:1465>: mVideoRotateDegree = 0
DEBUG : awplayer <initializePlayer:1474>: rotate degree level = 0
debug : cedarc <LogVersionInfo:40>:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Cedar Codec <<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag : CedarC-v1.1.9
branch: master
commit: 1951abe1456450ea48bfd446e801861a1354e93c
date : Wed May 30 18:59:36 2018 +0800
author: jenkins8080
patch :
----------------------------------------------------------------------
debug : cedarc <CreateVideoDecoder:215>:CreateVideoDecoder ****
DEBUG : awplayer <VideoDecCompSetVideoStreamInfo:255>: ++++++++ pVconfig->bGpuBufValid = 1,nGpuAlignStride = 32
debug : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug : cedarc <InitializeVideoDecoder:344>:*** pVconfig->nVeFreq = 0
debug : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open
debug : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug : cedarc <VeInitialize:1198>: ve init ok
debug : ionAlloc <ion_alloc_open:175>:** phy offset = 40000000
debug : cedarc <VeRelease:1253>: ve release ok
warning: cedarc <InitializeVideoDecoder:428>:warning: the nDeInterlaceHoldingFrameBufferNum is 0
debug : cedarc <DecideStreamBufferSize:1897>:nBufferSize=1048576
debug : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug : cedarc <VeInitialize:1198>: ve init ok
debug : cedarc <VideoEngineCreate:388>: *** pEngine->nIcVeVersion = 1663, decIpVersion = 0
debug : cedarc <VeGetChipId:1385>: 00000000
debug : cedarc <CreateSpecificDecoder:1209>: Create decoder '115:h264'
debug : cedarc <VideoEngineCreate:481>: **************eCtlAfcbMode = 0
debug : cedarc <GetSbmInterface:1705>:*********GetSbmInterface, nType=4
debug : cedarc <GetSbmInterfaceFrame:1663>:******* sbm-type: Frame*******
debug : cedarc <SbmFrameInit:178>:************pSbm->sbmInterface.bUseNewVeMemoryProgram=0
debug : cedarc <CdcMessageQueueCreate:47>:nMessageSize = 20
debug : ionAlloc <__GetIonMemOpsS:985>:*** get __GetIonMemOpsS ***
debug : ionAlloc <ion_alloc_open:134>:begin ion_alloc_open
DEBUG : awplayer <VideoRenderCompSetWindow:454>: video render component setting window: 0x1178710
DEBUG : awplayer <handleSetWindow:375>: process MESSAGE_ID_SET_WINDOW message, p->pPicture(0)
DEBUG : awplayer <__LayerResetNativeWindow:819>: LayerResetNativeWindow : 0
DEBUG : awplayer <__LayerControl:903>: layer control cmd = 259
DEBUG : awplayer <VideoRenderCompSetDeinterlace:310>: video render component setting deinterlace: 0xb6f11970
DEBUG : awplayer <PlayerConfigDropDelayFrame:1762>: PlayerConfigDropDelayFrame
DEBUG : awplayer <PlayerConfigDropDelayFrame:1765>: VideoDecCompSetDropDelayFrames
DEBUG : audioDecItf <AudioDecCompCreate:206>: libadecoder.so dlopen success, to load internal symbols...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(ParserRequestBsBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(ParserUpdateBsBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(BsQueryQuality) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(AudioStreamDataSize) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(AudioStreamBufferSize) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(AudioStreamBufferMaxFrameNum) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(AudioPCMDataSize) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(DecRequestPcmBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(DecUpdatePcmBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(PlybkRequestPcmBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(PlybkUpdatePcmBuffer) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(PlybkRequestPcmPts) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(PcmQueryQuality) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(AudioDecoderSeek) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(InitializeAudioDecoder) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(ResetAudioDecoder) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(DecodeAudioStream) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(DestroyAudioDecoder) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(CreateAudioDecoder) link success...
DEBUG : audioDecItf <AudioDecCompCreate:221>: func(SetRawPlayParam) link success...
DEBUG : audioRender <AudioRenderCompSetAudioSink:195>: audio render component setting AudioSink
setDataSource end
DEBUG : awplayer <XPlayerPrepareAsync:724>: prepareAsync
DEBUG : awplayer <XPlayerThread:1996>: process message XPLAYER_COMMAND_PREPARE. mPriData->mStatus: 4
INFO : awplayer <XPlayerThread:2032>: xxxxxxxxxx video size: width = 1280, height = 720
DEBUG : tplayer <CallbackFromXPlayer:83>: video width = 1280,height = 720
*****tplayer:video width = 1280,height = 720
warning: unknown callback from Tinaplayer.
TPLAYER_NOTIFY_PREPARED,has prepared.
preparing...
prepared ok
TPlayerSetHoldLastPicture()
DEBUG : awplayer <VideoRenderSetHoldLastPicture:580>: video render component setting hold last picture(bHold=1).
start play
DEBUG : awplayer <XPlayerStart:774>: start
DEBUG : awplayer <__LayerCtrlHoldLastPicture:584>: LayerCtrlHoldLastPicture, bHold = 1
DEBUG : awplayer <XPlayerThread:2181>: process message XPLAYER_COMMAND_START.
DEBUG : awplayer <PlayerStart:728>: player start
DEBUG : awplayer <BaseCompPostAndWait:61>: video decoder receive cmd: start
debug : cedarc <SbmFrameReset:588>:** wait for reset sem
debug : cedarc <ProcessThread:1591>:*** post reset sem
debug : cedarc <SbmFrameReset:590>:** wait for reset sem ok
debug : cedarc <SbmFrameReset:595>:SbmFrameReset finish
DEBUG : awplayer <BaseCompPostAndWait:61>: audio decoder receive cmd: start
debug : cedarc <H264ProcessExtraData2:579>: H264ProcessNaluUnit, bNeedFindSPS = 0, bNeedFindPPS = 0
(Allwinner Audio Middle Layer),line(958) : Create Decoder!!=====
DEBUG : audioDecItf <handleStart:1065>: Create libadecoder success...
(Allwinner Audio Middle Layer),line(592) : AudioDec_Installaudiolib ok
(Allwinner Audio Middle Layer),line(595) : audio decoder init start ...
(AllwinnerAlibs),line(50) :
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Audio <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag : audiocodec-v1.2
branch: new
commit: 3ba65962c01cbf1280ddda19d843009b6ef8ce85
date : Tue Jan 8 16:25:27 2019 +0800
----------------------------------------------------------------------
(AllwinnerAlibs),line(679) : ----Loading so success!
(AllwinnerAlibs),line(877) : *************pAudioStreamInfo start******************
(AllwinnerAlibs),line(878) : eCodecFormat :id(4), name(aac low-complexy)
(AllwinnerAlibs),line(879) : eSubCodecFormat :0
(AllwinnerAlibs),line(880) : nChannelNum :2
(AllwinnerAlibs),line(881) : nBitsPerSample :16
(AllwinnerAlibs),line(882) : nSampleRate :48000
(AllwinnerAlibs),line(883) : nAvgBitrate :131560
(AllwinnerAlibs),line(884) : nMaxBitRate :169888
(AllwinnerAlibs),line(885) : nFileSize :0
(AllwinnerAlibs),line(886) : eAudioBitstreamSource:0
(AllwinnerAlibs),line(887) : eDataEncodeType :0
(AllwinnerAlibs),line(888) : nCodecSpecificDataLen:5
(AllwinnerAlibs),line(889) : pCodecSpecificData :0x119bec0
(AllwinnerAlibs),line(890) : nFlags :0
(AllwinnerAlibs),line(891) : nBlockAlign :0
(AllwinnerAlibs),line(892) : *************pAudioStreamInfo end ******************
(AAC Decoder),line(36) : init successs...
(Allwinner Audio Middle Layer),line(603) : AUDIO DECODE INIT OK...0
DEBUG : awplayer <BaseCompPostAndWait:61>: video render receive cmd: start
DEBUG : awplayer <handleStart:640>: video render handleStart:p->eStatus = 0
DEBUG : awplayer <BaseCompPostAndWait:61>: audio render receive cmd: start
INFO : audioRender <handleStart:295>: audio render process start message.
DEBUG : audioRender <initSoundDevice:478>: init sound device.
DEBUG : audioRender <initSoundDevice:486>: set sound devide param, sample rate = 48000, channel num = 2.
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:197>: TinaSoundDeviceSetFormat(),sc->sound_status == 2
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:199>: TinaSoundDeviceSetFormat()
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:205>: TinaSoundDeviceSetFormat()>>>sample_rate:48000,channel_num:2,sc->bytes_per_sample:4
WARNING: awplayer <callbackProcess:3560>: message 0x40a not handled.
DEBUG : demuxComponent <DemuxThread:2043>: process message DEMUX_COMMAND_START.
started.
debug : cedarc <AvcSbmFrameCheckBitStreamType:320>:result: bStreamWithStartCode[0], with[0], whitout[1]
debug : cedarc <H264DecodePictureScanType:2688>: here3:hCtx->bProgressice=1
DEBUG : awplayer <CallbackProcess:2906>: first audio pts = 0
debug : fbm.c <FbmCreateBuffer:133>:FbmCreate, total fbm number: 8, decoder needed: 5, nWidth=1280, nHeight=720 nAlignStride = 32
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:280>:*** calcute nLower2BitBufOffset = 0(0.00), stride = 0
debug : fbm.c <FbmCreateBuffer:379>:*** finish fbmCreateBuffer
DEBUG : awplayer <RenderGetVideoFbmBufInfo:1468>: video buffer info: nWidth[1280],nHeight[736],nBufferCount[8],ePixelFormat[7]
DEBUG : awplayer <RenderGetVideoFbmBufInfo:1471>: video buffer info: nAlignValue[32],bProgressiveFlag[1],bIsSoftDecoderFlag[0]
DEBUG : awplayer <__LayerControl:903>: layer control cmd = 257
DEBUG : awplayer <__LayerControl:905>: get the fbm buf info
DEBUG : awplayer <__LayerControl:907>: fbmBufInfo->bProgressiveFlag = 1
DEBUG : awplayer <__LayerControl:913>: lc->mNumHoldByLayer = 1
DEBUG : awplayer <__LayerSetDisplayPixelFormat:499>: Layer set expected pixel format, format = 7
DEBUG : awplayer <__LayerSetDisplayBufferSize:451>: __LayerSetDisplayBufferSize:width = 1280,height = 736
DEBUG : awplayer <__LayerSetDisplayBufferCount:792>: LayerSetBufferCount: count = 8
DEBUG : awplayer <__LayerGetBufferNumHoldByGpu:807>: num hold by gpu is 1
DEBUG : awplayer <SetGpuBufferToDecoder:1509>: SetGpuBufferToDecoder:nNumHoldByLayer = 1,p->nGpuBufferNum = 8
DEBUG : awplayer <setLayerBuffer:131>: setLayerBuffer:Fmt(7),(1280 736, 0 x 0)
DEBUG : awplayer <setLayerBuffer:134>: Disp(1280x736)buf_cnt(8),ProFlag(0),SoftDecFlag(0)
DEBUG : awplayer <setLayerBuffer:231>: SunxiMemPalloc mHoldLastPictureBuf successfully,with = 1920,height = 1088
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[0]:0xb5527000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[1]:0xb538f000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[2]:0xb51f7000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[3]:0xb505f000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[4]:0xb4ec7000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[5]:0xb4d2f000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[6]:0xb4b97000
DEBUG : awplayer <setLayerBuffer:244>: SunxiMemPalloc buf[7]:0xb4a33000
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <__LayerDequeueBuffer:624>: numNotHoldByLayer = 7,lc->nGpuBufferCount = 8
DEBUG : awplayer <callbackProcess:3396>: *************decoded nWidth = 1280,nHeight = 720********
DEBUG : tplayer <CallbackFromXPlayer:94>: video decoded width = 1280,height = 720
*****tplayer:video decoded width = 1280,height = 720
*****tplayerdemo:video decoded width = 1280,height = 720real set to display rect:w = 1280,h = 720
warning: unknown callback from Tinaplayer.
INFO : awplayer <callbackProcess:3412>: xxxxxxxxxx video size : width = 1280, height = 720
DEBUG : tplayer <CallbackFromXPlayer:83>: video width = 1280,height = 720
*****tplayer:video width = 1280,height = 720
warning: unknown callback from Tinaplayer.
DEBUG : awplayer <CallbackProcess:2781>: first video pts = 83416
WARNING: audioRender <checkSampleRate:647>: sample rate change from 48000 to 48000.
WARNING: audioRender <checkSampleRate:649>: channel num change from 2 to 2.
WARNING: audioRender <checkSampleRate:651>: bitPerSample num change from 16 to 16.
WARNING: audioRender <checkSampleRate:653>: if need direct out put flag change from 0 to 1.
WARNING: audioRender <checkSampleRate:655>: data type change from 1 to 1.
DEBUG : tsoundcontrol <TSoundDeviceStop:263>: TinaSoundDeviceStop():sc->sound_status = 2
DEBUG : tsoundcontrol <TSoundDeviceStop:266>: Sound device already stopped.
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:197>: TinaSoundDeviceSetFormat(),sc->sound_status == 2
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:199>: TinaSoundDeviceSetFormat()
DEBUG : tsoundcontrol <TSoundDeviceSetFormat:205>: TinaSoundDeviceSetFormat()>>>sample_rate:48000,channel_num:2,sc->bytes_per_sample:4
DEBUG : awplayer <CallbackProcess:2906>: first audio pts = 39999
DEBUG : audioRender <startSoundDevice:708>: start sound device.
DEBUG : tsoundcontrol <TSoundDeviceStart:216>: TinaSoundDeviceStart(): sc->sound_status = 2
DEBUG : tsoundcontrol <setSoundDeviceParams:66>: setSoundDeviceParams()
ERROR : awplayer <__LayerQueueBuffer:765>: *** picNode is full when queue buffer
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(0.083)
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
error : fbm.c <FbmReturnPicture:932>:invalid frame status, a picture being returned, but bUsedByRender=0, bInValidPictureQueue=0, bAlreadyDisplayed=0.
error : fbm.c <FbmReturnPicture:933>:**picture[0x120abd0],id[7]
warning: cedarc <ReturnPicture:1525>:FbmReturnPicture return fail, it means the picture being returned it not one of this FBM.
DEBUG : tsoundcontrol <setSoundDeviceParams:121>: alsa-init: chunksize set to 1024
DEBUG : tsoundcontrol <setSoundDeviceParams:130>: alsa-init: fragcount=8
DEBUG : tsoundcontrol <setSoundDeviceParams:140>: setSoundDeviceParams():sc->alsa_can_pause = 0
WARNING: awplayer <CallbackProcess:3653>: reset the timer to 0.040, time difference is -0.449
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(1.001)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(2.002)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(3.003)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(4.004)
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
WARNING: awplayer <CallbackProcess:3653>: reset the timer to 4.360, time difference is -0.291
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
WARNING: awplayer <CallbackProcess:3653>: reset the timer to 4.480, time difference is -0.402
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
WARNING: awplayer <CallbackProcess:3653>: reset the timer to 4.600, time difference is -0.404
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(5.547)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(6.006)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(7.007)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(8.008)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(9.009)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(10.010)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(11.011)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(12.012)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(13.013)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(14.014)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(15.015)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(16.016)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(17.017)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(18.018)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(19.019)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(20.020)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(21.021)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(22.022)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(23.023)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(24.024)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(25.025)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(26.026)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(27.027)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(28.028)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(29.029)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(30.030)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(31.031)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(32.032)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(33.033)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(34.034)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(35.035)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(36.036)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(37.037)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(38.038)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(39.039)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(40.040)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(41.041)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(42.000)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(43.001)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(44.002)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(45.003)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(46.004)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(47.005)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(48.006)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(49.007)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(50.008)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(51.009)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(52.010)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(53.011)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(54.012)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(55.013)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(56.014)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(57.015)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(58.016)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(59.017)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(60.018)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(61.019)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(62.020)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(63.021)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(64.022)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(65.023)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(66.024)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(67.025)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(68.026)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(69.027)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(70.028)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(71.029)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(72.030)
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : tsoundcontrol <TSoundDeviceGetCachedTime:418>: TinaSoundDeviceGetCachedTime(),ret = -32 , delay = 0
WARNING: awplayer <CallbackProcess:3653>: reset the timer to 73.480, time difference is -0.153
ERROR : tsoundcontrol <TSoundDeviceWrite:389>: MSGTR_AO_ALSA_WriteError,res = -32
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
ERROR : awplayer <ProcessVideoSync:1305>: need to drop this frame
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(74.449)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(75.033)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(76.034)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(77.035)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(78.036)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(79.037)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(80.038)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(81.039)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(82.040)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(83.041)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(84.001)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(85.002)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(86.003)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(87.004)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(88.005)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(89.006)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(90.007)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(91.008)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(92.009)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(93.010)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(94.011)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(95.012)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(96.013)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(97.014)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(98.015)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(99.016)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(100.017)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(101.018)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(102.019)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(103.020)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(104.021)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(105.022)
DEBUG : awplayer <QueueBufferToShow:1360>: video pts(106.023)
root@TinaLinux:/# cat /proc/meminfo
MemTotal: 26872 kB
MemFree: 14840 kB
Buffers: 1444 kB
Cached: 2128 kB
SwapCached: 0 kB
Active: 1640 kB
Inactive: 2160 kB
Active(anon): 236 kB
Inactive(anon): 20 kB
Active(file): 1404 kB
Inactive(file): 2140 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 240 kB
Mapped: 596 kB
Shmem: 28 kB
Slab: 4020 kB
SReclaimable: 832 kB
SUnreclaim: 3188 kB
KernelStack: 312 kB
PageTables: 80 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 13436 kB
Committed_AS: 1292 kB
VmallocTotal: 991232 kB
VmallocUsed: 4160 kB
VmallocChunk: 745392 kB
剩下还挺多的
问题可能来自 env 文件, 果然发现了32M的踪影:
enforcing=1
earlyprintk=sunxi-uart,0x01c25400
initcall_debug=0
console=ttyS1,115200
nor_root=/dev/mtdblock4
nand_root=/dev/nandd
mmc_root=/dev/mmcblk0p7
init=/sbin/init
rdinit=/rdinit
loglevel=8
cma=32M
verify=no
rootdelay=5
改成 4M, 一切正常:
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =32
[62]Reg pull reg_val=0x00000000,read=0x00000010
[66]Succeed in reading toc file head.
[69]The size of toc is 00054000.
[127]Reg pull reg_val=0x00000000,read=0x00000010
[136]Ready to disable icache.
[138]Jump to secend Boot.
7
U-Boot 2014.07 (Jul 05 2022 - 11:58:37) Allwinner Technology
uboot commit : f1592db8c49aaedd6895f7e0f90caa123f0a3d5a
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.187]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.193]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 32 MiB
Relocation Offset is: 01580000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 3
[0.259]spinor: 0
flash size =0x4000 sectors
sunxi spinor is initing...int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
sunxi_dma_install_int ok
OK
spinor id:0x1840ef
spi_freq = 40000000
[0.277]sunxi flash init ok
spinor read: start 0x3e0, sector 0x20
used mbr [0], count = 8
spinor read: start 0x800, sector 0x200
env size is 256
env partition is too small!
can't enabled backup env functions
logo addr = 0x81f00000
spinor read: start 0x400, sector 0x400
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 4000 80000
env : 84000 20000
boot : a4000 280000
rootfs : 324000 340000
rootfs_data : 664000 80000
misc : 6e4000 10000
private : 6f4000 10000
UDISK : 704000 0
-----------------------------------
spinor read: start 0x3b00, sector 0x4
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
spinor read: start 0x900, sector 0x40
spinor read: start 0x940, sector 0x1376
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2583056 Bytes = 2.5 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f25f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (whycan@ubuntu) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #244 Wed Jul 6 03:35:16 UTC 2022
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 4 MiB at 81c00000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 8192
[ 0.000000] free_area_init_node: node 0, pgdat c0542acc, node_mem_map c0570000
[ 0.000000] Normal zone: 64 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 8192 pages, LIFO batch:0
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25400 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=4M fb_base=0x81f00000 androidboot.serialno=<NULL> boot_type=3
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 32MB = 32MB total
[ 0.000000] Memory: 22660k/22660k available, 10108k 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 : 0xc2800000 - 0xff000000 ( 968 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc043ff84 (4320 kB)
[ 0.000000] .init : 0xc0440000 - 0xc045df74 ( 120 kB)
[ 0.000000] .data : 0xc045e000 - 0xc05433e8 ( 917 kB)
[ 0.000000] .bss : 0xc05433e8 - 0xc056fbe0 ( 178 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005240] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075335] pid_max: default: 32768 minimum: 301
[ 0.080426] Mount-cache hash table entries: 512
[ 0.086330] CPU: Testing write buffer coherency: ok
[ 0.092016] Setting up static identity map for 0xc0340870 - 0xc03408c8
[ 0.101175] devtmpfs: initialized
[ 0.106609] pinctrl core: initialized pinctrl subsystem
[ 0.113284] NET: Registered protocol family 16
[ 0.121081] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.128650] dump_class_init,844, success
[ 0.137578] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.161252] bio: create slab <bio-0> at 0
[ 0.166611] pwm module init!
[ 0.171352] SCSI subsystem initialized
[ 0.175576] usbcore: registered new interface driver usbfs
[ 0.181250] usbcore: registered new interface driver hub
[ 0.187048] usbcore: registered new device driver usb
[ 0.198124] Linux video capture interface: v2.00
[ 0.203466] Advanced Linux Sound Architecture Driver Initialized.
[ 0.211194] cfg80211: Calling CRDA to update world regulatory domain
[ 0.218592] Switching to clocksource sun3i high-res couter
[ 0.243830] get det_vbus is fail, 84
[ 0.249228] NET: Registered protocol family 2
[ 0.255822] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.262810] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.269354] TCP: Hash tables configured (established 512 bind 512)
[ 0.275790] TCP: reno registered
[ 0.279128] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.285133] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.292082] NET: Registered protocol family 1
[ 0.310031] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.316588] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.322928] msgmni has been set to 52
[ 0.330054] io scheduler noop registered
[ 0.334163] io scheduler cfq registered (default)
[ 0.339056] [pm]aw_pm_init!
[ 0.342287] [pm]valid
[ 0.344727] [pm]valid
[ 0.347415] [DISP]disp_module_init
[ 0.353598] /soc/lcd0@01c0c000: could not find phandle
[ 0.414365] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.421624] num_screens=1
[ 0.424461] screen_id=0
[ 0.426997] para->mclk[MOD_CLK_LCD1CH0]=0xc140c340
[ 0.431858] para->mclk[MOD_CLK_LCD1CH1]=0xc140c440
[ 0.436772] disp tv init
[ 0.439395] tcon_clk=0xc140c340, tcon_clk_parent=0x0
[ 0.444470] tcon_clk=0xc140c340, tcon_clk_parent=0xc1404400
[ 0.450115] tve_clk=0xc140c440, tve_clk_parent=0xc1404400
[ 0.455613] disp al tv init
[ 0.461225] fetch script datadisp.screen2_output_type fail
[ 0.467215] fetch script datadisp.screen2_output_mode fail
[ 0.475493] fetch script datadisp.fb2_format fail
[ 0.480579] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.486782] fetch script datadisp.fb2_width fail
[ 0.491790] fetch script datadisp.fb2_height fail
[ 0.511438] [DISP] Fb_map_kernel_logo,line:561: this is not a bmp picture
[ 0.523077] [DISP]disp_module_init finish
[ 0.541423] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.547750] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.555824] console [ttyS1] enabled, bootconsole disabled
[ 0.555824] console [ttyS1] enabled, bootconsole disabled
[ 0.568378] misc dump reg init
[ 0.573053] sunxi-wlan wlan: wlan_busnum (0)
[ 0.577938] sunxi-wlan wlan: wlan_power_num (0)
[ 0.582983] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.588840] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.594714] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.602652] /soc/wlan: could not find phandle
[ 0.607558] sunxi-wlan wlan: get gpio wlan_regon failed
[ 0.613409] sunxi-wlan wlan: wlan_hostwake gpio=117 mul-sel=6 pull=-1 drv_level=-1 data=1
[ 0.622989] sunxi-wlan wlan: Missing clocks.
[ 0.627801] sunxi-wlan wlan: clk_name ((null))
[ 0.632770] sunxi-wlan wlan: clk not config
[ 0.637843] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.643941] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.650913] key base: f1c23400
[ 0.654496] irq num: 114 !
[ 0.657504] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.663837] lradc_battery_probe:lradc_battery_probe ------
[ 0.672520] spi spi0: master is unqueued, this is deprecated
[ 0.680222] m25p80 spi0.0: found w25q128, expected m25p64
[ 0.686355] m25p80 spi0.0: w25q128 (16384 Kbytes) - fast mode
[ 0.697241] 9 sunxipart partitions found on MTD device (null)
[ 0.703638] Creating 9 MTD partitions on "(null)":
[ 0.709044] 0x000000000000-0x000000080000 : "uboot"
[ 0.716616] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.724402] 0x000000100000-0x000000120000 : "env"
[ 0.731402] 0x000000120000-0x0000003a0000 : "boot"
[ 0.738613] 0x0000003a0000-0x0000006e0000 : "rootfs"
[ 0.746125] 0x0000006e0000-0x000000760000 : "rootfs_data"
[ 0.753945] 0x000000760000-0x000000770000 : "misc"
[ 0.761355] 0x000000770000-0x000000780000 : "private"
[ 0.768963] 0x000000780000-0x000001000000 : "UDISK"
[ 0.776772] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.785561] /soc/usbc0@0: could not find phandle
[ 0.790710] get regulator_io is no nocare
[ 0.795447] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 0.803396] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 0.815359] hub 1-0:1.0: USB hub found
[ 0.819583] hub 1-0:1.0: 1 port detected
[ 0.824578] wrn: hcd is not enable, need not stop hcd
[ 0.830948] sunxi_keyboard_startup: keyboard has no clk.
[ 0.837525] input: sunxi-keyboard as /devices/virtual/input/input0
[ 0.845555] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 0.852626] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 0.861893] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 0.869161] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.876819] sunxi cedar version 0.1
[ 0.880949] VE: install start!!!
[ 0.880949]
[ 0.886418] cedar_ve: cedar-ve the get irq is 103
[ 0.892247] VE: install end!!!
[ 0.892247]
[ 0.899089] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Jul 6 2022 at 03:29:35
[ 0.911583] sunxi-mmc sdc0: Can't get vmmc regulator string
[ 0.917896] sunxi-mmc sdc0: Can't get vqmmc regulator string
[ 0.924190] sunxi-mmc sdc0: Can't get vdmmc regulator string
[ 0.930532] sunxi-mmc sdc0: Failed getting OCR mask: 0
[ 0.937748] sunxi-mmc sdc0: ***set host ocr***
[ 0.943086] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.964393] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.994550] sunxi-mmc sdc0: base:0xf1c0f000 irq:107
[ 1.000011] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.006869] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.012861] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.027373] failed to get gpio-spk and gpio_num
[ 1.035925] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.043927] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.051944] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.059724] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.067487] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.076825] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.087837] sunxi-internal-cpudai 1c23c00.cpudai0-controller: ASoC: pcm constructor failed: -12
[ 1.097587] sunxi-codec-machine sound.2: ASoC: can't create pcm SUNXI-CODEC :-12
[ 1.105852] sunxi-codec-machine sound.2: ASoC: failed to instantiate card -12
[ 1.114171] snd_soc_register_card failed -12
[ 1.119130] sunxi-codec-machine: probe of sound.2 failed with error -12
[ 1.127276] ipip: IPv4 over IPv4 tunneling driver
[ 1.133619] gre: GRE over IPv4 demultiplexor driver
[ 1.139169] ip_gre: GRE over IPv4 tunneling driver
[ 1.146527] sunxi-mmc sdc0: smc 0 p0 err, cmd 8, RTO !!
[ 1.153280] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.160092] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.166036] TCP: cubic registered
[ 1.169720] Initializing XFRM netlink socket
[ 1.174605] NET: Registered protocol family 17
[ 1.179577] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.185576] NET: Registered protocol family 15
[ 1.190552] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.196911] VFP support v0.3: not present
[ 1.202330] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.208781] [LCD]lcd_module_init
[ 1.212432] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.219326] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.226585] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.232912] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.245673] enhance_en=1
[ 1.248546] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 1.253713] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 1.260996] clk_div=9
[ 1.263525] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.269174] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.274811] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.280408] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.286033] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.291629] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.297252] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
[ 1.304229] sunxi-mmc sdc0: smc 0 p0 err, cmd 1, RTO !!
[ 1.310270] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 1.320962] [LCD]open, step 0 finish
[ 1.364369] [LCD]open, step 1 finish
[ 1.424349] [LCD]open, step 2 finish
[ 1.534780] [LCD]open, step 3 finish
[ 1.544867] [LCD]lcd_module_init finish
[ 1.549664] usb_serial_number:20080411
[ 1.554561] file system registered
[ 1.561012] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.568795] android_usb gadget: Number of LUNs=3
[ 1.573932] lun0: LUN: removable file: (no medium)
[ 1.579440] lun1: LUN: removable file: (no medium)
[ 1.584904] lun2: LUN: removable file: (no medium)
[ 1.591230] android_usb gadget: android_usb ready
[ 1.597044] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 1.606318] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 1.613025] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 1.620975] ALSA device list:
[ 1.624373] No soundcards found.
[ 1.643819] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[ 1.661693] devtmpfs: mounted
[ 1.666154] Freeing unused kernel memory: 116K (c0440000 - c045d000)
mount: mounting none on /dev failed: Resource busy
mount: mounting pstore on /sys/fs/pstore failed: No such file or directory
-- run rc.preboot --
-- set volume --
Failed to open mixer
-- play music --
-- end --
failed to open for pcm 0,0
[ 4.264325]
[ 4.264325] insmod_device_driver
[ 4.264325]
[ 4.271463] device_chose finished 77!
-- run rc.final --
insmod F1C200s-board
-- wifi connect --
insmod wifi kernel module --------------------
insmod: can't insert '/lib/modules/3.10.65/xradio_wlan.ko': No such file or directory
start wpa_supplicant ------------------------
[ 5.515719] android_usb: already disabled
[ 5.571478] adb_open
[ 5.575308] adb_bind_config
[ 5.828309] android_work: sent uevent USB_STATE=CONNECTED
[ 5.916425] android_usb gadget: high-speed config #1: android
[ 5.932047] android_work: sent uevent USB_STATE=CONFIGURED
Successfully initialized wpa_supplicant
Line 6: Invalid passphrase length 6 (expected: 8..63) '******"'.
Line 6: failed to parse psk '"******"'.
Line 7: failed to parse network block.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
start udhcpc ----------------
-- end --
BusyBox v1.27.2 () built-in shell (ash)
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
udhcpc: SIOCGIFINDEX: No such device
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
思来想去, 感觉CMA内存配置太多了:
CONFIG_CLKSRC_OF=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CMA=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUG is not set
CONFIG_CMA_SIZE_MBYTES=16
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_SIZE_SEL_MBYTES=y
16M 字节
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =32
[62]Reg pull reg_val=0x00000000,read=0x00000010
[66]Succeed in reading toc file head.
[69]The size of toc is 00054000.
[127]Reg pull reg_val=0x00000000,read=0x00000010
[136]Ready to disable icache.
[138]Jump to secend Boot.
U-Boot 2014.07 (Jul 05 2022 - 11:58:37) Allwinner Technology
uboot commit : f1592db8c49aaedd6895f7e0f90caa123f0a3d5a
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.187]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.193]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 32 MiB
Relocation Offset is: 01580000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 3
[0.260]spinor: 0
flash size =0x4000 sectors
sunxi spinor is initing...int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
sunxi_dma_install_int ok
OK
spinor id:0x1840ef
spi_freq = 40000000
[0.278]sunxi flash init ok
spinor read: start 0x3e0, sector 0x20
used mbr [0], count = 8
spinor read: start 0x800, sector 0x200
env size is 256
env partition is too small!
can't enabled backup env functions
logo addr = 0x81f00000
spinor read: start 0x400, sector 0x400
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 4000 80000
env : 84000 20000
boot : a4000 280000
rootfs : 324000 340000
rootfs_data : 664000 80000
misc : 6e4000 10000
private : 6f4000 10000
UDISK : 704000 0
-----------------------------------
spinor read: start 0x3b00, sector 0x4
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
spinor read: start 0x900, sector 0x40
spinor read: start 0x940, sector 0x1376
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2583056 Bytes = 2.5 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f25f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (yixiuge@ubuntu) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #241 Wed Jul 6 02:28:57 UTC 2022
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: failed to reserve 32 MiB
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 8192
[ 0.000000] free_area_init_node: node 0, pgdat c0542acc, node_mem_map c0570000
[ 0.000000] Normal zone: 64 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 8192 pages, LIFO batch:0
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25400 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=32M fb_base=0x81f00000 androidboot.serialno=<NULL> boot_type=3
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 32MB = 32MB total
[ 0.000000] Memory: 26764k/26764k available, 6004k 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 : 0xc2800000 - 0xff000000 ( 968 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc043ff84 (4320 kB)
[ 0.000000] .init : 0xc0440000 - 0xc045df74 ( 120 kB)
[ 0.000000] .data : 0xc045e000 - 0xc05433e8 ( 917 kB)
[ 0.000000] .bss : 0xc05433e8 - 0xc056fbe0 ( 178 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005324] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075248] pid_max: default: 32768 minimum: 301
[ 0.080428] Mount-cache hash table entries: 512
[ 0.086418] CPU: Testing write buffer coherency: ok
[ 0.092210] Setting up static identity map for 0xc0340870 - 0xc03408c8
[ 0.101460] devtmpfs: initialized
[ 0.106951] pinctrl core: initialized pinctrl subsystem
[ 0.112813] NET: Registered protocol family 16
[ 0.117979] DMA: failed to allocate 256 KiB pool for atomic coherent allocation
[ 0.126039] dump_class_init,844, success
[ 0.135071] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.158846] bio: create slab <bio-0> at 0
[ 0.164281] pwm module init!
[ 0.169086] SCSI subsystem initialized
[ 0.173379] usbcore: registered new interface driver usbfs
[ 0.179158] usbcore: registered new interface driver hub
[ 0.185033] usbcore: registered new device driver usb
[ 0.196223] Linux video capture interface: v2.00
[ 0.201551] Advanced Linux Sound Architecture Driver Initialized.
[ 0.209725] cfg80211: Calling CRDA to update world regulatory domain
[ 0.217223] Switching to clocksource sun3i high-res couter
[ 0.242461] get det_vbus is fail, 84
[ 0.247922] NET: Registered protocol family 2
[ 0.254586] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.261700] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.268362] TCP: Hash tables configured (established 512 bind 512)
[ 0.274916] TCP: reno registered
[ 0.278314] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.284426] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.291488] NET: Registered protocol family 1
[ 0.309535] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.316196] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.322636] msgmni has been set to 52
[ 0.329752] io scheduler noop registered
[ 0.334046] io scheduler cfq registered (default)
[ 0.338922] [pm]aw_pm_init!
[ 0.342196] [pm]valid
[ 0.344684] [pm]valid
[ 0.347410] [DISP]disp_module_init
[ 0.353777] /soc/lcd0@01c0c000: could not find phandle
[ 0.413103] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.420517] num_screens=1
[ 0.423395] screen_id=0
[ 0.425974] para->mclk[MOD_CLK_LCD1CH0]=0xc180c300
[ 0.430924] para->mclk[MOD_CLK_LCD1CH1]=0xc180c400
[ 0.435925] disp tv init
[ 0.438595] tcon_clk=0xc180c300, tcon_clk_parent=0x0
[ 0.443767] tcon_clk=0xc180c300, tcon_clk_parent=0xc18043c0
[ 0.449516] tve_clk=0xc180c400, tve_clk_parent=0xc18043c0
[ 0.455115] disp al tv init
[ 0.460785] fetch script datadisp.screen2_output_type fail
[ 0.466877] fetch script datadisp.screen2_output_mode fail
[ 0.475252] fetch script datadisp.fb2_format fail
[ 0.480440] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.486748] fetch script datadisp.fb2_width fail
[ 0.491838] fetch script datadisp.fb2_height fail
[ 0.496800] disp_malloc fail, size=0x2ee000
[ 0.501139] disp_malloc fail!
[ 0.504611] Unable to handle kernel paging request at virtual address 0005dfc0
[ 0.512052] pgd = c0004000
[ 0.515013] [0005dfc0] *pgd=00000000
[ 0.518761] Internal error: Oops: 805 [#1] ARM
[ 0.523361] Modules linked in:
[ 0.526571] CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.65 #241
[ 0.532764] task: c1832000 ti: c1834000 task.ti: c1834000
[ 0.538356] PC is at memcpy+0x244/0x330
[ 0.542343] LR is at 0xadc8ff9e
[ 0.545632] pc : [<c0125564>] lr : [<adc8ff9e>] psr: 20000013
[ 0.545632] sp : c1835c40 ip : ff9eaec8 fp : c1835d7c
[ 0.557455] r10: 000000ef r9 : ff9dacc8 r8 : ff99a8c7
[ 0.562851] r7 : ff97a6c6 r6 : ff96a5c7 r5 : ff94a2c4 r4 : ff93a2c4
[ 0.569566] r3 : ff9ca7c2 r2 : 00000460 r1 : c2854b58 r0 : 0005dfc0
[ 0.576284] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.583792] Control: 0005317f Table: 80004000 DAC: 00000017
[ 0.589711]
[ 0.589711] PC: 0xc01254e4:
[ 0.594224] 54e4 cafffff9 e2411003 eaffffba e252201c ba00001f e92d03e0 f5d1f000 e2522060
[ 0.602714] 5504 f5d1f01c ba000002 f5d1f03c f5d1f05c f5d1f07c e8b100f0 e1a0382e e2522020
[ 0.611198] 5524 e8b15300 e1833804 e1a04824 e1844805 e1a05825 e1855806 e1a06826 e1866807
[ 0.619683] 5544 e1a07827 e1877808 e1a08828 e1888809 e1a09829 e189980c e1a0c82c e18cc80e
[ 0.628169] 5564 e8a013f8 aaffffe9 e3720060 aaffffe8 e8bd03e0 e212c01c 0a000005 e1a0382e
[ 0.636653] 5584 e491e004 e25cc004 e183380e e4803004 cafffff9 e2411002 eaffff8e e252201c
[ 0.645138] 55a4 ba00001f e92d03e0 f5d1f000 e2522060 f5d1f01c ba000002 f5d1f03c f5d1f05c
[ 0.653624] 55c4 f5d1f07c e8b100f0 e1a03c2e e2522020 e8b15300 e1833404 e1a04c24 e1844405
[ 0.662111]
[ 0.662111] SP: 0xc1835bc0:
[ 0.666624] 5bc0 c0542acc 81f00000 c1835bfc c1835bd8 c006e17c c006d4e4 c0125564 20000013
[ 0.675109] 5be0 ffffffff c1835c2c c1835d7c c1835bf8 c000f4b8 c000a1a0 0005dfc0 c2854b58
[ 0.683593] 5c00 00000460 ff9ca7c2 ff93a2c4 ff94a2c4 ff96a5c7 ff97a6c6 ff99a8c7 ff9dacc8
[ 0.692077] 5c20 000000ef c1835d7c ff9eaec8 c1835c40 adc8ff9e c0125564 20000013 ffffffff
[ 0.700560] 5c40 0005dfc0 c1835d88 000001e0 0004b036 00000000 0005dfc0 c18f0800 c0157d94
[ 0.709043] 5c60 c0477658 00000000 00000001 00000140 00000140 000000f0 c280a000 c280a036
[ 0.717527] 5c80 000001e0 00000320 00000000 00000320 c000a314 00000000 00000000 00000000
[ 0.726009] 5ca0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.734492]
[ 0.734492] IP: 0xff9eae48:
[ 0.739005] ae48 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.747498] ae68 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.755982] ae88 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.764465] aea8 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.772949] aec8 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.781432] aee8 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.789915] af08 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.798399] af28 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.806885]
[ 0.806885] FP: 0xc1835cfc:
[ 0.811397] 5cfc 000001e0 ffffffff 00000000 00000000 00000320 000001e0 00000000 00000000
[ 0.819881] 5d1c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.828362] 5d3c 00000320 000001e0 00000000 00000000 00000000 00000000 c05551f8 00000000
[ 0.836843] 5d5c 00000000 c0555468 c0555470 c0555468 00000004 c1835ddc c1835d80 c0158b04
[ 0.845326] 5d7c c0157614 c0555470 00000001 00000000 00000000 00000002 00000320 000001e0
[ 0.853810] 5d9c 00000320 000001e0 00000000 00000000 00000000 c0154334 c05551f8 c185f800
[ 0.862292] 5dbc c185f810 c0478d4c 00000000 c0459d50 00000000 c1835dfc c1835de0 c0155d44
[ 0.870776] 5ddc c01580ac c185f810 c0558ac4 00000000 c0478d4c c1835e0c c1835e00 c01a3d8c
[ 0.879262]
[ 0.879262] R1: 0xc2854ad8:
[ 0.883774] 4ad8 2376ff0e 2073ff0d 2173ff0b 2372ff0b 2273ff0b 2272ff0b 2170ff0b 206fff0a
[ 0.892262] 4af8 2170ff0c 2170ff0c 206dff0c 206cff0c 206cff0d 206cff0d 206aff0d 1f6aff0d
[ 0.900750] 4b18 1f6aff0d 216aff0d 1f68ff0d 1e65ff0b 1e65ff0a 1f66ff0a 6c94ff0b a7c2ff62
[ 0.909238] 4b38 a2c4ff9c a2c4ff93 a5c7ff94 a6c6ff96 a8c7ff97 acc8ff99 aec8ff9d adc8ff9e
[ 0.917726] 4b58 adc8ff9f b1cbff9f b1ccffa3 b1ccffa3 b4ceffa5 b2ccffa8 b3ceffa6 b8cdffa7
[ 0.926214] 4b78 bbcfffad bcd0ffb0 bed2ffb1 bed0ffb3 bfd1ffb3 c1d3ffb4 c3d5ffb6 c5d5ffb8
[ 0.934701] 4b98 c8d9ffbb c9daffbf cbdcffc0 c8d8ffc2 cad9ffbf ccdbffc1 cddcffc3 cedeffc4
[ 0.943189] 4bb8 d0e0ffc3 d0e0ffc4 d0e0ffc4 d2e3ffc4 d1e3ffc8 d3e4ffc8 d1e2ffca d0e0ffc8
[ 0.951680]
[ 0.951680] R3: 0xff9ca742:
[ 0.956192] a740 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.964675] a760 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.973158] a780 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.981642] a7a0 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.990126] a7c0 ******** ******** ******** ******** ******** ******** ******** ********
[ 0.998610] a7e0 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.007093] a800 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.015577] a820 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.024060] a840 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.032545]
[ 1.032545] R4: 0xff93a244:
[ 1.037058] a244 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.045541] a264 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.054025] a284 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.062509] a2a4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.070992] a2c4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.079475] a2e4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.087958] a304 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.096441] a324 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.104927]
[ 1.104927] R5: 0xff94a244:
[ 1.109439] a244 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.117922] a264 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.126405] a284 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.134889] a2a4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.143372] a2c4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.151856] a2e4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.160340] a304 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.168824] a324 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.177310]
[ 1.177310] R6: 0xff96a547:
[ 1.181822] a544 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.190306] a564 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.198789] a584 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.207272] a5a4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.215756] a5c4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.224239] a5e4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.232723] a604 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.241206] a624 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.249690] a644 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.258176]
[ 1.258176] R7: 0xff97a646:
[ 1.262689] a644 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.271171] a664 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.279655] a684 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.288138] a6a4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.296622] a6c4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.305105] a6e4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.313589] a704 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.322072] a724 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.330555] a744 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.339041]
[ 1.339041] R8: 0xff99a847:
[ 1.343553] a844 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.352037] a864 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.360521] a884 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.369004] a8a4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.377487] a8c4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.385970] a8e4 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.394453] a904 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.402937] a924 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.411422] a944 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.419908]
[ 1.419908] R9: 0xff9dac48:
[ 1.424421] ac48 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.432904] ac68 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.441388] ac88 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.449871] aca8 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.458355] acc8 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.466838] ace8 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.475323] ad08 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.483807] ad28 ******** ******** ******** ******** ******** ******** ******** ********
[ 1.492299] Process swapper (pid: 1, stack limit = 0xc18341b8)
[ 1.498311] Stack: (0xc1835c40 to 0xc1836000)
[ 1.502843] 5c40: 0005dfc0 c1835d88 000001e0 0004b036 00000000 0005dfc0 c18f0800 c0157d94
[ 1.511245] 5c60: c0477658 00000000 00000001 00000140 00000140 000000f0 c280a000 c280a036
[ 1.519646] 5c80: 000001e0 00000320 00000000 00000320 c000a314 00000000 00000000 00000000
[ 1.528045] 5ca0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.536445] 5cc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.544846] 5ce0: 00000000 00000000 ff000001 00000000 00000000 00000000 00000320 000001e0
[ 1.553246] 5d00: ffffffff 00000000 00000000 00000320 000001e0 00000000 00000000 00000000
[ 1.561646] 5d20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000320
[ 1.570046] 5d40: 000001e0 00000000 00000000 00000000 00000000 c05551f8 00000000 00000000
[ 1.578449] 5d60: c0555468 c0555470 c0555468 00000004 c1835ddc c1835d80 c0158b04 c0157614
[ 1.586851] 5d80: c0555470 00000001 00000000 00000000 00000002 00000320 000001e0 00000320
[ 1.595253] 5da0: 000001e0 00000000 00000000 00000000 c0154334 c05551f8 c185f800 c185f810
[ 1.603655] 5dc0: c0478d4c 00000000 c0459d50 00000000 c1835dfc c1835de0 c0155d44 c01580ac
[ 1.612058] 5de0: c185f810 c0558ac4 00000000 c0478d4c c1835e0c c1835e00 c01a3d8c c0155be4
[ 1.620462] 5e00: c1835e34 c1835e10 c01a2b60 c01a3d80 c185f810 c185f844 c0478d4c 00000000
[ 1.628865] 5e20: 00000000 c0459d50 c1835e54 c1835e38 c01a2cb4 c01a2a2c 00000000 c0478d4c
[ 1.637268] 5e40: c01a2c60 00000000 c1835e7c c1835e58 c01a11b0 c01a2c70 c1823f4c c185c870
[ 1.645673] 5e60: c18cde14 c0478d4c c18cdde0 c0533e60 c1835e8c c1835e80 c01a2610 c01a1138
[ 1.654076] 5e80: c1835ebc c1835e90 c01a2240 c01a2600 c03f4533 c045de44 c1835ebc c0478d4c
[ 1.662479] 5ea0: c03f4533 00000000 c045de44 00000000 c1835ee4 c1835ec0 c01a3264 c01a2108
[ 1.670882] 5ec0: c0554f80 c03f4533 00000000 c045de44 00000000 c0459d50 c1835ef4 c1835ee8
[ 1.679285] 5ee0: c01a42ec c01a31cc c1835f1c c1835ef8 c044d3f0 c01a42b0 c03f4533 c01a31cc
[ 1.687689] 5f00: c1835f1c c1834000 c044d314 c0543400 c1835f5c c1835f20 c000a4d4 c044d324
[ 1.696091] 5f20: 00000006 00000006 0000005c c05c0149 c003b8a0 00000007 c0543400 0000005c
[ 1.704494] 5f40: c045de44 c0459d48 c0459d50 00000000 c1835f94 c1835f60 c0440c0c c000a3c8
[ 1.712895] 5f60: 00000006 00000006 c04404d0 00000000 00000000 c033b5fc 00000000 00000000
[ 1.721297] 5f80: 00000000 00000000 c1835fac c1835f98 c033b60c c0440a78 00000000 c033b5fc
[ 1.729698] 5fa0: 00000000 c1835fb0 c000f930 c033b60c 00000000 00000000 00000000 00000000
[ 1.738099] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.746499] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 1.754879] Backtrace:
[ 1.757515] [<c0157604>] (Display_Fb_Request+0x0/0x814) from [<c0158b04>] (Fb_Init+0xa68/0xc24)
[ 1.766459] [<c015809c>] (Fb_Init+0x0/0xc24) from [<c0155d44>] (disp_probe+0x170/0x1f0)
[ 1.774703] [<c0155bd4>] (disp_probe+0x0/0x1f0) from [<c01a3d8c>] (platform_drv_probe+0x1c/0x20)
[ 1.783706] r7:c0478d4c r6:00000000 r5:c0558ac4 r4:c185f810
[ 1.789611] [<c01a3d70>] (platform_drv_probe+0x0/0x20) from [<c01a2b60>] (driver_probe_device+0x144/0x1f8)
[ 1.799513] [<c01a2a1c>] (driver_probe_device+0x0/0x1f8) from [<c01a2cb4>] (__driver_attach+0x54/0x94)
[ 1.809041] r9:c0459d50 r8:00000000 r7:00000000 r6:c0478d4c r5:c185f844
r4:c185f810
[ 1.817254] [<c01a2c60>] (__driver_attach+0x0/0x94) from [<c01a11b0>] (bus_for_each_dev+0x88/0x98)
[ 1.826429] r7:00000000 r6:c01a2c60 r5:c0478d4c r4:00000000
[ 1.832326] [<c01a1128>] (bus_for_each_dev+0x0/0x98) from [<c01a2610>] (driver_attach+0x20/0x28)
[ 1.841325] r6:c0533e60 r5:c18cdde0 r4:c0478d4c
[ 1.846153] [<c01a25f0>] (driver_attach+0x0/0x28) from [<c01a2240>] (bus_add_driver+0x148/0x220)
[ 1.855175] [<c01a20f8>] (bus_add_driver+0x0/0x220) from [<c01a3264>] (driver_register+0xa8/0x124)
[ 1.864349] r8:00000000 r7:c045de44 r6:00000000 r5:c03f4533 r4:c0478d4c
[ 1.871325] [<c01a31bc>] (driver_register+0x0/0x124) from [<c01a42ec>] (platform_driver_register+0x4c/0x60)
[ 1.881293] r9:c0459d50 r8:00000000 r7:c045de44 r6:00000000 r5:c03f4533
r4:c0554f80
[ 1.889530] [<c01a42a0>] (platform_driver_register+0x0/0x60) from [<c044d3f0>] (disp_module_init+0xdc/0x128)
[ 1.899616] [<c044d314>] (disp_module_init+0x0/0x128) from [<c000a4d4>] (do_one_initcall+0x11c/0x148)
[ 1.909055] r6:c0543400 r5:c044d314 r4:c1834000
[ 1.913890] [<c000a3b8>] (do_one_initcall+0x0/0x148) from [<c0440c0c>] (kernel_init_freeable+0x1a4/0x1e4)
[ 1.923711] [<c0440a68>] (kernel_init_freeable+0x0/0x1e4) from [<c033b60c>] (kernel_init+0x10/0xe8)
[ 1.932973] r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c033b5fc
r4:00000000
[ 1.941200] [<c033b5fc>] (kernel_init+0x0/0xe8) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 1.949759] r5:c033b5fc r4:00000000
[ 1.953514] Code: e1a09829 e189980c e1a0c82c e18cc80e (e8a013f8)
[ 1.959971] ---[ end trace 4c9adbe59771339d ]---
[ 1.964864] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 1.964864]
搞定一个MIPI显示屏.
board.dts
/*
* Allwinner Technology CO., Ltd. sun50iw10p1 soc board.
*
* soc board support.
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "sun50iw10p1.dtsi"
/{
model = "sun50iw10";
compatible = "allwinner,a3", "arm,sun50iw10p1";
reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed";
gpio = <&pio PI 12 1 2 0 1>;
regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
};
reg_3v3: vdd_3v3 {
compatible = "regulator-fixed";
regulator-name = "vdd_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <1000>;
enable-active-high;
};
soc@03000000 {
r_pio: pinctrl@07022000 {
s_twi0_pins_a: s_twi0@0 {
allwinner,pins = "PL0", "PL1";
allwinner,pname = "s_twi0_scl", "s_twi0_sda";
allwinner,function = "s_twi0";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
s_twi0_pins_b: s_twi0@1 {
allwinner,pins = "PL0", "PL1";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
s_twi1_pins_a: s_twi1@0 {
allwinner,pins = "PL8", "PL9";
allwinner,pname = "s_twi1_scl", "s_twi1_sda";
allwinner,function = "s_twi1";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
s_twi1_pins_b: s_twi1@1 {
allwinner,pins = "PL8", "PL9";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
};
pio: pinctrl@0300b000 {
twi0_pins_a: twi0@0 {
allwinner,pins = "PD22", "PD23";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,function = "twi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi0_pins_b: twi0@1 {
allwinner,pins = "PD22", "PD23";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi1_pins_a: twi1@0 {
allwinner,pins = "PB4", "PB5";
allwinner,pname = "twi1_scl", "twi1_sda";
allwinner,function = "twi1";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi1_pins_b: twi1@1 {
allwinner,pins = "PB4", "PB5";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi2_pins_a: twi2@0 {
allwinner,pins = "PE1", "PE2";
allwinner,pname = "twi2_scl", "twi2_sda";
allwinner,function = "twi2";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi2_pins_b: twi2@1 {
allwinner,pins = "PE1", "PE2";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi3_pins_a: twi3@0 {
allwinner,pins = "PE3", "PE4";
allwinner,pname = "twi3_scl", "twi3_sda";
allwinner,function = "twi3";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
twi3_pins_b: twi3@1 {
allwinner,pins = "PE3", "PE4";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi5_pins_a: twi5@0 {
allwinner,pins = "PI8", "PI9";
allwinner,pname = "twi5_scl", "twi5_sda";
allwinner,function = "twi5";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi5_pins_b: twi5@1 {
allwinner,pins = "PI8", "PI9";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
pwm0_pin_a: pwm0@0 {
allwinner,pins = "PD23";
allwinner,function = "pwm0";
allwinner,muxsel = <0x02>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm0_pin_b: pwm0@1 {
allwinner,pins = "PD23";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm1_pin_a: pwm1@0 {
allwinner,pins = "PI0";
allwinner,function = "pwm1";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm1_pin_b: pwm1@1 {
allwinner,pins = "PI0";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm2_pin_a: pwm2@0 {
allwinner,pins = "PI1";
allwinner,function = "pwm2";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm2_pin_b: pwm2@1 {
allwinner,pins = "PI1";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm3_pin_a: pwm3@0 {
allwinner,pins = "PD21";
allwinner,function = "pwm3";
allwinner,muxsel = <0x02>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm3_pin_b: pwm3@1 {
allwinner,pins = "PD21";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm7_pin_a: pwm7@0 {
allwinner,pins = "PI6";
allwinner,function = "pwm7";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm7_pin_b: pwm7@1 {
allwinner,pins = "PI6";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm8_pin_a: pwm8@0 {
allwinner,pins = "PI7";
allwinner,function = "pwm8";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm8_pin_b: pwm8@1 {
allwinner,pins = "PI7";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
ledc_pins_a: ledc@0 {
allwinner,pins = "PH19";
allwinner,function = "ledc";
allwinner,muxsel = <5>;
};
ledc_pins_b: ledc@1 {
allwinner,pins = "PH19";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
};
key_pj1: key_pj1@0 {
allwinner,pins = "PJ1";
allwinner,function = "gpio_in";
allwinner,muxsel = <0x00>;
allwinner,drive = <0x2>;
allwinner,pull = <1>;
allwinner,data = <0x1>;
};
usb1_vbus_pin_a: usb1_vbus_pin@0 {
allwinner,pins = "PH10";
allwinner,function = "gpio_out";
allwinner,muxsel = <0x01>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0x0>;
};
spi0_pins_a: spi0@0 {
allwinner,pins = "PC2", "PC4", "PC12", "PC15", "PC16";
allwinner,pname = "spi0_mosi", "spi0_miso",
"spi0_sclk", "spi0_wp", "spi0_hold";
allwinner,function = "spi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi0_pins_b: spi0@1 {
allwinner,pins = "PC3", "PC7";
allwinner,pname = "spi0_cs0", "spi0_cs1";
allwinner,function = "spi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi0_pins_c: spi0@2 {
allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12", "PC15", "PC16";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi1_pins_a: spi1@0 {
allwinner,pins = "PD11", "PD12", "PD13";
allwinner,pname = "spi1_sclk", "spi1_mosi",
"spi1_miso";
allwinner,function = "spi1";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi1_pins_b: spi1@1 {
allwinner,pins = "PD10";
allwinner,pname = "spi1_cs0";
allwinner,function = "spi1";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi1_pins_c: spi1@2 {
allwinner,pins = "PD10", "PD11", "PD12", "PD13";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi2_pins_a: spi2@0 {
allwinner,pins = "PB1", "PB2", "PB3";
allwinner,pname = "spi2_sclk", "spi2_mosi",
"spi2_miso";
allwinner,function = "spi2";
allwinner,muxsel = <3>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi2_pins_b: spi2@1 {
allwinner,pins = "PB0";
allwinner,pname = "spi2_cs0";
allwinner,function = "spi2";
allwinner,muxsel = <3>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi2_pins_c: spi2@2 {
allwinner,pins = "PB0", "PB1", "PB2", "PB3";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
};
rotary {
compatible = "rotary-encoder";
pinctrl-names = "default";
/*pinctrl-0 = <&rotary_pins>;*/
gpios = <&pio PJ 0 6 1 3 0xffffffff>, <&pio PJ 1 6 1 3 0xffffffff>; /* PJ0, PJ1 */
linux,axis = <0>; /* REL_X */
rotary-encoder,encoding = "gray";
rotary-encoder,relative-axis;
};
gpio_keys_polled {
compatible = "gpio-keys-polled";
pinctrl-names = "default";
pinctrl-0 = <&key_pj1>;
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
button@0 {
label = "mute";
linux,code = <KEY_MUTE>;
gpios = <&pio PJ 0 6 1 1 1>; //PJ0
};
button@1 {
label = "power";
linux,code = <KEY_POWER>;
gpios = <&pio PJ 1 0 1 1 1>;
};
};
gpio_keys {
device_type = "gpiokey";
compatible = "gpio-keys";
// pinctrl-names = "default";
// pinctrl-0 = <&key_pj1>;
// #address-cells = <1>;
// #size-cells = <0>;
// autorepeat;
status = "disabled";
power_key {
label = "volume down";
linux,code = <KEY_VOLUMEDOWN>;
// gpios = <&pio PJ 0 6 1 1 1>;
// gpios = <&pio PJ 0 6 GPIO_ACTIVE_LOW>;
gpios = <&pio PJ 1 0 1 0 1>;
// debounce-interval = <100>;
// wakeup-source;
wakeup-source = <0x1>;
};
volume_down_key {
label = "volume up";
linux,code = <KEY_VOLUMEUP>;
// gpios = <&pio PJ 1 6 1 1 1>;
// gpios = <&pio PJ 1 GPIO_ACTIVE_LOW>;
gpios = <&pio PJ 0 0 1 0 1>;
//debounce-interval = <100>;
wakeup-source = <0x1>;
};
};
gmac0: eth@05020000 {
phy-mode = "rgmii";
use_ephy25m = <1>;
tx-delay = <7>;
rx-delay = <4>;
phy-rst = <&pio PH 19 1 1 1 0>;
status = "okay";
};
gmac1: eth@05030000 {
phy-mode = "rgmii";
use_ephy25m = <1>;
tx-delay = <7>;
rx-delay = <4>;
gmac-mtu = <900>;
phy-rst = <&pio PI 14 1 1 1 0>;
/*
gmac-power0-supply = <>;
gmac-power0-vol = <3300000>;
*/
status = "disabled";
};
twi0: twi@0x05002000{
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_a>;
pinctrl-1 = <&twi0_pins_b>;
status = "disabled";
/* audio: add ac108 capture */
/*
ac108@3B {
compatible = "Allwinner,MicArray_0";
device_type = "MicArray_0";
reg = <0x3B>;
regulator_used = <0x0>;
power_gpio_used = <0x0>;
reset_gpio_used = <0x0>;
twi_bus = <0x1>;
pga_gain = <0x1F>;
slot_width = <0x20>;
lrck_period = <0x80>;
ref_pga_used = <0x1>;
ref_pga_gain = <0x10>;
ref_channel = <0x3>;
debug_mode = <0x0>;
};
*/
/*ctp {
compatible = "allwinner,goodix";
reg = <0x5d>;
device_type = "ctp";
status = "disabled";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x500>;
ctp_screen_max_y = <0x320>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PB 7 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PB 8 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};*/
};
twi1: twi@0x05002400{
clock-frequency = <200000>;
pinctrl-0 = <&twi1_pins_a>;
pinctrl-1 = <&twi1_pins_b>;
status = "disabled";
/*
ctp {
compatible = "allwinner,goodix";
ctp_name = "gt9xxnew_ts";
reg = <0x5d>;
device_type = "ctp";
status = "okay";
ctp_twi_id = <0x1>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x500>;
ctp_screen_max_y = <0x320>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PI 0 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PI 1 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};
*/
};
twi2: twi@0x05002800{
clock-frequency = <200000>;
pinctrl-0 = <&twi2_pins_a>;
pinctrl-1 = <&twi2_pins_b>;
status = "disabled";
};
twi3: twi@0x05002c00{
clock-frequency = <200000>;
pinctrl-0 = <&twi3_pins_a>;
pinctrl-1 = <&twi3_pins_b>;
status = "disabled";
};
twi5: twi@0x05003400{
clock-frequency = <400000>;
pinctrl-0 = <&twi5_pins_a>;
pinctrl-1 = <&twi5_pins_b>;
pinctrl-names = "default", "sleep";
status = "okay";
/*
ft6x06@48 {
compatible = "focaltech,ft6236";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <PJ 8 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
touchscreen-size-x = <720>;
touchscreen-size-y = <720>;
// touchscreen-inverted-x;
// touchscreen-swapped-x-y;
status = "disabled";
};
*/
ctp {
compatible = "allwinner,goodix";
ctp_name = "gt9xxnew_ts";
reg = <0x14>;
device_type = "ctp";
status = "okay";
ctp_twi_id = <0x1>;
ctp_twi_addr = <0x14>;
ctp_screen_max_x = <480>;
ctp_screen_max_y = <480>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PJ 8 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};
};
twi6: s_twi@0x07081400{
clock-frequency = <200000>;
pinctrl-0 = <&s_twi0_pins_a>;
pinctrl-1 = <&s_twi0_pins_b>;
twi_drv_used = <1>;
status = "disabled";
no_suspend = <1>;
};
standby_param: standby_param {
vdd-cpu = <0x00000006>;
vdd-sys = <0x00000008>;
vcc-pll = <0x00000100>;
osc24m-on = <0x0>;
};
twi7: s_twi@0x07081800{
clock-frequency = <200000>;
pinctrl-0 = <&s_twi1_pins_a>;
pinctrl-1 = <&s_twi1_pins_b>;
status = "disabled";
};
spi0: spi@05010000 {
pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
pinctrl-1 = <&spi0_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board0 {
device_type = "spi_board0";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
spi1: spi@05011000 {
pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
pinctrl-1 = <&spi1_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board1 {
device_type = "spi_board1";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
spi2: spi@05012000 {
pinctrl-0 = <&spi2_pins_a &spi2_pins_b>;
pinctrl-1 = <&spi2_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board1 {
device_type = "spi_board2";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
pwm0: pwm0@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_pin_a>;
pinctrl-1 = <&pwm0_pin_b>;
};
pwm1: pwm1@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm1_pin_a>;
pinctrl-1 = <&pwm1_pin_b>;
};
pwm2: pwm2@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm2_pin_a>;
pinctrl-1 = <&pwm2_pin_b>;
};
pwm7: pwm7@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm7_pin_a>;
pinctrl-1 = <&pwm7_pin_b>;
};
pwm8: pwm8@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm8_pin_a>;
pinctrl-1 = <&pwm8_pin_b>;
};
ledc: ledc@0x05018000 {
pinctrl-0 = <&ledc_pins_a>;
pinctrl-1 = <&ledc_pins_b>;
status = "disabled";
};
gpadc:gpadc{
channel_num = <1>;
channel_select = <0x01>;
channel_data_select = <0>;
channel_compare_select = <0x01>;
channel_cld_select = <0x01>;
channel_chd_select = <0>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
key_cnt = <5>;
key0_vol = <115>;
key0_val = <115>;
key1_vol = <240>;
key1_val = <114>;
key2_vol = <360>;
key2_val = <139>;
key3_vol = <480>;
key3_val = <28>;
key4_vol = <600>;
key4_val = <102>;
status = "okay";
};
sdc2: sdmmc@04022000 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
no-sdio;
no-sd;
cap-mmc-highspeed;
sunxi-power-save-mode;
sunxi-dis-signal-vol-sw;
max-frequency = <100000000>;
vmmc-supply = <>;
vqmmc-supply = <>;
status = "okay";
};
sdc0: sdmmc@04020000 {
bus-width = <4>;
cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
/*data3-detect;*/
/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
cd-used-24M;
cap-sd-highspeed;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
no-sdio;
no-mmc;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
ctl-spec-caps = <0x8>;
vmmc-supply = <>;
vqmmc33sw-supply = <>;
vdmmc33sw-supply = <>;
vqmmc18sw-supply = <>;
vdmmc18sw-supply = <>;
status = "okay";
};
sdc1: sdmmc@04021000 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12*/
/*sd-uhs-sdr25*/
/*sd-uhs-sdr50;*/
/*sd-uhs-ddr50;*/
/*sd-uhs-sdr104*/
/*sunxi-power-save-mode;*/
/*sunxi-dis-signal-vol-sw;*/
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
max-frequency = <50000000>;
ctl-spec-caps = <0x8>;
status = "okay";
};
/*
*usb_used: usb controller enable. 0-disable, 1-enable.
*usb_port_type: usb mode. 0-device, 1-host, 2-otg.
*usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
*usb_drv_vbus_gpio:USB DRY_VBUS pin config or "axp_ctrl"
*/
usbc0:usbc0@0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_id_gpio = <&pio PH 11 0 0 0xffffffff 0xffffffff>;
usb_det_vbus_gpio = <&pio PH 12 0 0 0xffffffff 0xffffffff>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
usb_luns = <3>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
ehci0:ehci0-controller@0x05101000 {
drvvbus-supply = <®_usb1_vbus>;
};
ohci0:ohci0-controller@0x05101400 {
drvvbus-supply = <®_usb1_vbus>;
};
usbc1:usbc1@0 {
device_type = "usbc1";
usb_regulator_io = "nocare";
usb_wakeup_suspend = <1>;
wakeup-source;
status = "okay";
};
/* Audio Driver Modules */
codec:codec@0x05096000 {
/* MIC and headphone gain setting */
mic1gain = <0x1F>;
mic2gain = <0x1F>;
/* ADC/DAC DRC/HPF func enabled */
/* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
adcdrc_cfg = <0x0>;
adchpf_cfg = <0x0>;
dacdrc_cfg = <0x0>;
dachpf_cfg = <0x0>;
/* Volume about */
digital_vol = <0x00>;
lineout_vol = <0x1a>;
headphonegain = <0x00>;
/* Pa enabled about */
pa_level = <0x01>;
pa_msleep_time = <0x78>;
/* gpio-spk = <&pio PH 19 1 1 1 1>;*/
/* regulator about */
avcc-supply = <>;
status = "okay";
};
sndcodec:sound@0 {
noheadphonemic = <0x01>;
status = "okay";
};
spdif:spdif-controller@0x05094000{
status = "disabled";
};
sndspdif:sound@1{
status = "disabled";
};
dmic:dmic-controller@0x05095000{
status = "disabled";
};
snddmic:sound@2{
status = "disabled";
};
daudio0:daudio@0x05090000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x80>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio0:sound@3 {
/*
sunxi,snddaudio-codec = "ac108.0-003b";
sunxi,snddaudio-codec-dai = "ac108-pcm0";
*/
status = "disabled";
};
daudio1:daudio@0x05091000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio1:sound@4 {
status = "disabled";
};
daudio2:daudio@0x05092000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio2:sound@5 {
status = "disabled";
};
daudio3:daudio@0x05093000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio3:sound@6 {
status = "disabled";
};
vind0:vind@0 {
vind0_clk = <336000000>;
vind0_isp = <300000000>;
status = "okay";
actuator0:actuator@0 {
device_type = "actuator0";
actuator0_name = "ad5820_act";
actuator0_slave = <0x18>;
actuator0_af_pwdn = <>;
actuator0_afvdd = "afvcc-csi";
actuator0_afvdd_vol = <2800000>;
status = "disabled";
};
flash0:flash@0 {
device_type = "flash0";
flash0_type = <2>;
flash0_en = <>;
flash0_mode = <>;
flash0_flvdd = "";
flash0_flvdd_vol = <>;
device_id = <0>;
status = "disabled";
};
sensor0:sensor@0 {
device_type = "sensor0";
sensor0_mname = "imx278_mipi";
sensor0_twi_cci_id = <2>;
sensor0_twi_addr = <0x20>;
sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <1>;
sensor0_fmt = <1>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <1800000>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <2800000>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <1200000>;
sensor0_power_en = <>;
sensor0_reset = <&pio PE 7 1 0 1 0>;
sensor0_pwdn = <&pio PE 6 1 0 1 0>;
status = "disabled";
};
sensor1:sensor@1 {
device_type = "sensor1";
sensor1_mname = "imx386_mipi";
sensor1_twi_cci_id = <3>;
sensor1_twi_addr = <0x20>;
sensor1_mclk_id = <1>;
sensor1_pos = "front";
sensor1_isp_used = <1>;
sensor1_fmt = <1>;
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
sensor1_iovdd-supply = <>;
sensor1_iovdd_vol = <1800000>;
sensor1_avdd-supply = <>;
sensor1_avdd_vol = <2800000>;
sensor1_dvdd-supply = <>;
sensor1_dvdd_vol = <>;
sensor1_power_en = <>;
sensor1_reset = <&pio PE 9 1 0 1 0>;
sensor1_pwdn = <&pio PE 8 1 0 1 0>;
status = "disabled";
};
vinc0:vinc@0 {
vinc0_csi_sel = <0>;
vinc0_mipi_sel = <0>;
vinc0_isp_sel = <0>;
vinc0_isp_tx_ch = <0>;
vinc0_tdm_rx_sel = <0>;
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <1>;
vinc0_sensor_list = <0>;
status = "disabled";
};
vinc1:vinc@1 {
vinc1_csi_sel = <0>;
vinc1_mipi_sel = <0>;
vinc1_isp_sel = <0>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <0>;
vinc1_rear_sensor_sel = <0>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
status = "disabled";
};
vinc2:vinc@2 {
vinc2_csi_sel = <1>;
vinc2_mipi_sel = <1>;
vinc2_isp_sel = <1>;
vinc2_isp_tx_ch = <0>;
vinc2_tdm_rx_sel = <1>;
vinc2_rear_sensor_sel = <0>;
vinc2_front_sensor_sel = <1>;
vinc2_sensor_list = <0>;
status = "disabled";
};
vinc3:vinc@3 {
vinc3_csi_sel = <1>;
vinc3_mipi_sel = <1>;
vinc3_isp_sel = <1>;
vinc3_isp_tx_ch = <0>;
vinc3_tdm_rx_sel = <0xff>;
vinc3_rear_sensor_sel = <0>;
vinc3_front_sensor_sel = <1>;
vinc3_sensor_list = <0>;
status = "disabled";
};
};
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
disp: disp@06000000 {
disp_init_enable = <1>;
disp_mode = <1>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_output_format = <0>;
screen0_output_bits = <0>;
screen0_output_eotf = <4>;
screen0_output_cs = <257>;
screen0_output_dvi_hdmi = <2>;
screen0_output_range = <2>;
screen0_output_scan = <0>;
screen0_output_aspect_ratio = <8>;
screen1_output_type = <1>;
screen1_output_mode = <4>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
dev1_output_type = <1>;
dev1_output_mode = <4>;
dev1_screen_id = <1>;
dev1_do_hpd = <0>;
def_output_dev = <0>;
hdmi_mode_check = <1>;
fb0_format = <0>;
fb0_width = <0>;
fb0_height = <0>;
fb1_format = <0>;
fb1_width = <0>;
fb1_height = <0>;
chn_cfg_mode = <1>;
disp_para_zone = <1>;
/*VCC-LCD*/
dc1sw-supply = <>;
/*VCC-DSI*/
eldo3-supply = <>;
/*VCC-PD*/
dcdc1-supply = <>;
status = "okay";
};
/*----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link(odd and even); 2:dual link(same pixel)
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
;----------------------------------------------------------------------------------*/
lcd0: lcd0@01c0c000 {
lcd_used = <1>;
lcd_driver_name = "tft08006";
lcd_backlight = <100>;
lcd_if = <4>;
lcd_x = <720>;
lcd_y = <1440>;
lcd_width = <52>;
lcd_height = <52>;
lcd_dclk_freq = <70>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <0>; //PD23
// lcd_pwm_ch = <1>;//PI0
lcd_pwm_freq = <1000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <32>;
lcd_ht = <868>;
lcd_hspw = <4>;
lcd_vbp = <12>;
lcd_vt = <1488>;
lcd_vspw = <4>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power;
lcd_power;
/*lcd_bl_en = <&pio PB 8 1 0 3 1>;*/
/*lcd_gpio_1 = <&pio PD 23 1 0 3 1>;*/
lcd_gpio_0 = <&r_pio PL 5 1 1 3 1>; //PL5
//lcd_gpio_0 = <&pio PI 1 1 1 3 1>; //PI1
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
status = "okay";
};
lcd1: lcd1@01c0c001 {
lcd_used = <1>;
lcd_driver_name = "st7701s_rgb";
lcd_if = <0>;
lcd_hv_if = <0>;
lcd_width = <70>;
lcd_height = <72>;
lcd_x = <480>;
lcd_y = <480>;
lcd_dclk_freq = <11>;
lcd_hbp = <60>;
lcd_ht = <612>;
lcd_hspw = <12>;
lcd_vbp = <18>;
lcd_vt = <520>;
lcd_vspw = <4>;
lcd_backlight = <250>;// 0 ~ 255
lcd_pwm_used = <1>;
lcd_pwm_ch = <8>;
lcd_pwm_freq = <20000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_bright_curve_en = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_hv_clk_phase = <1>;
lcd_hv_sync_polarity= <0>;
lcd_rb_swap = <0>;
//lcd_bl_en = <&pio PI 7 1 1 3 1>;
lcd_gpio_0 = <&pio PJ 16 1 1 3 1>;//reset
lcd_gpio_1 = <&pio PJ 17 1 1 3 1>;//cs
lcd_gpio_2 = <&pio PC 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&pio PC 12 1 1 3 1>;//scl
/*
lcd_gpio_2 = <&r_pio PL 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&r_pio PL 3 1 1 3 1>;//scl
*/
lcd_pin_power;
lcd_power;
pinctrl-0 = <&rgb18_pins_c>;
pinctrl-1 = <&rgb18_pins_d>;
status = "okay";
};
wlan: wlan@0 {
compatible = "allwinner,sunxi-wlan";
pinctrl-0;
pinctrl-names;
wlan_busnum = <0x1>;
wlan_power;
wlan_io_regulator;
wlan_regon = <&r_pio PL 10 1 0xffffffff 0xffffffff 0>;
wlan_hostwake = <&r_pio PL 7 1 0xffffffff 0xffffffff 0>;
chip_en;
power_en;
status = "okay";
};
bt: bt@0 {
compatible = "allwinner,sunxi-bt";
clocks = <&clk_losc_out>, <&clk_dcxo_out>;
bt_power;
bt_io_regulator;
bt_rst_n = <&r_pio PL 5 1 0xffffffff 0xffffffff 0>;
bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 0>;
bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 0>;
status = "okay";
};
modem: modem@0 {
compatible = "allwinner,sunxi-modem";
modem_power;
modem_rst = <&pio PB 3 1 0xffffffff 0xffffffff 1>;
status = "disabled";
};
btlpm: btlpm@0 {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 1>;//AP-WAKE-BT
bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 1>;//BT-WAKE-AP
status = "okay";
};
/*
btlpm: btlpm@0 {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&r_pio PL 3 1 0xffffffff 0xffffffff 1>;
bt_hostwake = <&r_pio PL 4 6 0xffffffff 0xffffffff 1>;
status = "disabled";
};
*/
addr_mgt: addr_mgt@0 {
compatible = "allwinner,sunxi-addr_mgt";
type_addr_wifi = <0x0>;
type_addr_bt = <0x0>;
type_addr_eth = <0x0>;
status = "okay";
};
uart0: uart@05000000 {
uart-supply = <>;
};
uart1: uart@05000400 {
status = "okay";
};
uart5: uart@05001400 {
status = "disabled";
};
uart6: uart@05001800 {
status = "disabled";
rs485-en = <&pio PI 11 1 1 0xffffffff 1>;
};
ncs8801s {
status = "disabled";
ncs8801s_reset = <&pio PI 14 1 0xffffffff 0xffffffff 0>;
};
};
gpu: gpu@0x01800000 {
gpu_idle = <0>;
dvfs_status = <1>;
pll_rate = <504000>;
independent_power = <0>;
operating-points = <
/* KHz uV */
504000 950000
472500 950000
441000 950000
252000 950000
>;
gpu-supply = <>;
};
opp_dvfs_table:opp_dvfs_table {
cluster_num = <1>;
opp_table_count = <1>;
};
};
&cpu0 {
cpu-supply = <>;
};
board.dts
/*
* Allwinner Technology CO., Ltd. sun50iw10p1 soc board.
*
* soc board support.
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "sun50iw10p1.dtsi"
/{
model = "sun50iw10";
compatible = "allwinner,a3", "arm,sun50iw10p1";
reg_usb1_vbus: usb1-vbus {
compatible = "regulator-fixed";
gpio = <&pio PI 12 1 2 0 1>;
regulator-name = "usb1-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
};
reg_3v3: vdd_3v3 {
compatible = "regulator-fixed";
regulator-name = "vdd_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <1000>;
enable-active-high;
};
soc@03000000 {
r_pio: pinctrl@07022000 {
s_twi0_pins_a: s_twi0@0 {
allwinner,pins = "PL0", "PL1";
allwinner,pname = "s_twi0_scl", "s_twi0_sda";
allwinner,function = "s_twi0";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
s_twi0_pins_b: s_twi0@1 {
allwinner,pins = "PL0", "PL1";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
s_twi1_pins_a: s_twi1@0 {
allwinner,pins = "PL8", "PL9";
allwinner,pname = "s_twi1_scl", "s_twi1_sda";
allwinner,function = "s_twi1";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
s_twi1_pins_b: s_twi1@1 {
allwinner,pins = "PL8", "PL9";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
};
pio: pinctrl@0300b000 {
twi0_pins_a: twi0@0 {
allwinner,pins = "PD22", "PD23";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,function = "twi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi0_pins_b: twi0@1 {
allwinner,pins = "PD22", "PD23";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi1_pins_a: twi1@0 {
allwinner,pins = "PB4", "PB5";
allwinner,pname = "twi1_scl", "twi1_sda";
allwinner,function = "twi1";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi1_pins_b: twi1@1 {
allwinner,pins = "PB4", "PB5";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi2_pins_a: twi2@0 {
allwinner,pins = "PE1", "PE2";
allwinner,pname = "twi2_scl", "twi2_sda";
allwinner,function = "twi2";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi2_pins_b: twi2@1 {
allwinner,pins = "PE1", "PE2";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi3_pins_a: twi3@0 {
allwinner,pins = "PE3", "PE4";
allwinner,pname = "twi3_scl", "twi3_sda";
allwinner,function = "twi3";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
twi3_pins_b: twi3@1 {
allwinner,pins = "PE3", "PE4";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi5_pins_a: twi5@0 {
allwinner,pins = "PI8", "PI9";
allwinner,pname = "twi5_scl", "twi5_sda";
allwinner,function = "twi5";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi5_pins_b: twi5@1 {
allwinner,pins = "PI8", "PI9";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
pwm0_pin_a: pwm0@0 {
allwinner,pins = "PD23";
allwinner,function = "pwm0";
allwinner,muxsel = <0x02>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm0_pin_b: pwm0@1 {
allwinner,pins = "PD23";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm1_pin_a: pwm1@0 {
allwinner,pins = "PI0";
allwinner,function = "pwm1";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm1_pin_b: pwm1@1 {
allwinner,pins = "PI0";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm2_pin_a: pwm2@0 {
allwinner,pins = "PI1";
allwinner,function = "pwm2";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm2_pin_b: pwm2@1 {
allwinner,pins = "PI1";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm3_pin_a: pwm3@0 {
allwinner,pins = "PD21";
allwinner,function = "pwm3";
allwinner,muxsel = <0x02>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm3_pin_b: pwm3@1 {
allwinner,pins = "PD21";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm7_pin_a: pwm7@0 {
allwinner,pins = "PI6";
allwinner,function = "pwm7";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm7_pin_b: pwm7@1 {
allwinner,pins = "PI6";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm8_pin_a: pwm8@0 {
allwinner,pins = "PI7";
allwinner,function = "pwm8";
allwinner,muxsel = <0x04>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
pwm8_pin_b: pwm8@1 {
allwinner,pins = "PI7";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x07>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0xffffffff>;
};
ledc_pins_a: ledc@0 {
allwinner,pins = "PH19";
allwinner,function = "ledc";
allwinner,muxsel = <5>;
};
ledc_pins_b: ledc@1 {
allwinner,pins = "PH19";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
};
key_pj1: key_pj1@0 {
allwinner,pins = "PJ1";
allwinner,function = "gpio_in";
allwinner,muxsel = <0x00>;
allwinner,drive = <0x2>;
allwinner,pull = <1>;
allwinner,data = <0x1>;
};
usb1_vbus_pin_a: usb1_vbus_pin@0 {
allwinner,pins = "PH10";
allwinner,function = "gpio_out";
allwinner,muxsel = <0x01>;
allwinner,drive = <0x2>;
allwinner,pull = <0>;
allwinner,data = <0x0>;
};
spi0_pins_a: spi0@0 {
allwinner,pins = "PC2", "PC4", "PC12", "PC15", "PC16";
allwinner,pname = "spi0_mosi", "spi0_miso",
"spi0_sclk", "spi0_wp", "spi0_hold";
allwinner,function = "spi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi0_pins_b: spi0@1 {
allwinner,pins = "PC3", "PC7";
allwinner,pname = "spi0_cs0", "spi0_cs1";
allwinner,function = "spi0";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi0_pins_c: spi0@2 {
allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12", "PC15", "PC16";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi1_pins_a: spi1@0 {
allwinner,pins = "PD11", "PD12", "PD13";
allwinner,pname = "spi1_sclk", "spi1_mosi",
"spi1_miso";
allwinner,function = "spi1";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi1_pins_b: spi1@1 {
allwinner,pins = "PD10";
allwinner,pname = "spi1_cs0";
allwinner,function = "spi1";
allwinner,muxsel = <4>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi1_pins_c: spi1@2 {
allwinner,pins = "PD10", "PD11", "PD12", "PD13";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi2_pins_a: spi2@0 {
allwinner,pins = "PB1", "PB2", "PB3";
allwinner,pname = "spi2_sclk", "spi2_mosi",
"spi2_miso";
allwinner,function = "spi2";
allwinner,muxsel = <3>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
spi2_pins_b: spi2@1 {
allwinner,pins = "PB0";
allwinner,pname = "spi2_cs0";
allwinner,function = "spi2";
allwinner,muxsel = <3>;
allwinner,drive = <1>;
allwinner,pull = <1>; /* only CS should be pulled up */
};
spi2_pins_c: spi2@2 {
allwinner,pins = "PB0", "PB1", "PB2", "PB3";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
};
rotary {
compatible = "rotary-encoder";
pinctrl-names = "default";
/*pinctrl-0 = <&rotary_pins>;*/
gpios = <&pio PJ 0 6 1 3 0xffffffff>, <&pio PJ 1 6 1 3 0xffffffff>; /* PJ0, PJ1 */
linux,axis = <0>; /* REL_X */
rotary-encoder,encoding = "gray";
rotary-encoder,relative-axis;
};
gpio_keys_polled {
compatible = "gpio-keys-polled";
pinctrl-names = "default";
pinctrl-0 = <&key_pj1>;
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
button@0 {
label = "mute";
linux,code = <KEY_MUTE>;
gpios = <&pio PJ 0 6 1 1 1>; //PJ0
};
button@1 {
label = "power";
linux,code = <KEY_POWER>;
gpios = <&pio PJ 1 0 1 1 1>;
};
};
gpio_keys {
device_type = "gpiokey";
compatible = "gpio-keys";
// pinctrl-names = "default";
// pinctrl-0 = <&key_pj1>;
// #address-cells = <1>;
// #size-cells = <0>;
// autorepeat;
status = "disabled";
power_key {
label = "volume down";
linux,code = <KEY_VOLUMEDOWN>;
// gpios = <&pio PJ 0 6 1 1 1>;
// gpios = <&pio PJ 0 6 GPIO_ACTIVE_LOW>;
gpios = <&pio PJ 1 0 1 0 1>;
// debounce-interval = <100>;
// wakeup-source;
wakeup-source = <0x1>;
};
volume_down_key {
label = "volume up";
linux,code = <KEY_VOLUMEUP>;
// gpios = <&pio PJ 1 6 1 1 1>;
// gpios = <&pio PJ 1 GPIO_ACTIVE_LOW>;
gpios = <&pio PJ 0 0 1 0 1>;
//debounce-interval = <100>;
wakeup-source = <0x1>;
};
};
gmac0: eth@05020000 {
phy-mode = "rgmii";
use_ephy25m = <1>;
tx-delay = <7>;
rx-delay = <4>;
phy-rst = <&pio PH 19 1 1 1 0>;
status = "okay";
};
gmac1: eth@05030000 {
phy-mode = "rgmii";
use_ephy25m = <1>;
tx-delay = <7>;
rx-delay = <4>;
gmac-mtu = <900>;
phy-rst = <&pio PI 14 1 1 1 0>;
/*
gmac-power0-supply = <>;
gmac-power0-vol = <3300000>;
*/
status = "disabled";
};
twi0: twi@0x05002000{
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_a>;
pinctrl-1 = <&twi0_pins_b>;
status = "disabled";
/* audio: add ac108 capture */
/*
ac108@3B {
compatible = "Allwinner,MicArray_0";
device_type = "MicArray_0";
reg = <0x3B>;
regulator_used = <0x0>;
power_gpio_used = <0x0>;
reset_gpio_used = <0x0>;
twi_bus = <0x1>;
pga_gain = <0x1F>;
slot_width = <0x20>;
lrck_period = <0x80>;
ref_pga_used = <0x1>;
ref_pga_gain = <0x10>;
ref_channel = <0x3>;
debug_mode = <0x0>;
};
*/
/*ctp {
compatible = "allwinner,goodix";
reg = <0x5d>;
device_type = "ctp";
status = "disabled";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x500>;
ctp_screen_max_y = <0x320>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PB 7 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PB 8 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};*/
};
twi1: twi@0x05002400{
clock-frequency = <200000>;
pinctrl-0 = <&twi1_pins_a>;
pinctrl-1 = <&twi1_pins_b>;
status = "disabled";
/*
ctp {
compatible = "allwinner,goodix";
ctp_name = "gt9xxnew_ts";
reg = <0x5d>;
device_type = "ctp";
status = "okay";
ctp_twi_id = <0x1>;
ctp_twi_addr = <0x5d>;
ctp_screen_max_x = <0x500>;
ctp_screen_max_y = <0x320>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PI 0 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PI 1 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};
*/
};
twi2: twi@0x05002800{
clock-frequency = <200000>;
pinctrl-0 = <&twi2_pins_a>;
pinctrl-1 = <&twi2_pins_b>;
status = "disabled";
};
twi3: twi@0x05002c00{
clock-frequency = <200000>;
pinctrl-0 = <&twi3_pins_a>;
pinctrl-1 = <&twi3_pins_b>;
status = "disabled";
};
twi5: twi@0x05003400{
clock-frequency = <400000>;
pinctrl-0 = <&twi5_pins_a>;
pinctrl-1 = <&twi5_pins_b>;
pinctrl-names = "default", "sleep";
status = "okay";
/*
ft6x06@48 {
compatible = "focaltech,ft6236";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <PJ 8 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
touchscreen-size-x = <720>;
touchscreen-size-y = <720>;
// touchscreen-inverted-x;
// touchscreen-swapped-x-y;
status = "disabled";
};
*/
ctp {
compatible = "allwinner,goodix";
ctp_name = "gt9xxnew_ts";
reg = <0x14>;
device_type = "ctp";
status = "okay";
ctp_twi_id = <0x1>;
ctp_twi_addr = <0x14>;
ctp_screen_max_x = <480>;
ctp_screen_max_y = <480>;
ctp_revert_x_flag = <0x0>;
ctp_revert_y_flag = <0x0>;
ctp_exchange_x_y_flag = <0x0>;
ctp_int_port = <&pio PJ 8 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PJ 9 1 0xffffffff 0xffffffff 1>;
ctp-supply = <>;
ctp_power_ldo_vol = <3300>;
};
};
twi6: s_twi@0x07081400{
clock-frequency = <200000>;
pinctrl-0 = <&s_twi0_pins_a>;
pinctrl-1 = <&s_twi0_pins_b>;
twi_drv_used = <1>;
status = "disabled";
no_suspend = <1>;
};
standby_param: standby_param {
vdd-cpu = <0x00000006>;
vdd-sys = <0x00000008>;
vcc-pll = <0x00000100>;
osc24m-on = <0x0>;
};
twi7: s_twi@0x07081800{
clock-frequency = <200000>;
pinctrl-0 = <&s_twi1_pins_a>;
pinctrl-1 = <&s_twi1_pins_b>;
status = "disabled";
};
spi0: spi@05010000 {
pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
pinctrl-1 = <&spi0_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board0 {
device_type = "spi_board0";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
spi1: spi@05011000 {
pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
pinctrl-1 = <&spi1_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board1 {
device_type = "spi_board1";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
spi2: spi@05012000 {
pinctrl-0 = <&spi2_pins_a &spi2_pins_b>;
pinctrl-1 = <&spi2_pins_c>;
spi_slave_mode = <0>;
status = "disabled";
spi_board1 {
device_type = "spi_board2";
compatible = "rohm,dh2228fv";
spi-max-frequency = <0x5f5e100>;
reg = <0x0>;
spi-rx-bus-width = <0x1>;
spi-tx-bus-width = <0x1>;
status = "disabled";
};
};
pwm0: pwm0@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_pin_a>;
pinctrl-1 = <&pwm0_pin_b>;
};
pwm1: pwm1@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm1_pin_a>;
pinctrl-1 = <&pwm1_pin_b>;
};
pwm2: pwm2@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm2_pin_a>;
pinctrl-1 = <&pwm2_pin_b>;
};
pwm7: pwm7@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm7_pin_a>;
pinctrl-1 = <&pwm7_pin_b>;
};
pwm8: pwm8@0300a000 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm8_pin_a>;
pinctrl-1 = <&pwm8_pin_b>;
};
ledc: ledc@0x05018000 {
pinctrl-0 = <&ledc_pins_a>;
pinctrl-1 = <&ledc_pins_b>;
status = "disabled";
};
gpadc:gpadc{
channel_num = <1>;
channel_select = <0x01>;
channel_data_select = <0>;
channel_compare_select = <0x01>;
channel_cld_select = <0x01>;
channel_chd_select = <0>;
channel0_compare_lowdata = <1700000>;
channel0_compare_higdata = <1200000>;
key_cnt = <5>;
key0_vol = <115>;
key0_val = <115>;
key1_vol = <240>;
key1_val = <114>;
key2_vol = <360>;
key2_val = <139>;
key3_vol = <480>;
key3_val = <28>;
key4_vol = <600>;
key4_val = <102>;
status = "okay";
};
sdc2: sdmmc@04022000 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
no-sdio;
no-sd;
cap-mmc-highspeed;
sunxi-power-save-mode;
sunxi-dis-signal-vol-sw;
max-frequency = <100000000>;
vmmc-supply = <>;
vqmmc-supply = <>;
status = "okay";
};
sdc0: sdmmc@04020000 {
bus-width = <4>;
cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
/*data3-detect;*/
/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
cd-used-24M;
cap-sd-highspeed;
sd-uhs-sdr50;
sd-uhs-ddr50;
sd-uhs-sdr104;
no-sdio;
no-mmc;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
ctl-spec-caps = <0x8>;
vmmc-supply = <>;
vqmmc33sw-supply = <>;
vdmmc33sw-supply = <>;
vqmmc18sw-supply = <>;
vdmmc18sw-supply = <>;
status = "okay";
};
sdc1: sdmmc@04021000 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12*/
/*sd-uhs-sdr25*/
/*sd-uhs-sdr50;*/
/*sd-uhs-ddr50;*/
/*sd-uhs-sdr104*/
/*sunxi-power-save-mode;*/
/*sunxi-dis-signal-vol-sw;*/
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
max-frequency = <50000000>;
ctl-spec-caps = <0x8>;
status = "okay";
};
/*
*usb_used: usb controller enable. 0-disable, 1-enable.
*usb_port_type: usb mode. 0-device, 1-host, 2-otg.
*usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
*usb_drv_vbus_gpio:USB DRY_VBUS pin config or "axp_ctrl"
*/
usbc0:usbc0@0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_id_gpio = <&pio PH 11 0 0 0xffffffff 0xffffffff>;
usb_det_vbus_gpio = <&pio PH 12 0 0 0xffffffff 0xffffffff>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0>;
usb_luns = <3>;
usb_serial_unique = <0>;
usb_serial_number = "20080411";
rndis_wceis = <1>;
status = "okay";
};
ehci0:ehci0-controller@0x05101000 {
drvvbus-supply = <®_usb1_vbus>;
};
ohci0:ohci0-controller@0x05101400 {
drvvbus-supply = <®_usb1_vbus>;
};
usbc1:usbc1@0 {
device_type = "usbc1";
usb_regulator_io = "nocare";
usb_wakeup_suspend = <1>;
wakeup-source;
status = "okay";
};
/* Audio Driver Modules */
codec:codec@0x05096000 {
/* MIC and headphone gain setting */
mic1gain = <0x1F>;
mic2gain = <0x1F>;
/* ADC/DAC DRC/HPF func enabled */
/* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
adcdrc_cfg = <0x0>;
adchpf_cfg = <0x0>;
dacdrc_cfg = <0x0>;
dachpf_cfg = <0x0>;
/* Volume about */
digital_vol = <0x00>;
lineout_vol = <0x1a>;
headphonegain = <0x00>;
/* Pa enabled about */
pa_level = <0x01>;
pa_msleep_time = <0x78>;
/* gpio-spk = <&pio PH 19 1 1 1 1>;*/
/* regulator about */
avcc-supply = <>;
status = "okay";
};
sndcodec:sound@0 {
noheadphonemic = <0x01>;
status = "okay";
};
spdif:spdif-controller@0x05094000{
status = "disabled";
};
sndspdif:sound@1{
status = "disabled";
};
dmic:dmic-controller@0x05095000{
status = "disabled";
};
snddmic:sound@2{
status = "disabled";
};
daudio0:daudio@0x05090000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x80>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio0:sound@3 {
/*
sunxi,snddaudio-codec = "ac108.0-003b";
sunxi,snddaudio-codec-dai = "ac108-pcm0";
*/
status = "disabled";
};
daudio1:daudio@0x05091000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio1:sound@4 {
status = "disabled";
};
daudio2:daudio@0x05092000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio2:sound@5 {
status = "disabled";
};
daudio3:daudio@0x05093000 {
mclk_div = <0x01>;
frametype = <0x00>;
tdm_config = <0x01>;
sign_extend = <0x00>;
tx_data_mode = <0x00>;
rx_data_mode = <0x00>;
msb_lsb_first = <0x00>;
pcm_lrck_period = <0x20>;
audio_format = <0x01>;
daudio_master = <0x04>;
signal_inversion = <0x01>;
slot_width_select = <0x20>;
status = "disabled";
};
snddaudio3:sound@6 {
status = "disabled";
};
vind0:vind@0 {
vind0_clk = <336000000>;
vind0_isp = <300000000>;
status = "okay";
actuator0:actuator@0 {
device_type = "actuator0";
actuator0_name = "ad5820_act";
actuator0_slave = <0x18>;
actuator0_af_pwdn = <>;
actuator0_afvdd = "afvcc-csi";
actuator0_afvdd_vol = <2800000>;
status = "disabled";
};
flash0:flash@0 {
device_type = "flash0";
flash0_type = <2>;
flash0_en = <>;
flash0_mode = <>;
flash0_flvdd = "";
flash0_flvdd_vol = <>;
device_id = <0>;
status = "disabled";
};
sensor0:sensor@0 {
device_type = "sensor0";
sensor0_mname = "imx278_mipi";
sensor0_twi_cci_id = <2>;
sensor0_twi_addr = <0x20>;
sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <1>;
sensor0_fmt = <1>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_iovdd-supply = <>;
sensor0_iovdd_vol = <1800000>;
sensor0_avdd-supply = <>;
sensor0_avdd_vol = <2800000>;
sensor0_dvdd-supply = <>;
sensor0_dvdd_vol = <1200000>;
sensor0_power_en = <>;
sensor0_reset = <&pio PE 7 1 0 1 0>;
sensor0_pwdn = <&pio PE 6 1 0 1 0>;
status = "disabled";
};
sensor1:sensor@1 {
device_type = "sensor1";
sensor1_mname = "imx386_mipi";
sensor1_twi_cci_id = <3>;
sensor1_twi_addr = <0x20>;
sensor1_mclk_id = <1>;
sensor1_pos = "front";
sensor1_isp_used = <1>;
sensor1_fmt = <1>;
sensor1_stby_mode = <0>;
sensor1_vflip = <0>;
sensor1_hflip = <0>;
sensor1_iovdd-supply = <>;
sensor1_iovdd_vol = <1800000>;
sensor1_avdd-supply = <>;
sensor1_avdd_vol = <2800000>;
sensor1_dvdd-supply = <>;
sensor1_dvdd_vol = <>;
sensor1_power_en = <>;
sensor1_reset = <&pio PE 9 1 0 1 0>;
sensor1_pwdn = <&pio PE 8 1 0 1 0>;
status = "disabled";
};
vinc0:vinc@0 {
vinc0_csi_sel = <0>;
vinc0_mipi_sel = <0>;
vinc0_isp_sel = <0>;
vinc0_isp_tx_ch = <0>;
vinc0_tdm_rx_sel = <0>;
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <1>;
vinc0_sensor_list = <0>;
status = "disabled";
};
vinc1:vinc@1 {
vinc1_csi_sel = <0>;
vinc1_mipi_sel = <0>;
vinc1_isp_sel = <0>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <0>;
vinc1_rear_sensor_sel = <0>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
status = "disabled";
};
vinc2:vinc@2 {
vinc2_csi_sel = <1>;
vinc2_mipi_sel = <1>;
vinc2_isp_sel = <1>;
vinc2_isp_tx_ch = <0>;
vinc2_tdm_rx_sel = <1>;
vinc2_rear_sensor_sel = <0>;
vinc2_front_sensor_sel = <1>;
vinc2_sensor_list = <0>;
status = "disabled";
};
vinc3:vinc@3 {
vinc3_csi_sel = <1>;
vinc3_mipi_sel = <1>;
vinc3_isp_sel = <1>;
vinc3_isp_tx_ch = <0>;
vinc3_tdm_rx_sel = <0xff>;
vinc3_rear_sensor_sel = <0>;
vinc3_front_sensor_sel = <1>;
vinc3_sensor_list = <0>;
status = "disabled";
};
};
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
disp: disp@06000000 {
disp_init_enable = <1>;
disp_mode = <1>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_output_format = <0>;
screen0_output_bits = <0>;
screen0_output_eotf = <4>;
screen0_output_cs = <257>;
screen0_output_dvi_hdmi = <2>;
screen0_output_range = <2>;
screen0_output_scan = <0>;
screen0_output_aspect_ratio = <8>;
screen1_output_type = <1>;
screen1_output_mode = <4>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
dev1_output_type = <1>;
dev1_output_mode = <4>;
dev1_screen_id = <1>;
dev1_do_hpd = <0>;
def_output_dev = <0>;
hdmi_mode_check = <1>;
fb0_format = <0>;
fb0_width = <0>;
fb0_height = <0>;
fb1_format = <0>;
fb1_width = <0>;
fb1_height = <0>;
chn_cfg_mode = <1>;
disp_para_zone = <1>;
/*VCC-LCD*/
dc1sw-supply = <>;
/*VCC-DSI*/
eldo3-supply = <>;
/*VCC-PD*/
dcdc1-supply = <>;
status = "okay";
};
/*----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link(odd and even); 2:dual link(same pixel)
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
;----------------------------------------------------------------------------------*/
lcd0: lcd0@01c0c000 {
lcd_used = <1>;
lcd_driver_name = "tft08006";
lcd_backlight = <100>;
lcd_if = <4>;
lcd_x = <800>;
lcd_y = <1280>;
lcd_width = <52>;
lcd_height = <52>;
lcd_dclk_freq = <70>;
lcd_pwm_used = <0>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <1000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <32>;
lcd_ht = <868>;
lcd_hspw = <4>;
lcd_vbp = <12>;
lcd_vt = <1311>;
lcd_vspw = <4>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_pin_power;
lcd_power;
/*lcd_bl_en = <&pio PB 8 1 0 3 1>;*/
/*lcd_gpio_1 = <&pio PD 23 1 0 3 1>;*/
lcd_gpio_0 = <&pio PC 12 1 0 3 1>;
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
status = "okay";
};
lcd1: lcd1@01c0c001 {
lcd_used = <1>;
lcd_driver_name = "st7701s_rgb";
lcd_if = <0>;
lcd_hv_if = <0>;
lcd_width = <70>;
lcd_height = <72>;
lcd_x = <480>;
lcd_y = <480>;
lcd_dclk_freq = <11>;
lcd_hbp = <60>;
lcd_ht = <612>;
lcd_hspw = <12>;
lcd_vbp = <18>;
lcd_vt = <520>;
lcd_vspw = <4>;
lcd_backlight = <250>;// 0 ~ 255
lcd_pwm_used = <1>;
lcd_pwm_ch = <8>;
lcd_pwm_freq = <20000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_bright_curve_en = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_hv_clk_phase = <1>;
lcd_hv_sync_polarity= <0>;
lcd_rb_swap = <0>;
//lcd_bl_en = <&pio PI 7 1 1 3 1>;
lcd_gpio_0 = <&pio PJ 16 1 1 3 1>;//reset
lcd_gpio_1 = <&pio PJ 17 1 1 3 1>;//cs
lcd_gpio_2 = <&pio PC 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&pio PC 12 1 1 3 1>;//scl
/*
lcd_gpio_2 = <&r_pio PL 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&r_pio PL 3 1 1 3 1>;//scl
*/
lcd_pin_power;
lcd_power;
pinctrl-0 = <&rgb18_pins_c>;
pinctrl-1 = <&rgb18_pins_d>;
status = "okay";
};
wlan: wlan@0 {
compatible = "allwinner,sunxi-wlan";
pinctrl-0;
pinctrl-names;
wlan_busnum = <0x1>;
wlan_power;
wlan_io_regulator;
wlan_regon = <&r_pio PL 10 1 0xffffffff 0xffffffff 0>;
wlan_hostwake = <&r_pio PL 7 1 0xffffffff 0xffffffff 0>;
chip_en;
power_en;
status = "okay";
};
bt: bt@0 {
compatible = "allwinner,sunxi-bt";
clocks = <&clk_losc_out>, <&clk_dcxo_out>;
bt_power;
bt_io_regulator;
bt_rst_n = <&r_pio PL 5 1 0xffffffff 0xffffffff 0>;
bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 0>;
bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 0>;
status = "okay";
};
modem: modem@0 {
compatible = "allwinner,sunxi-modem";
modem_power;
modem_rst = <&pio PB 3 1 0xffffffff 0xffffffff 1>;
status = "disabled";
};
btlpm: btlpm@0 {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 1>;//AP-WAKE-BT
bt_hostwake = <&r_pio PL 6 1 0xffffffff 0xffffffff 1>;//BT-WAKE-AP
status = "okay";
};
/*
btlpm: btlpm@0 {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&r_pio PL 3 1 0xffffffff 0xffffffff 1>;
bt_hostwake = <&r_pio PL 4 6 0xffffffff 0xffffffff 1>;
status = "disabled";
};
*/
addr_mgt: addr_mgt@0 {
compatible = "allwinner,sunxi-addr_mgt";
type_addr_wifi = <0x0>;
type_addr_bt = <0x0>;
type_addr_eth = <0x0>;
status = "okay";
};
uart0: uart@05000000 {
uart-supply = <>;
};
uart1: uart@05000400 {
status = "okay";
};
uart5: uart@05001400 {
status = "disabled";
};
uart6: uart@05001800 {
status = "disabled";
rs485-en = <&pio PI 11 1 1 0xffffffff 1>;
};
ncs8801s {
status = "disabled";
ncs8801s_reset = <&pio PI 14 1 0xffffffff 0xffffffff 0>;
};
};
gpu: gpu@0x01800000 {
gpu_idle = <0>;
dvfs_status = <1>;
pll_rate = <504000>;
independent_power = <0>;
operating-points = <
/* KHz uV */
504000 950000
472500 950000
441000 950000
252000 950000
>;
gpu-supply = <>;
};
opp_dvfs_table:opp_dvfs_table {
cluster_num = <1>;
opp_table_count = <1>;
};
};
&cpu0 {
cpu-supply = <>;
};
tft08006.c / tft08006.h 是从 D1 SDK 里面复制的。
上面是卖家提供的图片
开始拆迁:
BOE的面板 HT150X02-100:
接近500V的背光电压,吓到我了:
一查,果然500V:
http://www.58display.com/baike/detatilparameter/HT150X02-100.html
接上 AIC800 发现只能亮一下,自动黑屏,
经过半小时折腾,终于发现玄机,在 VGA 转接板上面有一个控制电压:
强制拉高即可:
一切 OK,终于点亮。
这个天马15寸屏,背光电压是12V,所以接电源非常方便。
今天再来整个活,闲鱼买个15寸屏试一试。
https://source.android.google.cn/devices/tech/display/multi_display/displays?hl=zh-cn
使用两个以上的屏幕
在 Android 9 及更低版本中,SurfaceFlinger 和 DisplayManagerService 假设最多存在两个物理屏幕,其硬编码 ID 分别为 0 和 1。
从 Android 10 开始,SurfaceFlinger 可以利用 Hardware Composer (HWC) API 生成稳定的屏幕 ID,使其能够管理任意数量的物理屏幕。如需了解详情,请参阅静态屏幕标识符。
在从 SurfaceControl#getPhysicalDisplayIds 或 DisplayEventReceiver 热插拔事件获取 64 位屏幕 ID 后,框架可以通过 SurfaceControl#getPhysicalDisplayToken 查找物理屏幕的 IBinder 令牌。
注意:不支持按屏幕进行 VSYNC。所有屏幕均由主内部屏幕的 VSYNC 信号驱动。
在 Android 10 及更低版本中,主内部屏幕为 TYPE_INTERNAL,所有辅助屏幕都将标记为 TYPE_EXTERNAL(无论连接类型如何)。因此,其他内部屏幕被视为外部屏幕。临时解决方法是,如果 HWC 已知且端口分配逻辑可预测,特定于设备的代码可以对 DisplayAddress.Physical#getPort 作出假设。
./packages/services/Car/car-bugreportd/main.cpp: std::vector<PhysicalDisplayId> ids = SurfaceComposerClient::getPhysicalDisplayIds();
./frameworks/native/libs/gui/SurfaceComposerClient.cpp:std::vector<PhysicalDisplayId> SurfaceComposerClient::getPhysicalDisplayIds() {
./frameworks/native/libs/gui/SurfaceComposerClient.cpp: return ComposerService::getComposerService()->getPhysicalDisplayIds();
./frameworks/native/libs/gui/ISurfaceComposer.cpp: virtual std::vector<PhysicalDisplayId> getPhysicalDisplayIds() const {
./frameworks/native/libs/gui/ISurfaceComposer.cpp: return reply->writeUint64Vector(getPhysicalDisplayIds());
./frameworks/native/libs/gui/tests/Surface_test.cpp: std::vector<PhysicalDisplayId> getPhysicalDisplayIds() const override { return {}; }
./frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:std::vector<PhysicalDisplayId> SurfaceFlinger::getPhysicalDisplayIds() const {
./frameworks/base/core/jni/android_view_SurfaceControl.cpp: const auto displayIds = SurfaceComposerClient::getPhysicalDisplayIds();
./frameworks/base/core/java/android/view/DisplayAddress.java: * @see SurfaceControl#getPhysicalDisplayIds
./frameworks/base/core/java/android/view/SurfaceControl.java: public static long[] getPhysicalDisplayIds() {
./frameworks/base/core/java/android/view/SurfaceControl.java: final long[] physicalDisplayIds = getPhysicalDisplayIds();
./frameworks/base/services/core/java/com/android/server/display/LocalDisplayAdapter.java: for (long physicalDisplayId : SurfaceControl.getPhysicalDisplayIds()) {
./frameworks/base/services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java: doReturn(ids).when(() -> SurfaceControl.getPhysicalDisplayIds());
Android10 启动后内存情况不妙:
console:/ # cat /proc/meminfo
MemTotal: 991700 kB
MemFree: 23756 kB
MemAvailable: 133416 kB
Buffers: 676 kB
Cached: 126988 kB
SwapCached: 716 kB
Active: 365564 kB
Inactive: 365732 kB
Active(anon): 304628 kB
Inactive(anon): 304580 kB
Active(file): 60936 kB
Inactive(file): 61152 kB
Unevictable: 2704 kB
Mlocked: 2704 kB
SwapTotal: 743768 kB
SwapFree: 694288 kB
Dirty: 288 kB
Writeback: 0 kB
AnonPages: 606584 kB
Mapped: 101584 kB
Shmem: 3164 kB
Slab: 82980 kB
SReclaimable: 29948 kB
SUnreclaim: 53032 kB
KernelStack: 19392 kB
PageTables: 24556 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1239616 kB
Committed_AS: 21061084 kB
VmallocTotal: 263061440 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
CmaTotal: 8192 kB
CmaFree: 4780 kB
console:/ #
console:/ # [39037.128141] type=1400 audit(1650075117.624:7483): avc: denied { dac_override } for comm="irqbalance" capability=1 scontext=u:r:shell:s0 tcontext=u:r:shell:s0 tclass=capability permissive=1
[39037.194716] type=1400 audit(1650075119.604:7484): avc: denied { search } for comm="qimei-thread-1" name="sdc2" dev="sysfs" ino=8681 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39037.242255] type=1400 audit(1650075119.604:7484): avc: denied { search } for comm="qimei-thread-1" name="sdc2" dev="sysfs" ino=8681 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39037.282811] type=1400 audit(1650075119.608:7485): avc: denied { read } for comm="qimei-thread-1" name="type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.332776] type=1400 audit(1650075119.608:7485): avc: denied { read } for comm="qimei-thread-1" name="type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.361204] type=1400 audit(1650075119.608:7486): avc: denied { open } for comm="qimei-thread-1" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.449601] type=1400 audit(1650075119.608:7486): avc: denied { open } for comm="qimei-thread-1" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.683472] type=1400 audit(1650075119.608:7487): avc: denied { getattr } for comm="qimei-thread-1" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.863800] type=1400 audit(1650075119.608:7487): avc: denied { getattr } for comm="qimei-thread-1" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39037.898200] type=1400 audit(1650075119.671:7488): avc: denied { read } for comm="qimei-thread-1" name="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39039.012873] audit: audit_lost=5657 audit_rate_limit=5 audit_backlog_limit=64
[39039.032290] audit: rate limit exceeded
[39042.995083] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/clearkey' from pid: 1478 (/system/bin/hwservicemanager)
[39043.064046] audit: audit_lost=5662 audit_rate_limit=5 audit_backlog_limit=64
[39043.073902] init: starting service 'vendor.drm-clearkey-hal-1-2'...
[39043.094280] audit: rate limit exceeded
[39043.101450] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/clearkey' from pid: 1478 (/system/bin/hwservicemanager)
[39043.836443] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/default' from pid: 1478 (/system/bin/hwservicemanager)
[39043.892828] init: starting service 'vendor.drm-hal-1-0'...
[39043.905778] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/default' from pid: 1478 (/system/bin/hwservicemanager)
[39044.843626] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/widevine' from pid: 1478 (/system/bin/hwservicemanager)
[39044.863480] init: starting service 'vendor.drm-widevine-hal-1-2'...
[39044.893082] init: Received control message 'interface_start' for 'android.hardware.drm@1.0::IDrmFactory/widevine' from pid: 1478 (/system/bin/hwservicemanager)
[39046.274348] audit: audit_lost=5794 audit_rate_limit=5 audit_backlog_limit=64
[39046.288851] audit: rate limit exceeded
[39047.677962] audit: audit_lost=5924 audit_rate_limit=5 audit_backlog_limit=64
[39047.726248] audit: rate limit exceeded
[39050.093377] audit: audit_lost=5964 audit_rate_limit=5 audit_backlog_limit=64
[39050.101449] audit: rate limit exceeded
[39076.673314] F2FS-fs (mmcblk0p17): Unexpected flush for atomic writes: ino=13715, npages=6
[39080.539492] type=1400 audit(1650075138.264:7515): avc: denied { getattr } for comm="QQ_SUB" path="/proc/version" dev="proc" ino=4026531979 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_version:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39080.771463] type=1400 audit(1650075138.438:7516): avc: denied { getattr } for comm="beacon-thread-2" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39080.804456] type=1400 audit(1650075138.438:7516): avc: denied { getattr } for comm="beacon-thread-2" path="/sys/devices/platform/soc/sdc2/mmc_host/mmc0/mmc0:0001/type" dev="sysfs" ino=18861 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39080.849645] type=1400 audit(1650075138.438:7517): avc: denied { search } for comm="beacon-thread-2" name="sdc2" dev="sysfs" ino=8681 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39080.880078] type=1400 audit(1650075138.438:7517): avc: denied { search } for comm="beacon-thread-2" name="sdc2" dev="sysfs" ino=8681 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39080.933017] type=1400 audit(1650075139.364:7523): avc: granted { execute } for comm="thread_sp_norma" path="/data/data/com.tencent.mobileqq/files/QWallet/.preloaduni/9EFFF3932D384D4FCAE24B6CE3164D4F/libDownloadProxy.so" dev="mmcblk0p17" ino=7279 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file app=com.tencent.mobileqq
[39080.970199] type=1400 audit(1650075139.364:7523): avc: granted { execute } for comm="thread_sp_norma" path="/data/data/com.tencent.mobileqq/files/QWallet/.preloaduni/9EFFF3932D384D4FCAE24B6CE3164D4F/libDownloadProxy.so" dev="mmcblk0p17" ino=7279 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file app=com.tencent.mobileqq
[39081.016162] type=1400 audit(1650075140.744:7524): avc: denied { open } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39081.043545] type=1400 audit(1650075140.744:7524): avc: denied { open } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39081.076681] type=1400 audit(1650075140.744:7525): avc: denied { getattr } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.525993] type=1400 audit(1650075181.201:7911): avc: denied { relabelto } for comm="httpcommunicato" name="Japandays_1f78f98e20272e63f8e41084e482c648.zip" dev="mmcblk0p17" ino=13832 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.562341] type=1400 audit(1650075193.278:7912): avc: denied { open } for comm="QQ_SUB" path="/proc/stat" dev="proc" ino=4026531977 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.593545] type=1400 audit(1650075193.278:7912): avc: denied { open } for comm="QQ_SUB" path="/proc/stat" dev="proc" ino=4026531977 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.621467] type=1400 audit(1650075193.278:7913): avc: denied { getattr } for comm="QQ_SUB" path="/proc/stat" dev="proc" ino=4026531977 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.648187] type=1400 audit(1650075193.278:7913): avc: denied { getattr } for comm="QQ_SUB" path="/proc/stat" dev="proc" ino=4026531977 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.683016] type=1400 audit(1650075200.811:7914): avc: denied { open } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.710738] type=1400 audit(1650075200.811:7914): avc: denied { open } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.740394] type=1400 audit(1650075200.814:7915): avc: denied { getattr } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.768106] type=1400 audit(1650075200.814:7915): avc: denied { getattr } for comm="t.mobileqq:tool" path="/proc/vmstat" dev="proc" ino=4026532021 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:proc_vmstat:s0 tclass=file permissive=1 app=com.tencent.mobileqq
[39115.796920] type=1400 audit(1650075202.794:7916): avc: denied { search } for comm="beacon-thread-3" name="sdc2" dev="sysfs" ino=8681 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_devices_block:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39121.565158] type=1400 audit(1650075218.644:7920): avc: denied { associate } for comm="httpcommunicato" name="qq.android.hotfriend.res" dev="mmcblk0p17" ino=16922 scontext=u:object_r:sdcardfs:s0 tcontext=u:object_r:labeledfs:s0 tclass=filesystem permissive=1 app=com.tencent.mobileqq
[39121.697083] type=1400 audit(1650075220.891:7921): avc: granted { execute } for comm="QQ_SUB" path="/data/data/com.tencent.mobileqq/jpeglib/libjpegc_above820.so" dev="mmcblk0p17" ino=17024 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file app=com.tencent.mobileqq
[39126.379779] type=1400 audit(1650075220.891:7921): avc: granted { execute } for comm="QQ_SUB" path="/data/data/com.tencent.mobileqq/jpeglib/libjpegc_above820.so" dev="mmcblk0p17" ino=17024 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file app=com.tencent.mobileqq
[39126.424032] type=1400 audit(1650075225.794:7922): avc: denied { read } for comm="qimei-thread-2" name="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39126.450143] type=1400 audit(1650075225.794:7922): avc: denied { read } for comm="qimei-thread-2" name="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39126.480283] type=1400 audit(1650075225.798:7923): avc: denied { open } for comm="qimei-thread-2" path="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39129.136857] type=1400 audit(1650075225.798:7923): avc: denied { open } for comm="qimei-thread-2" path="/" dev="dm-0" ino=2 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:rootfs:s0 tclass=dir permissive=1 app=com.tencent.mobileqq
[39129.204965] type=1400 audit(1650075228.561:7924): avc: denied { call } for comm="thread_sp_norma" scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:r:hal_memtrack_default:s0 tclass=binder permissive=1 app=com.tencent.mobileqq
[39138.222917] type=1400 audit(1650075228.561:7924): avc: denied { call } for comm="thread_sp_norma" scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:r:hal_memtrack_default:s0 tclass=binder permissive=1 app=com.tencent.mobileqq
[39138.246021] type=1400 audit(1650075237.634:7925): avc: denied { dac_override } for comm="irqbalance" capability=1 scontext=u:r:shell:s0 tcontext=u:r:shell:s0 tclass=capability permissive=1
[39172.207862] warn_alloc: 5 callbacks suppressed
[39172.207868] ndroid.systemui: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39172.238630] CPU: 3 PID: 31910 Comm: ndroid.systemui Tainted: G W O 4.9.170 #61
[39172.247803] Hardware name: sun50iw10 (DT)
[39172.252307] Call trace:
[39172.255073] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39172.261153] [<ffffff800808c314>] show_stack+0x24/0x30
[39172.266837] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39172.272520] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39172.278393] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39172.285439] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39172.291222] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39172.298069] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39172.304047] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39172.310222] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39172.316596] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39172.322673] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39172.329142] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39172.336003] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39172.342564] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39172.348446] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39172.355210] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39172.361775] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39172.368832] [<ffffff800885c338>] binder_update_page_range+0x2c0/0x800
[39172.376083] [<ffffff800885d228>] binder_alloc_new_buf_locked+0x208/0x580
[39172.383625] [<ffffff800885d5f0>] binder_alloc_new_buf+0x50/0x78
[39172.390292] [<ffffff8008857264>] binder_transaction+0x594/0x2370
[39172.397060] [<ffffff8008859d50>] binder_thread_write+0xd10/0x1850
[39172.403917] [<ffffff800885b2b0>] binder_ioctl+0xa20/0xd58
[39172.409994] [<ffffff80082a5fdc>] compat_SyS_ioctl+0xbc/0x1d78
[39172.416466] [<ffffff8008083540>] el0_svc_naked+0x34/0x38
[39172.429719] Mem-Info:
[39172.442407] active_anon:54684 inactive_anon:54683 isolated_anon:95
[39172.442407] active_file:1252 inactive_file:1300 isolated_file:0
[39172.442407] unevictable:740 dirty:28 writeback:0 unstable:0
[39172.442407] slab_reclaimable:6321 slab_unreclaimable:13827
[39172.442407] mapped:3730 shmem:1009 pagetables:5496 bounce:0
[39172.442407] free:2050 free_pcp:63 free_cma:191
[39172.522804] Node 0 active_anon:219292kB inactive_anon:219500kB active_file:5080kB inactive_file:5580kB unevictable:2960kB isolated(anon):232kB isolated(file):0kB mapped:15212kB dirty:116kB writeback:12kB shmem:3948kB writeback_tmp:0kB unstable:0kB pages_scanned:0 all_unreclaimable? no
[39172.552063] DMA free:23324kB min:3956kB low:13796kB high:14784kB active_anon:217964kB inactive_anon:210020kB active_file:5360kB inactive_file:6048kB unevictable:2960kB writepending:120kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25380kB slab_unreclaimable:55168kB kernel_stack:19680kB pagetables:19592kB bounce:0kB free_pcp:2388kB local_pcp:472kB free_cma:920kB
[39172.590376] lowmem_reserve[]: 0 0 0
[39172.594431] DMA: 15605*4kB (UMEHC) 2153*8kB (UMEHC) 103*16kB (UMEHC) 10*32kB (UMHC) 1*64kB (M) 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 83980kB
[39172.611552] 6910 total pagecache pages
[39172.615836] 2169 pages in swap cache
[39172.619922] Swap cache stats: add 1626305, delete 1624136, find 336007/792725
[39172.628011] Free swap = 214820kB
[39172.631772] Total swap = 743768kB
[39172.635539] 262144 pages RAM
[39172.638991] 0 pages HighMem/MovableOnly
[39172.643989] 14219 pages reserved
[39172.648469] 2048 pages cma reserved
[39172.772608] binder: 31612:32702 transaction failed 29189/-22, size 104-0 line 3098
[39173.104924] binder: undelivered death notification, 00000000db02f240
[39173.180644] binder: 31612:31612 transaction failed 29189/-22, size 104-0 line 3098
[39173.510260] binder: undelivered transaction 22523256, process died.
[39195.472251] kswapd0: [39195.474460] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.474488] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.474491] Hardware name: sun50iw10 (DT)
[39195.474496] Call trace:
[39195.474515] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.474523] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.474533] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.474542] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.474549] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.474558] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.474569] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.474575] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39195.474591] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39195.474603] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39195.474611] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.474624] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.474630] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.474635] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.474641] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.474646] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.474652] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.474658] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.474668] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.474676] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.474682] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.474688] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.474694] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.474703] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.474709] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.474716] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.474723] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.474731] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.474737] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.474744] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.474750] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.474756] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.474761] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.474767] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.474770] Mem-Info:
[39195.474785] active_anon:75424 inactive_anon:75410 isolated_anon:32
[39195.474785] active_file:2100 inactive_file:2106 isolated_file:24
[39195.474785] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.474785] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.474785] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.474785] free:1028 free_pcp:45 free_cma:327
[39195.474795] Node 0 active_anon:301696kB inactive_anon:301640kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:242 all_unreclaimable? no
[39195.474809] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301640kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:180kB local_pcp:0kB free_cma:1308kB
[39195.474811] lowmem_reserve[]: 0 0 0
[39195.474823] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.474873] 12961 total pagecache pages
[39195.474882] 7635 pages in swap cache
[39195.474886] Swap cache stats: add 1658641, delete 1651006, find 346398/811411
[39195.474889] Free swap = 393032kB
[39195.474891] Total swap = 743768kB
[39195.474894] 262144 pages RAM
[39195.474897] 0 pages HighMem/MovableOnly
[39195.474899] 14219 pages reserved
[39195.474902] 2048 pages cma reserved
[39195.475037] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.475056] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.475059] Hardware name: sun50iw10 (DT)
[39195.475062] Call trace:
[39195.475072] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.475079] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.475086] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.475095] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.475101] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.475108] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.475116] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.475122] [<ffffff80085f7058>] zram_make_request+0x148/0x2d8
[39195.475131] [<ffffff800845143c>] generic_make_request+0x104/0x258
[39195.475137] [<ffffff800845165c>] submit_bio+0xcc/0x200
[39195.475143] [<ffffff8008217514>] __swap_writepage+0x28c/0x3b0
[39195.475148] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.475155] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.475161] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.475166] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.475172] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.475177] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.475183] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.475189] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.475199] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.475206] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.475212] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.475218] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.475223] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.475231] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.475237] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.475244] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.475250] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.475257] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.475263] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.475270] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.475276] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.475283] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.475288] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.475293] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.475327] Mem-Info:
[39195.475346] active_anon:75424 inactive_anon:75410 isolated_anon:32
[39195.475346] active_file:2100 inactive_file:2106 isolated_file:24
[39195.475346] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.475346] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.475346] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.475346] free:1028 free_pcp:43 free_cma:327
[39195.475356] Node 0 active_anon:301696kB inactive_anon:301640kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:242 all_unreclaimable? no
[39195.475370] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301640kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:172kB local_pcp:0kB free_cma:1308kB
[39195.475372] lowmem_reserve[]: 0 0 0
[39195.475384] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.475434] 12961 total pagecache pages
[39195.475440] 7634 pages in swap cache
[39195.475444] Swap cache stats: add 1658644, delete 1651009, find 346398/811411
[39195.475447] Free swap = 393020kB
[39195.475449] Total swap = 743768kB
[39195.475452] 262144 pages RAM
[39195.475455] 0 pages HighMem/MovableOnly
[39195.475457] 14219 pages reserved
[39195.475460] 2048 pages cma reserved
[39195.475471] Write-error on swap-device (254:0:253344)
[39195.476136] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.476160] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.476163] Hardware name: sun50iw10 (DT)
[39195.476167] Call trace:
[39195.476183] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.476191] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.476201] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.476210] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.476216] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.476224] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.476232] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.476238] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39195.476247] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39195.476252] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39195.476257] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.476265] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.476270] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.476275] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.476280] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.476286] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.476291] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.476297] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.476307] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.476315] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.476322] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.476328] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.476333] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.476340] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.476347] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.476354] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.476361] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.476368] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.476374] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.476381] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.476387] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.476393] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.476398] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.476403] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.476406] Mem-Info:
[39195.476419] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.476419] active_file:2100 inactive_file:2106 isolated_file:24
[39195.476419] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.476419] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.476419] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.476419] free:1028 free_pcp:37 free_cma:327
[39195.476428] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:279 all_unreclaimable? no
[39195.476443] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:148kB local_pcp:4kB free_cma:1308kB
[39195.476445] lowmem_reserve[]: 0 0 0
[39195.476456] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.476507] 12961 total pagecache pages
[39195.476513] 7636 pages in swap cache
[39195.476518] Swap cache stats: add 1658650, delete 1651014, find 346398/811411
[39195.476520] Free swap = 392996kB
[39195.476523] Total swap = 743768kB
[39195.476525] 262144 pages RAM
[39195.476528] 0 pages HighMem/MovableOnly
[39195.476530] 14219 pages reserved
[39195.476533] 2048 pages cma reserved
[39195.476666] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.476684] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.476687] Hardware name: sun50iw10 (DT)
[39195.476690] Call trace:
[39195.476700] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.476707] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.476715] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.476723] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.476729] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.476737] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.476745] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.476752] [<ffffff80085f7058>] zram_make_request+0x148/0x2d8
[39195.476761] [<ffffff800845143c>] generic_make_request+0x104/0x258
[39195.476772] [<ffffff800845165c>] submit_bio+0xcc/0x200
[39195.476781] [<ffffff8008217514>] __swap_writepage+0x28c/0x3b0
[39195.476786] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.476793] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.476799] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.476804] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.476810] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.476815] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.476820] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.476827] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.476835] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.476842] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.476848] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.476853] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.476858] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.476865] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.476871] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.476878] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.476884] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.476891] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.476897] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.476904] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.476910] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.476916] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.476921] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.476926] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.476929] Mem-Info:
[39195.476942] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.476942] active_file:2100 inactive_file:2106 isolated_file:24
[39195.476942] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.476942] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.476942] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.476942] free:1028 free_pcp:35 free_cma:327
[39195.476953] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:279 all_unreclaimable? no
[39195.476967] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:140kB local_pcp:4kB free_cma:1308kB
[39195.476970] lowmem_reserve[]: 0 0 0
[39195.476981] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.477031] 12961 total pagecache pages
[39195.477036] 7636 pages in swap cache
[39195.477041] Swap cache stats: add 1658651, delete 1651015, find 346398/811411
[39195.477043] Free swap = 392992kB
[39195.477046] Total swap = 743768kB
[39195.477049] 262144 pages RAM
[39195.477051] 0 pages HighMem/MovableOnly
[39195.477054] 14219 pages reserved
[39195.477056] 2048 pages cma reserved
[39195.477070] Write-error on swap-device (254:0:253408)
[39195.477360] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.477381] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.477384] Hardware name: sun50iw10 (DT)
[39195.477387] Call trace:
[39195.477398] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.477405] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.477413] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.477420] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.477426] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.477434] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.477443] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.477449] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39195.477458] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39195.477464] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39195.477469] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.477475] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.477481] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.477487] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.477492] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.477497] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.477503] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.477508] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.477517] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.477524] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.477530] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.477534] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.477540] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.477547] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.477554] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.477560] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.477567] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.477574] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.477580] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.477587] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.477593] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.477599] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.477603] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.477609] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.477612] Mem-Info:
[39195.477625] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.477625] active_file:2100 inactive_file:2106 isolated_file:24
[39195.477625] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.477625] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.477625] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.477625] free:1028 free_pcp:35 free_cma:327
[39195.477634] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:279 all_unreclaimable? no
[39195.477648] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:140kB local_pcp:4kB free_cma:1308kB
[39195.477650] lowmem_reserve[]: 0 0 0
[39195.477661] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.477710] 12961 total pagecache pages
[39195.477715] 7637 pages in swap cache
[39195.477720] Swap cache stats: add 1658654, delete 1651017, find 346398/811411
[39195.477722] Free swap = 392976kB
[39195.477725] Total swap = 743768kB
[39195.477727] 262144 pages RAM
[39195.477730] 0 pages HighMem/MovableOnly
[39195.477732] 14219 pages reserved
[39195.477735] 2048 pages cma reserved
[39195.477862] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.477879] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.477882] Hardware name: sun50iw10 (DT)
[39195.477885] Call trace:
[39195.477894] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.477901] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.477908] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.477915] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.477921] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.477929] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.477938] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.477944] [<ffffff80085f7058>] zram_make_request+0x148/0x2d8
[39195.477952] [<ffffff800845143c>] generic_make_request+0x104/0x258
[39195.477959] [<ffffff800845165c>] submit_bio+0xcc/0x200
[39195.477964] [<ffffff8008217514>] __swap_writepage+0x28c/0x3b0
[39195.477970] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.477976] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.477981] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.477987] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.477992] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.477997] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.478003] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.478009] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.478017] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.478024] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.478029] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.478034] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.478039] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.478046] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.478052] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.478060] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.478066] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.478073] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.478079] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.478085] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.478091] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.478097] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.478101] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.478107] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.478109] Mem-Info:
[39195.478121] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.478121] active_file:2100 inactive_file:2106 isolated_file:24
[39195.478121] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.478121] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.478121] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.478121] free:1028 free_pcp:33 free_cma:327
[39195.478131] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:279 all_unreclaimable? no
[39195.478144] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:132kB local_pcp:4kB free_cma:1308kB
[39195.478147] lowmem_reserve[]: 0 0 0
[39195.478157] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.478206] 12961 total pagecache pages
[39195.478210] 7637 pages in swap cache
[39195.478215] Swap cache stats: add 1658655, delete 1651018, find 346398/811411
[39195.478217] Free swap = 392976kB
[39195.478220] Total swap = 743768kB
[39195.478222] 262144 pages RAM
[39195.478224] 0 pages HighMem/MovableOnly
[39195.478227] 14219 pages reserved
[39195.478229] 2048 pages cma reserved
[39195.478240] Write-error on swap-device (254:0:253456)
[39195.478381] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.478398] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.478401] Hardware name: sun50iw10 (DT)
[39195.478404] Call trace:
[39195.478412] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.478419] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.478426] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.478432] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.478438] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.478445] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.478453] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.478459] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39195.478466] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39195.478472] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39195.478477] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.478483] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.478489] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.478494] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.478499] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.478504] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.478510] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.478515] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.478523] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.478530] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.478535] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.478540] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.478545] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.478552] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.478559] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.478566] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.478573] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.478579] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.478586] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.478592] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.478598] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.478604] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.478609] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.478614] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.478648] Mem-Info:
[39195.478663] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.478663] active_file:2100 inactive_file:2106 isolated_file:24
[39195.478663] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.478663] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.478663] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.478663] free:1028 free_pcp:33 free_cma:327
[39195.478674] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:279 all_unreclaimable? no
[39195.478687] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8424kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:132kB local_pcp:4kB free_cma:1308kB
[39195.478689] lowmem_reserve[]: 0 0 0
[39195.478700] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.478749] 12961 total pagecache pages
[39195.478753] 7638 pages in swap cache
[39195.478757] Swap cache stats: add 1658656, delete 1651018, find 346398/811411
[39195.478760] Free swap = 392972kB
[39195.478762] Total swap = 743768kB
[39195.478765] 262144 pages RAM
[39195.478768] 0 pages HighMem/MovableOnly
[39195.478770] 14219 pages reserved
[39195.478773] 2048 pages cma reserved
[39195.478909] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.478926] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.478928] Hardware name: sun50iw10 (DT)
[39195.478931] Call trace:
[39195.478940] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.478947] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.478954] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.478961] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.478967] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.478974] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.478981] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.478987] [<ffffff80085f7058>] zram_make_request+0x148/0x2d8
[39195.478995] [<ffffff800845143c>] generic_make_request+0x104/0x258
[39195.479002] [<ffffff800845165c>] submit_bio+0xcc/0x200
[39195.479007] [<ffffff8008217514>] __swap_writepage+0x28c/0x3b0
[39195.479012] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.479018] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.479024] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.479029] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.479034] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.479040] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.479045] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.479051] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.479058] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.479064] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.479070] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.479075] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.479079] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.479087] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.479093] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.479100] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.479106] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.479113] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.479119] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.479125] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.479131] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.479137] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.479142] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.479147] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.479150] Mem-Info:
[39195.479162] active_anon:75424 inactive_anon:75435 isolated_anon:32
[39195.479162] active_file:2100 inactive_file:2076 isolated_file:24
[39195.479162] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.479162] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.479162] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.479162] free:1028 free_pcp:37 free_cma:327
[39195.479172] Node 0 active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8304kB unevictable:2960kB isolated(anon):128kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:317 all_unreclaimable? no
[39195.479185] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301740kB active_file:8400kB inactive_file:8304kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:148kB local_pcp:4kB free_cma:1308kB
[39195.479187] lowmem_reserve[]: 0 0 0
[39195.479198] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.479247] 12961 total pagecache pages
[39195.479251] 7638 pages in swap cache
[39195.479255] Swap cache stats: add 1658656, delete 1651018, find 346398/811411
[39195.479257] Free swap = 392972kB
[39195.479260] Total swap = 743768kB
[39195.479262] 262144 pages RAM
[39195.479265] 0 pages HighMem/MovableOnly
[39195.479267] 14219 pages reserved
[39195.479269] 2048 pages cma reserved
[39195.479281] Write-error on swap-device (254:0:253504)
[39195.479762] .mobileqq:qzone: page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39195.479782] CPU: 0 PID: 2496 Comm: .mobileqq:qzone Tainted: G W O 4.9.170 #61
[39195.479785] Hardware name: sun50iw10 (DT)
[39195.479787] Call trace:
[39195.479800] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39195.479807] [<ffffff800808c314>] show_stack+0x24/0x30
[39195.479815] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39195.479822] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39195.479829] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39195.479836] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39195.479844] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39195.479849] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39195.479857] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39195.479863] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39195.479868] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39195.479875] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39195.479880] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39195.479885] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39195.479891] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39195.479896] [<ffffff80081e3dc8>] do_try_to_free_pages+0xd8/0x330
[39195.479901] [<ffffff80081e4120>] try_to_free_pages+0x100/0x290
[39195.479907] [<ffffff80081d370c>] __alloc_pages_nodemask+0x54c/0xba8
[39195.479915] [<ffffff8008203ef4>] handle_mm_fault+0xb5c/0xf40
[39195.479922] [<ffffff800809fac8>] do_page_fault+0x2a0/0x3a8
[39195.479927] [<ffffff800809fd3c>] do_translation_fault+0x6c/0x80
[39195.479932] [<ffffff8008080c84>] do_mem_abort+0x6c/0xe0
[39195.479937] Exception stack(0xffffffc01b977e00 to 0xffffffc01b977f30)
[39195.479944] 7e00: 0000000000400000 00000040366a9000 ffffffffffffffff 00000000f3d286ac
[39195.479951] 7e20: 00000000200d0030 ffffffc0075c8e80 ffffffc01b977e50 ffffff8008b8ddcc
[39195.479957] 7e40: ffffffc0075c8e80 00000000000409aa ffffffc01b977e70 ffffff800808b5bc
[39195.479964] 7e60: 0000000000400002 ffffffc0075c8e80 ffffffc03f705080 ffffff80080833c4
[39195.479971] 7e80: ffffffc01b977ec0 00000040366a9000 ffffffffffffffff 00000000f3d244aa
[39195.479977] 7ea0: 00000000200d0030 0000000000000000 0000000000000000 00000000000409aa
[39195.479983] 7ec0: 00000000c9c02240 00000000c9c79004 0000000000000000 0000000000016b1a
[39195.479989] 7ee0: 00000000e88c9400 00000000000258d2 00000000ca9ab0c0 000000000057f1f5
[39195.479995] 7f00: 0000000000000001 00000000e88c9418 0000000000015754 0000000000001d73
[39195.479999] 7f20: 00000000f28c8ce8 00000000ff8b5fe8
[39195.480005] [<ffffff8008083008>] el0_da+0x20/0x24
[39195.480008] Mem-Info:
[39195.480020] active_anon:75424 inactive_anon:75397 isolated_anon:82
[39195.480020] active_file:2125 inactive_file:2076 isolated_file:24
[39195.480020] unevictable:740 dirty:39 writeback:0 unstable:0
[39195.480020] slab_reclaimable:6348 slab_unreclaimable:13616
[39195.480020] mapped:4505 shmem:564 pagetables:4622 bounce:0
[39195.480020] free:1028 free_pcp:33 free_cma:327
[39195.480030] Node 0 active_anon:301696kB inactive_anon:301588kB active_file:8500kB inactive_file:8304kB unevictable:2960kB isolated(anon):328kB isolated(file):96kB mapped:18020kB dirty:156kB writeback:0kB shmem:2256kB writeback_tmp:0kB unstable:0kB pages_scanned:365 all_unreclaimable? no
[39195.480044] DMA free:4112kB min:3956kB low:13796kB high:14784kB active_anon:301696kB inactive_anon:301588kB active_file:8500kB inactive_file:8304kB unevictable:2960kB writepending:152kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25392kB slab_unreclaimable:54464kB kernel_stack:16928kB pagetables:18488kB bounce:0kB free_pcp:132kB local_pcp:4kB free_cma:1308kB
[39195.480046] lowmem_reserve[]: 0 0 0
[39195.480057] DMA: 179*4kB (HC) 52*8kB (HC) 25*16kB (HC) 7*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4060kB
[39195.480107] 12961 total pagecache pages
[39195.480111] 7640 pages in swap cache
[39195.480115] Swap cache stats: add 1658663, delete 1651023, find 346398/811411
[39195.480117] Free swap = 392944kB
[39195.480120] Total swap = 743768kB
[39195.480122] 262144 pages RAM
[39195.480125] 0 pages HighMem/MovableOnly
[39195.480127] 14219 pages reserved
[39195.480130] 2048 pages cma reserved
[39195.480252] Write-error on swap-device (254:0:253544)
[39195.480600] Write-error on swap-device (254:0:253704)
[39195.481053] Write-error on swap-device (254:0:253848)
[39195.481567] Write-error on swap-device (254:0:253984)
[39195.481679] Write-error on swap-device (254:0:254000)
[39195.481749] Write-error on swap-device (254:0:254008)
[39195.481982] Write-error on swap-device (254:0:254024)
[39195.482015] Write-error on swap-device (254:0:254032)
[39195.482242] Write-error on swap-device (254:0:254056)
[39195.482289] Write-error on swap-device (254:0:254064)
[39195.482411] Write-error on swap-device (254:0:254072)
[39195.482467] Write-error on swap-device (254:0:254080)
[39195.482591] Write-error on swap-device (254:0:254088)
[39195.482645] Write-error on swap-device (254:0:254096)
[39195.482769] Write-error on swap-device (254:0:254104)
[39195.482826] Write-error on swap-device (254:0:254112)
[39195.483003] Write-error on swap-device (254:0:254128)
[39195.483015] Write-error on swap-device (254:0:254136)
[39195.483184] Write-error on swap-device (254:0:254144)
[39195.483193] Write-error on swap-device (254:0:254152)
[39195.483358] Write-error on swap-device (254:0:254160)
[39195.483368] Write-error on swap-device (254:0:254168)
[39195.483537] Write-error on swap-device (254:0:254184)
[39195.483543] Write-error on swap-device (254:0:254176)
[39195.483701] Write-error on swap-device (254:0:254200)
[39195.483711] Write-error on swap-device (254:0:254192)
[39195.483879] Write-error on swap-device (254:0:254208)
[39195.483888] Write-error on swap-device (254:0:254216)
[39195.484057] Write-error on swap-device (254:0:254224)
[39195.484070] Write-error on swap-device (254:0:254232)
[39195.484234] Write-error on swap-device (254:0:254240)
[39195.491073] Write-error on swap-device (254:0:254728)
[39195.492808] Write-error on swap-device (254:0:254904)
[39195.493544] Write-error on swap-device (254:0:255016)
[39195.496392] Write-error on swap-device (254:0:255328)
[39195.496620] Write-error on swap-device (254:0:255336)
[39195.496813] Write-error on swap-device (254:0:255352)
[39195.496828] Write-error on swap-device (254:0:255344)
[39195.497008] Write-error on swap-device (254:0:255368)
[39195.497104] Write-error on swap-device (254:0:255376)
[39195.497497] Write-error on swap-device (254:0:255400)
[39195.497645] Write-error on swap-device (254:0:255408)
[39195.497681] Write-error on swap-device (254:0:255416)
[39195.497818] Write-error on swap-device (254:0:255424)
[39195.497859] Write-error on swap-device (254:0:255432)
[39195.498043] Write-error on swap-device (254:0:255448)
[39195.498098] Write-error on swap-device (254:0:255464)
[39195.498217] Write-error on swap-device (254:0:255472)
[39195.498400] Write-error on swap-device (254:0:255480)
[39195.498862] Write-error on swap-device (254:0:255496)
[39195.499071] Write-error on swap-device (254:0:255504)
[39195.499270] Write-error on swap-device (254:0:255512)
[39195.499470] Write-error on swap-device (254:0:255520)
[39195.499667] Write-error on swap-device (254:0:255528)
[39195.499984] Write-error on swap-device (254:0:255544)
[39195.500289] Write-error on swap-device (254:0:255560)
[39195.500472] Write-error on swap-device (254:0:255568)
[39195.500656] Write-error on swap-device (254:0:255576)
[39195.500850] Write-error on swap-device (254:0:255584)
[39195.501044] Write-error on swap-device (254:0:255592)
[39195.501233] Write-error on swap-device (254:0:255600)
[39195.501431] Write-error on swap-device (254:0:255608)
[39195.501625] Write-error on swap-device (254:0:255616)
[39195.501814] Write-error on swap-device (254:0:255624)
[39195.502079] Write-error on swap-device (254:0:255632)
[39195.502276] Write-error on swap-device (254:0:255640)
[39195.502310] Write-error on swap-device (254:0:255488)
[39195.502458] Write-error on swap-device (254:0:255648)
[39195.502561] Write-error on swap-device (254:0:255656)
[39195.502865] Write-error on swap-device (254:0:255672)
[39195.503178] Write-error on swap-device (254:0:255680)
[39195.503492] Write-error on swap-device (254:0:255688)
[39195.503496] Write-error on swap-device (254:0:255696)
[39195.503704] Write-error on swap-device (254:0:255704)
[39195.505202] Write-error on swap-device (254:0:255920)
[39195.505449] Write-error on swap-device (254:0:255952)
[39195.505794] Write-error on swap-device (254:0:256008)
[39195.505836] Write-error on swap-device (254:0:256016)
[39195.506072] Write-error on swap-device (254:0:256032)
[39195.506250] Write-error on swap-device (254:0:256040)
[39195.506432] Write-error on swap-device (254:0:256048)
[39195.506609] Write-error on swap-device (254:0:256056)
[39195.506790] Write-error on swap-device (254:0:256064)
[39195.506956] Write-error on swap-device (254:0:256080)
[39195.507450] Write-error on swap-device (254:0:256152)
[39195.511160] Write-error on swap-device (254:0:256240)
[39195.511437] Write-error on swap-device (254:0:256256)
[39195.511632] Write-error on swap-device (254:0:256264)
[39195.512056] Write-error on swap-device (254:0:256288)
[39195.512260] Write-error on swap-device (254:0:256296)
[39195.512723] Write-error on swap-device (254:0:256328)
[39195.516759] Write-error on swap-device (254:0:256400)
[39195.516941] Write-error on swap-device (254:0:256424)
[39195.517202] Write-error on swap-device (254:0:256464)
[39195.517381] Write-error on swap-device (254:0:256480)
[39195.517568] Write-error on swap-device (254:0:256488)
[39200.044939] page allocation failure: order:0, mode:0x240000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE)
[39200.055468] CPU: 2 PID: 530 Comm: kswapd0 Tainted: G W O 4.9.170 #61
[39200.063691] Hardware name: sun50iw10 (DT)
[39200.068201] Call trace:
[39200.070966] [<ffffff800808c038>] dump_backtrace+0x0/0x2b8
[39200.077023] [<ffffff800808c314>] show_stack+0x24/0x30
[39200.082710] [<ffffff800847c160>] dump_stack+0x90/0xb0
[39200.088391] [<ffffff80081d3118>] warn_alloc+0x130/0x148
[39200.094271] [<ffffff80081d34f4>] __alloc_pages_nodemask+0x334/0xba8
[39200.101322] [<ffffff8008232190>] zs_malloc+0x168/0x4e8
[39200.107105] [<ffffff80085f6990>] zram_bvec_rw.isra.22+0x410/0x880
[39200.113962] [<ffffff80085f6e88>] zram_rw_page+0x88/0x110
[39200.119939] [<ffffff800827d58c>] bdev_write_page+0x84/0xc8
[39200.126109] [<ffffff8008217300>] __swap_writepage+0x78/0x3b0
[39200.132476] [<ffffff8008217674>] swap_writepage+0x3c/0x60
[39200.138550] [<ffffff80081e1c8c>] shrink_page_list+0x5c4/0xda0
[39200.145013] [<ffffff80081e2be0>] shrink_inactive_list+0x1a8/0x540
[39200.151866] [<ffffff80081e3784>] shrink_node_memcg+0x4b4/0x6d0
[39200.158426] [<ffffff80081e3a74>] shrink_node+0xd4/0x350
[39200.164303] [<ffffff80081e4af8>] kswapd+0x360/0x810
[39200.169791] [<ffffff80080d06cc>] kthread+0xec/0x100
[39200.175279] [<ffffff80080834f0>] ret_from_fork+0x10/0x20
[39200.181454] Mem-Info:
[39200.184128] active_anon:67098 inactive_anon:67119 isolated_anon:32
[39200.184128] active_file:1251 inactive_file:1288 isolated_file:0
[39200.184128] unevictable:740 dirty:38 writeback:1 unstable:0
[39200.184128] slab_reclaimable:6323 slab_unreclaimable:13612
[39200.184128] mapped:2682 shmem:356 pagetables:4642 bounce:0
[39200.184128] free:1095 free_pcp:120 free_cma:126
[39200.222080] Node 0 active_anon:268268kB inactive_anon:268228kB active_file:5004kB inactive_file:5152kB unevictable:2960kB isolated(anon):128kB isolated(file):0kB mapped:10728kB dirty:152kB writeback:4kB shmem:1424kB writeback_tmp:0kB unstable:0kB pages_scanned:0 all_unreclaimable? no
[39200.250496] DMA free:4348kB min:3956kB low:13796kB high:14784kB active_anon:268104kB inactive_anon:268100kB active_file:5004kB inactive_file:5152kB unevictable:2960kB writepending:156kB present:1048576kB managed:991700kB mlocked:2960kB slab_reclaimable:25292kB slab_unreclaimable:54448kB kernel_stack:16944kB pagetables:18568kB bounce:0kB free_pcp:476kB local_pcp:0kB free_cma:504kB
[39200.288445] lowmem_reserve[]: 0 0 0
[39200.292566] DMA: 316*4kB (UMEHC) 29*8kB (UMEHC) 21*16kB (UEHC) 6*32kB (HC) 0*64kB 0*128kB 1*256kB (H) 0*512kB 0*1024kB 1*2048kB (H) 0*4096kB = 4328kB
[39200.308336] 8287 total pagecache pages
[39200.312757] 4667 pages in swap cache
[39200.316958] Swap cache stats: add 1686172, delete 1681507, find 346402/811510
[39200.325052] Free swap = 285964kB
[39200.328944] Total swap = 743768kB
[39200.332830] 262144 pages RAM
[39200.336179] 0 pages HighMem/MovableOnly
[39200.340597] 14219 pages reserved
[39200.344336] 2048 pages cma reserved
[39201.695976] binder: 31612:31612 transaction failed 29189/-22, size 104-0 line 3098
[39210.669566] binder: undelivered transaction 22529761, process died.
[39210.732499] init: Service 'vendor.drm-clearkey-hal-1-2' (pid 31769) exited with status 0
[39210.785708] binder: undelivered transaction 22529757, process died.
[39210.843746] binder: undelivered transaction 22529759, process died.
[39210.878003] init: Sending signal 9 to service 'vendor.drm-clearkey-hal-1-2' (pid 31769) process group...
[39210.959318] libprocessgroup: Successfully killed process cgroup uid 1013 pid 31769 in 22ms
[39210.999332] init: Service 'vendor.drm-hal-1-0' (pid 31847) exited with status 0
[39211.019096] init: Sending signal 9 to service 'vendor.drm-hal-1-0' (pid 31847) process group...
[39211.047695] libprocessgroup: Successfully killed process cgroup uid 1013 pid 31847 in 0ms
[39211.070055] init: Service 'vendor.drm-widevine-hal-1-2' (pid 31991) exited with status 0
[39211.084016] init: Sending signal 9 to service 'vendor.drm-widevine-hal-1-2' (pid 31991) process group...
[39211.100272] libprocessgroup: Successfully killed process cgroup uid 1013 pid 31991 in 0ms
console:/ #
console:/ #
发现1G 内存啥事也干不了,装了 QQ,微信,抖音。 没有一个能正常跑的,控制台一直报内存不够的错误。
lcd_lvds_mode LVDS模式选择:
① 0:NS mode;
② 1:JEIDA mode
发现如果设置为0, 这个屏抖得不行。。。
改为1就好了
@yuzukitsuru
对, 而且可以接两个大屏。
lcd1 可以接双8 LVDS 大屏。
显示 OK,提前下班,把固件给硬件大佬,让他一个人在办公室查问题,谁叫他先坑我。
AIC800 与显示屏只有 LVDS那10根线连接了,
背光和显示屏3V3/GND 是驱动板那边提供的。
是不是 AIC800 与 显示屏需要共地呢?
换上新板子, PD0 -9 拉高拉低万用表测量全部正常,
烧软件,重新开始测试,咦,屏幕还是只有背光,没有任何显示。。。
发现是 PD0, PD1 没有信号输出,终于可以甩锅摸鱼了,先写个脚本撇清关系:
echo 96 > /sys/class/gpio/export
echo 97 > /sys/class/gpio/export
echo 98 > /sys/class/gpio/export
echo 99 > /sys/class/gpio/export
echo 100 > /sys/class/gpio/export
echo 101 > /sys/class/gpio/export
echo 102 > /sys/class/gpio/export
echo 103 > /sys/class/gpio/export
echo 104 > /sys/class/gpio/export
echo 105 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio96/direction
echo out > /sys/class/gpio/gpio97/direction
echo out > /sys/class/gpio/gpio98/direction
echo out > /sys/class/gpio/gpio99/direction
echo out > /sys/class/gpio/gpio100/direction
echo out > /sys/class/gpio/gpio101/direction
echo out > /sys/class/gpio/gpio102/direction
echo out > /sys/class/gpio/gpio103/direction
echo out > /sys/class/gpio/gpio104/direction
echo out > /sys/class/gpio/gpio105/direction
PD0-PD1 全部拉高:
echo 1 > /sys/class/gpio/gpio96/value
echo 1 > /sys/class/gpio/gpio97/value
echo 1 > /sys/class/gpio/gpio98/value
echo 1 > /sys/class/gpio/gpio99/value
echo 1 > /sys/class/gpio/gpio100/value
echo 1 > /sys/class/gpio/gpio101/value
echo 1 > /sys/class/gpio/gpio102/value
echo 1 > /sys/class/gpio/gpio103/value
echo 1 > /sys/class/gpio/gpio104/value
echo 1 > /sys/class/gpio/gpio105/value
全部拉低:
echo 0 > /sys/class/gpio/gpio96/value
echo 0 > /sys/class/gpio/gpio97/value
echo 0 > /sys/class/gpio/gpio98/value
echo 0 > /sys/class/gpio/gpio99/value
echo 0 > /sys/class/gpio/gpio100/value
echo 0 > /sys/class/gpio/gpio101/value
echo 0 > /sys/class/gpio/gpio102/value
echo 0 > /sys/class/gpio/gpio103/value
echo 0 > /sys/class/gpio/gpio104/value
echo 0 > /sys/class/gpio/gpio105/value
叫硬件大佬过来看看,果然PD0 / PD1 不能拉低,其他引脚正常。
锅终于甩出去了。
手边没示波器, 垃圾堆翻出一个逻辑分析仪:
LVDS 10根线怼上去之后:
居然有两条腿没信号。
把 单8 的LVDS 10根线由 AIC800 提供,
其他电源和背光信号由 麻雀pro + 驱动板 提供。
怼上去之后,屏幕只有背光, 啥表示也没有,一筹莫展。
先改下 board.dts :
/*----------------------------------------------------------------------------------
disp init configuration
disp_mode (0:screen0<screen0,fb0>)
screenx_output_type (0:none; 1:lcd; 2:tv; 3:hdmi;5:vdpo)
screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
(5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
screenx_output_format (for hdmi, 0:RGB 1:yuv444 2:yuv422 3:yuv420)
screenx_output_bits (for hdmi, 0:8bit 1:10bit 2:12bit 2:16bit)
screenx_output_eotf (for hdmi, 0:reserve 4:SDR 16:HDR10 18:HLG)
screenx_output_cs (for hdmi, 0:undefined 257:BT709 260:BT601 263:BT2020)
screenx_output_dvi_hdmi (for hdmi, 0:undefined 1:dvi mode 2:hdmi mode)
screen0_output_range (for hdmi, 0:default 1:full 2:limited)
screen0_output_scan (for hdmi, 0:no data 1:overscan 2:underscan)
screen0_output_aspect_ratio (for hdmi, 8-same as original picture 9-4:3 10-16:9 11-14:9)
fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
fb0_scaler_mode_enable(scaler mode enable, used FE)
fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
lcdx_backlight (lcd init backlight,the range:[0,256],default:197
lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
lcd0_contrast (LCD contrast, 0~100)
lcd0_saturation (LCD saturation, 0~100)
lcd0_hue (LCD hue, 0~100)
framebuffer software rotation setting:
disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y,
set fbX_height to lcd_x)
degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
devX_output_type : config output type in bootGUI framework in UBOOT-2018.
(0:none; 1:lcd; 2:tv; 4:hdmi;)
devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
devX_screen_id : config display index of bootGUI framework in UBOOT-2018
devX_do_hpd : whether do hpd detectation or not in UBOOT-2018
chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6
channel, 1:dual display with 4 channel in main display and 2 channel in second
display, 2:dual display with 3 channel in main display and 3 channel in second
in display.
----------------------------------------------------------------------------------*/
disp: disp@06000000 {
disp_init_enable = <1>;
disp_mode = <0>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen0_output_format = <0>;
screen0_output_bits = <0>;
screen0_output_eotf = <4>;
screen0_output_cs = <257>;
screen0_output_dvi_hdmi = <2>;
screen0_output_range = <2>;
screen0_output_scan = <0>;
screen0_output_aspect_ratio = <8>;
screen1_output_type = <1>;
screen1_output_mode = <4>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
dev1_output_type = <1>;
dev1_output_mode = <4>;
dev1_screen_id = <1>;
dev1_do_hpd = <0>;
def_output_dev = <0>;
hdmi_mode_check = <1>;
fb0_format = <0>;
fb0_width = <0>;
fb0_height = <0>;
fb1_format = <0>;
fb1_width = <0>;
fb1_height = <0>;
chn_cfg_mode = <1>;
disp_para_zone = <1>;
/*VCC-LCD*/
dc1sw-supply = <>;
/*VCC-DSI*/
eldo3-supply = <>;
/*VCC-PD*/
dcdc1-supply = <>;
status = "okay";
};
/*----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree
;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode
;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
;lcd_ht: hsync total cycle(pixel)
;lcd_vbp: vsync back porch(line) + vysnc plus width(line)
;lcd_vt: vysnc total cycle(line)
;lcd_hspw: hsync plus width(pixel)
;lcd_vspw: vysnc plus width(pixel)
;lcd_lvds_if: 0:single link; 1:dual link(odd and even); 2:dual link(same pixel)
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;Pin setting for special function ie.LVDS, RGB data or vsync
; name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for gpio:
; lcd_gpio_X = port:PD12<pin function><pull up or pull down><drive ability><output level>
;Pin setting for backlight enable pin
; lcd_bl_en = port:PD12<pin function><pull up or pull down><drive ability><output level>
;fsync setting, pulse to csi
;lcd_fsync_en (0:disable fsync,1:enable)
;lcd_fsync_act_time (active time of fsync, unit:pixel)
;lcd_fsync_dis_time (disactive time of fsync, unit:pixel)
;lcd_fsync_pol (0:positive;1:negative)
;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
pull up or pull down(default 0), driver level(default 1), data>
;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead
;For rgb24: use rgb24_pins_a and rgb24_pins_b instead
;For lvds1: use lvds1_pins_a and lvds1_pins_b instead
;For lvds0: use lvds0_pins_a and lvds0_pins_b instead
;----------------------------------------------------------------------------------*/
lcd0: lcd0@01c0c000 {
lcd_used = <1>;
lcd_driver_name = "default_lcd";
lcd_if = <3>;
lcd_hv_if = <0>;
lcd_width = <70>;
lcd_height = <72>;
lcd_x = <1024>;
lcd_y = <768>;
lcd_dclk_freq = <60>;
lcd_hbp = <136>;
lcd_ht = <1344>;
lcd_hspw = <10>;
lcd_vbp = <29>;
lcd_vt = <1700>;
lcd_vspw = <5>;
lcd_lvds_ch = <0>;
lcd_lvds_mode = <0>;
lcd_lvds_bitwidth = <1>;
lcd_lvds_io_cross = <0>;
lcd_backlight = <50>;
lcd_pwm_used = <1>;
// lcd_pwm_ch = <7>;
lcd_pwm_freq = <20000>;
lcd_pwm_pol = <1>;
lcd_bright_curve_en = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_rb_swap = <0>;
//lcd_bl_en = <&pio PI 7 1 1 3 1>;
/*
lcd_gpio_0 = <&pio PJ 16 1 1 3 1>;//reset
lcd_gpio_1 = <&pio PJ 17 1 1 3 1>;//cs
lcd_gpio_2 = <&pio PC 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&pio PC 12 1 1 3 1>;//scl
*/
lcd_pin_power;
lcd_power;
pinctrl-0 = <&lvds0_pins_a>;
pinctrl-1 = <&lvds0_pins_b>;
status = "okay";
};
lcd1: lcd1@01c0c001 {
lcd_used = <1>;
lcd_driver_name = "default_panel";
lcd_if = <0>;
lcd_hv_if = <0>;
lcd_width = <70>;
lcd_height = <72>;
lcd_x = <720>;
lcd_y = <720>;
lcd_dclk_freq = <30>;
lcd_hbp = <60>;
lcd_ht = <800>;
lcd_hspw = <12>;
lcd_vbp = <25>;
lcd_vt = <780>;
lcd_vspw = <8>;
lcd_backlight = <250>;// 0 ~ 255
lcd_pwm_used = <1>;
lcd_pwm_ch = <8>;
lcd_pwm_freq = <20000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_bright_curve_en = <0>;
lcd_frm = <1>;
lcd_io_phase = <0x0000>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_rb_swap = <0>;
//lcd_bl_en = <&pio PI 7 1 1 3 1>;
lcd_gpio_0 = <&pio PJ 16 1 1 3 1>;//reset
lcd_gpio_1 = <&pio PJ 17 1 1 3 1>;//cs
lcd_gpio_2 = <&pio PC 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&pio PC 12 1 1 3 1>;//scl
/*
lcd_gpio_2 = <&r_pio PL 2 1 1 3 1>;//sdi
lcd_gpio_3 = <&r_pio PL 3 1 1 3 1>;//scl
*/
lcd_pin_power;
lcd_power;
pinctrl-0 = <&rgb18_pins_c>;
pinctrl-1 = <&rgb18_pins_d>;
status = "okay";
};
编译一个固件试一试。
显示屏手册: TM150TDS50.pdf
购买地址: https://item.taobao.com/item.htm?id=616777643536 (和帖主没有PY关系,购买之前一定记得问清楚是不是翻新)
通用的 VGA/HDMI 驱动板: https://item.taobao.com/item.htm?id=581665209301
转接线(单8 DF20 LVDS): https://item.taobao.com/item.htm?id=21694680729 (我买的链接失效了,随便搜了一个)