您尚未登录。

楼主 # 2024-09-16 00:00:26

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

第一次发帖 不废话 看图
10.1寸的LCD屏幕
主屏幕
显示效果还凑合
F1C200S和1G的存储
主控
还有个XR819的WIFI
WIFI
还有个MIPI芯片
MIPI
屏幕背后特写
LCD
感觉搞这个做个副屏或者多媒体终端 比买开发板还爽,就是小白一个不会改固件,慢慢潜水研究

离线

#1 2024-09-16 09:18:38

ubuntu
会员
注册时间: 2020-03-30
已发帖子: 271
积分: 249

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

求链接

离线

楼主 #2 2024-09-16 10:12:08

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

ubuntu 说:

求链接

某鱼 搜一下就可以

离线

#3 2024-09-16 10:26:33

ubuntu
会员
注册时间: 2020-03-30
已发帖子: 271
积分: 249

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

没有找到45元包邮的,请问有店主名吗?

离线

#4 2024-09-16 10:57:29

EndStation
会员
注册时间: 2024-09-10
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

礼貌求个链接上车

离线

楼主 #5 2024-09-16 11:22:35

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

ubuntu 说:

没有找到45元包邮的,请问有店主名吗?

你搜保资电子价签 10.1

离线

楼主 #6 2024-09-16 11:23:20

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

EndStation 说:

礼貌求个链接上车

卖的就那几个,你一看就知道

离线

楼主 #8 2024-09-16 17:24:53

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

ubuntu 说:

没有找到45元包邮的,请问有店主名吗?

你一说我想起来了我给老板讲了十块的价

离线

#9 2024-09-19 09:30:05

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 620
积分: 520
个人网站

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

不错,买了一个,研究研究看如果可以做wifi投屏就好

离线

#10 2024-09-19 10:01:38

xingzhe1
会员
注册时间: 2024-09-19
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

真划算,能点亮就好

离线

#11 2024-09-19 10:32:29

642242855
会员
注册时间: 2019-10-31
已发帖子: 204
积分: 101

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

买了很久,放那吃灰,谁要不便宜出  哈哈

离线

#12 2024-09-19 11:50:08

lanlanzhilian
会员
注册时间: 2021-12-21
已发帖子: 121
积分: 56

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

642242855 说:

买了很久,放那吃灰,谁要不便宜出  哈哈

这么好的开发板,不要给我了:)
同时还是一个SSD2828的开发板

离线

#13 2024-09-19 16:00:09

642242855
会员
注册时间: 2019-10-31
已发帖子: 204
积分: 101

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

lanlanzhilian 说:
642242855 说:

买了很久,放那吃灰,谁要不便宜出  哈哈

这么好的开发板,不要给我了:)
同时还是一个SSD2828的开发板

可以啊,晚点我放闲鱼,这个的外壳可能有点坏了,拆的时候不会拆

离线

楼主 #14 2024-09-20 15:32:05

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

微凉VeiLiang 说:

不错,买了一个,研究研究看如果可以做wifi投屏就好

等你好消息啊

离线

#15 2024-09-20 17:17:52

dykxjh
会员
注册时间: 2020-03-25
已发帖子: 168
积分: 173

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

请问楼主,怎么拆开的?我也买了一个,拆不开

离线

楼主 #16 2024-09-20 21:56:10

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

dykxjh 说:

请问楼主,怎么拆开的?我也买了一个,拆不开

从屏幕玻璃那里 沿着缝隙划开

离线

#17 2024-09-21 09:25:38

dykxjh
会员
注册时间: 2020-03-25
已发帖子: 168
积分: 173

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

rongzone 说:
dykxjh 说:

请问楼主,怎么拆开的?我也买了一个,拆不开

从屏幕玻璃那里 沿着缝隙划开

他里面是卡扣还是粘胶?需不需要加热?

离线

#18 2024-09-21 10:36:08

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

买了2个,试了一下,可以进入adb,可以连接wifi,但是测试cat /dev/random > /dev/fb0没有反应,看应用的日志感觉应该是操作的fb0。还得研究一下,这个外壳确实难拆。

root@TinaLinux:/# bloziplayer
WARNING: awplayer <log_set_level:30>: Set log level to 7
warning: cedarc <VDecoderRegister:127>: register codec: '115:h264' success.
warning: cedarc <VDecoderRegister:127>: register codec: '101:mjpeg' success.
warning: cedarc <VDecoderRegister:127>: register codec: '102:mpeg2' success.
warning: cedarc <VDecoderRegister:127>: register codec: '103:mpeg2' success.
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.
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.
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.
Disconnected,the reason:WSE_STARTUP_AUTO_CONNECT
dd: writing '/dev/fb0': No space left on device
16001+0 records in
16000+0 records out

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tina_multimedia <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
tag   : tina3.5
branch: tina-dev
date  : Mon Jul 15 19:04:59 2019 +0800
Change-Id: I5f6c8a88d7b387a312b7744797a0d5f8ab07ee7a
-------------------------------------------------------------------------------
debug  : cedarc <VeSetSpeed:1559>: *** set ve freq to 300 Mhz ***
debug  : cedarc <VeInitialize:1198>: ve init ok

debug  : cedarc <VeRelease:1253>: ve release ok

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 <H264ProcessExtraData2:579>: H264ProcessNaluUnit, bNeedFindSPS = 0, bNeedFindPPS = 0
debug  : cedarc <H264DecodePictureScanType:2688>: here3:hCtx->bProgressice=1

离线

#19 2024-09-21 10:54:33

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

可以添加图片和视频到/mnt/UDISK/bloziplayer 文件夹,配置/mnt/UDISK/bloziplayer/bloziplayer.json来控制播放内容
默认是这个:
{"code":0,"data":[{"type":"video","label":"video","time":0,"area":{"left":0,"top":0,"width":800,"height":800},"files":[{"name":"blozi-800-800.mp4","md5":"9746fc6bc53e0cf5f1c475905e193b15"}]},{"type":"img","label":"tag","time":0,"area":{"left":0,"top":800,"width":800,"height":480},"files":[{"name":"tag-5000001054-1629347081.png","md5":"b9441367c35d85189d5e2c23cf377453"}]}],"type":"2"}

修改/etc/wifi/wpa_supplicant.conf里面的热点名称和密码连接WIFI

离线

#20 2024-09-21 21:09:31

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值


_20240921210652.jpg
可以跑自己的应用了,只是帧率低的可怜

离线

楼主 #21 2024-09-21 22:02:06

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

哇,怎么搞定的,能不能教教我,小白一个

离线

楼主 #22 2024-09-21 22:03:26

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

dykxjh 说:
rongzone 说:
dykxjh 说:

请问楼主,怎么拆开的?我也买了一个,拆不开

从屏幕玻璃那里 沿着缝隙划开

他里面是卡扣还是粘胶?需不需要加热?

我没加热 撬棒搞定,

离线

#23 2024-09-21 22:36:22

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

rongzone 说:
dykxjh 说:
rongzone 说:

从屏幕玻璃那里 沿着缝隙划开

他里面是卡扣还是粘胶?需不需要加热?

我没加热 撬棒搞定,

不用拆开,直接ADB登陆,然后干掉以前的应用,交叉编译自己的应用运行即可,后面打算弄个应用做个相册/天气/时间之类的,从互联网获取图片显示。比较简单

离线

#24 2024-09-21 22:40:02

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

另外,注意USB接电脑的时候,供电不足容易导致屏幕闪烁,WIFI开启并连接可能还会导致重启

离线

楼主 #25 2024-09-22 01:26:03

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

18578292200 说:

另外,注意USB接电脑的时候,供电不足容易导致屏幕闪烁,WIFI开启并连接可能还会导致重启

我换好图片了,只能显示一张 不会编他那个json,还得是你说的换app

最近编辑记录 rongzone (2024-09-22 01:26:34)

离线

#26 2024-09-22 15:14:06

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

做了一个简单的相册,也交叉编译了一个telnetd,联网后可以远程调试。弄的急促,只是调通了,还有很多内容没完善。

1、先修改wpa_supplicant.conf里面的wifi名称和密码
2、双击打开bat文件,批处理会把对应的文件复制到板子上并重新启动
3、这个bloziplayer应用,只是使用lvgl简单实现了一下检索/mnt/UDISK目录下的png文件,【jpg、bmp、gif暂时没测试,后面加上】,然后轮流显示
4、后面可以通过在电脑telnet屏的IP登陆(需要先在板子修改下密码 passwd root)
5、后面要更新图片目前可以直接ADB PUSH进去,或者敲命令使用wget从网上获取

bloziplayer.zip

离线

#27 2024-09-22 17:12:45

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

shell 的默认密码是tina

离线

#28 2024-09-22 18:46:53

dykxjh
会员
注册时间: 2020-03-25
已发帖子: 168
积分: 173

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

请问,你们买来通电就能显示吗?我的通电背光亮,屏幕黑屏不显示,是不是买到坏的了?

离线

#29 2024-09-22 19:53:38

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

dykxjh 说:

请问,你们买来通电就能显示吗?我的通电背光亮,屏幕黑屏不显示,是不是买到坏的了?

可能是供电原因,换个好点的数据线,或者接到充电器试试,之前我这边也是黑屏不显示,换了个数据线就可以了,而且电脑供电还会闪屏,背光亮度不稳定。

离线

楼主 #30 2024-09-22 21:24:35

rongzone
会员
注册时间: 2024-09-06
已发帖子: 11
积分: 36

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@18578292200
这个群真不错,大神非常多,学习

离线

#31 2024-09-23 08:45:50

soso
会员
注册时间: 2022-05-03
已发帖子: 98
积分: 160

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

这个不带触摸,不然就比较完美~~  拿来学习lvgl是够了~

离线

#32 2024-09-23 09:49:34

bigniudiy
会员
注册时间: 2022-04-18
已发帖子: 35
积分: 80

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

我也跟风买了一个,加上邮费60

离线

#33 2024-09-23 11:10:54

soso
会员
注册时间: 2022-05-03
已发帖子: 98
积分: 160

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

前几天咸鱼也看到。当时感觉就能火~

离线

#34 2024-09-23 20:18:33

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

为什么我开启wifi显示如下报错:

root@TinaLinux:/# wpa_supplicant -B -i wlan0 -c /etc/wifi/wpa_supplicant.conf
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
nl80211: Could not re-add multicast membership for vendor events: -2 (No such file or directory)

离线

#35 2024-09-23 20:23:18

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

本来/etc/wifi/wpa_supplicant.conf中是没有network字段的,我自己添加的:

network={
    ssid="troyself-wifi"
    psk="xxx"  //已经更改为自己的wifi密码
    key_mgmt=WPA-PSK
    priority=1
}

离线

#36 2024-09-23 20:37:09

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@18578292200
/mnt/UDISK/bloziplayer/bloziplayer.json也没有json文件...

root@TinaLinux:/mnt/UDISK/bloziplayer# ls -a
.   ..
root@TinaLinux:/mnt/UDISK/bloziplayer# 

屏幕开机只显示一个保资的二维码和一个蓝莓图片

离线

#37 2024-09-23 20:40:41

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

使用如下命令查找png字段的json文件,也是没有任何收获。

root@TinaLinux:/# find -name "*.json" -exec grep -n "*png" {} +

离线

#38 2024-09-24 17:46:18

liangrushui
会员
注册时间: 2021-10-11
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@18578292200
请问这个应用时自带的还是你编写然后下载进去的?

离线

#40 2024-09-24 21:05:52

jackzy
会员
注册时间: 2022-09-27
已发帖子: 1
积分: 1

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

rongzone 说:
18578292200 说:

另外,注意USB接电脑的时候,供电不足容易导致屏幕闪烁,WIFI开启并连接可能还会导致重启

我换好图片了,只能显示一张 不会编他那个json,还得是你说的换app

我的也是,只显示我换的图片,并且开始不断重启了

离线

#41 2024-09-24 23:50:45

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

liangrushui 说:

@18578292200
请问这个应用时自带的还是你编写然后下载进去的?

是自己写的,我放了下载链接

离线

#42 2024-09-24 23:51:58

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@jackzy
重启的原因可能是供电的问题,这个USB供的是5V的电压,实际看别人拆解,这里最终要供12V,所以电源不稳的话容易重启,特别是连了WIFI后

离线

#43 2024-09-25 15:43:42

liangrushui
会员
注册时间: 2021-10-11
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

18578292200 说:
liangrushui 说:

@18578292200
请问这个应用时自带的还是你编写然后下载进去的?

是自己写的,我放了下载链接

感谢回复,请问对应开发的sdk能分享下吗?我找这个sdk没有找到

离线

#44 2024-09-25 17:30:58

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

18578292200 说:
liangrushui 说:

@18578292200
请问这个应用时自带的还是你编写然后下载进去的?

是自己写的,我放了下载链接

能看一下我的问题吗?连接wifi的问题,在楼上。

离线

#45 2024-09-25 21:19:19

ooxx
会员
注册时间: 2024-09-25
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

请问对应开发的sdk能分享下吗?我找这个sdk没有找到,谢谢!

离线

#46 2024-09-26 00:47:15

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 439

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

我来贴个dts

/memreserve/ 0x81000000 0x10000;
/ {
    model = "sun3iw1p1";
    compatible = "arm,sun3iw1p1", "arm,sun3iw1p1";
    interrupt-parent = <0x00000001>;
    #address-cells = <0x00000002>;
    #size-cells = <0x00000002>;
    clocks {
        compatible = "allwinner,sunxi-clk-init";
        device_type = "clocks";
        #address-cells = <0x00000002>;
        #size-cells = <0x00000002>;
        ranges;
        reg = <0x00000000 0x01c20000 0x00000000 0x000002d0>;
        losc {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-clock";
            clock-frequency = <0x00008000>;
            clock-output-names = "losc";
        };
        hosc {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-clock";
            clock-frequency = <0x016e3600>;
            clock-output-names = "hosc";
            linux,phandle = <0x00000008>;
            phandle = <0x00000008>;
        };
        pll_cpu {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            assigned-clock-rates = <0x20e6da00>;
            clock-output-names = "pll_cpu";
        };
        pll_audio {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            clock-output-names = "pll_audio";
            linux,phandle = <0x00000002>;
            phandle = <0x00000002>;
        };
        pll_video {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            assigned-clock-rates = <0x11b3dc40>;
            clock-output-names = "pll_video";
            linux,phandle = <0x00000003>;
            phandle = <0x00000003>;
        };
        pll_ve {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            clock-output-names = "pll_ve";
            linux,phandle = <0x0000000a>;
            phandle = <0x0000000a>;
        };
        pll_ddr {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            assigned-clock-rates = <0x1298be00>;
            clock-output-names = "pll_ddr";
        };
        pll_periph {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-pll-clock";
            lock-mode = "none";
            clock-output-names = "pll_periph";
            linux,phandle = <0x00000004>;
            phandle = <0x00000004>;
        };
        pll_audiox8 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-factor-clock";
            clocks = <0x00000002>;
            clock-mult = <0x00000008>;
            clock-div = <0x00000001>;
            clock-output-names = "pll_audiox8";
        };
        pll_audiox4 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-factor-clock";
            clocks = <0x00000002>;
            clock-mult = <0x00000008>;
            clock-div = <0x00000002>;
            clock-output-names = "pll_audiox4";
        };
        pll_audiox2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-factor-clock";
            clocks = <0x00000002>;
            clock-mult = <0x00000008>;
            clock-div = <0x00000004>;
            clock-output-names = "pll_audiox2";
        };
        pll_videox2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-factor-clock";
            clocks = <0x00000003>;
            clock-mult = <0x00000002>;
            clock-div = <0x00000001>;
            clock-output-names = "pll_videox2";
        };
        pll_periphx2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,fixed-factor-clock";
            clocks = <0x00000004>;
            clock-mult = <0x00000002>;
            clock-div = <0x00000001>;
            clock-output-names = "pll_periphx2";
        };
        cpu {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "cpu";
        };
        pll_periphahb {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "pll_periphahb";
        };
        ahb1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "ahb1";
            linux,phandle = <0x0000001e>;
            phandle = <0x0000001e>;
        };
        apb1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "apb1";
        };
        sdmmc0_mod {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc0_mod";
            linux,phandle = <0x0000002a>;
            phandle = <0x0000002a>;
        };
        sdmmc0_bus {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc0_bus";
            linux,phandle = <0x0000002b>;
            phandle = <0x0000002b>;
        };
        sdmmc0_rst {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc0_rst";
            linux,phandle = <0x0000002c>;
            phandle = <0x0000002c>;
        };
        sdmmc1_mod {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc1_mod";
            linux,phandle = <0x0000002f>;
            phandle = <0x0000002f>;
        };
        sdmmc1_bus {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc1_bus";
            linux,phandle = <0x00000030>;
            phandle = <0x00000030>;
        };
        sdmmc1_rst {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdmmc1_rst";
            linux,phandle = <0x00000031>;
            phandle = <0x00000031>;
        };
        spi0 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "spi0";
            linux,phandle = <0x0000001f>;
            phandle = <0x0000001f>;
        };
        spi1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "spi1";
            linux,phandle = <0x00000026>;
            phandle = <0x00000026>;
        };
        usbphy0 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "usbphy0";
            linux,phandle = <0x00000043>;
            phandle = <0x00000043>;
        };
        usbotg {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "usbotg";
            linux,phandle = <0x00000044>;
            phandle = <0x00000044>;
        };
        audio {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "audio";
            linux,phandle = <0x00000045>;
            phandle = <0x00000045>;
        };
        avs {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "avs";
        };
        codec {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "codec";
            linux,phandle = <0x0000004b>;
            phandle = <0x0000004b>;
        };
        spdif {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "spdif";
            linux,phandle = <0x00000048>;
            phandle = <0x00000048>;
        };
        debe {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "debe";
            linux,phandle = <0x00000034>;
            phandle = <0x00000034>;
        };
        defe {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "defe";
            linux,phandle = <0x00000035>;
            phandle = <0x00000035>;
        };
        tcon {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "tcon";
            linux,phandle = <0x00000036>;
            phandle = <0x00000036>;
        };
        deinterlace {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "deinterlace";
            linux,phandle = <0x00000038>;
            phandle = <0x00000038>;
        };
        tve_clk2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "tve_clk2";
            linux,phandle = <0x00000037>;
            phandle = <0x00000037>;
        };
        tve_clk1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "tve_clk1";
        };
        tvd {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "tvd";
            linux,phandle = <0x00000039>;
            phandle = <0x00000039>;
        };
        csi_m {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "csi_m";
            linux,phandle = <0x00000040>;
            phandle = <0x00000040>;
        };
        ve {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "ve";
            linux,phandle = <0x0000000b>;
            phandle = <0x0000000b>;
        };
        sdram {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "sdram";
        };
        dma {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "dma";
            linux,phandle = <0x00000006>;
            phandle = <0x00000006>;
        };
        pio {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "pio";
            linux,phandle = <0x00000005>;
            phandle = <0x00000005>;
        };
        uart0 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "uart0";
            linux,phandle = <0x0000000c>;
            phandle = <0x0000000c>;
        };
        uart1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "uart1";
            linux,phandle = <0x0000000f>;
            phandle = <0x0000000f>;
        };
        uart2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "uart2";
            linux,phandle = <0x00000012>;
            phandle = <0x00000012>;
        };
        twi0 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "twi0";
            linux,phandle = <0x00000015>;
            phandle = <0x00000015>;
        };
        twi1 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "twi1";
            linux,phandle = <0x00000018>;
            phandle = <0x00000018>;
        };
        twi2 {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "twi2";
            linux,phandle = <0x0000001b>;
            phandle = <0x0000001b>;
        };
        rsb {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "rsb";
        };
        cir {
            #clock-cells = <0x00000000>;
            compatible = "allwinner,sunxi-periph-clock";
            clock-output-names = "cir";
            linux,phandle = <0x00000009>;
            phandle = <0x00000009>;
        };
    };
    soc {
        compatible = "simple-bus";
        #address-cells = <0x00000002>;
        #size-cells = <0x00000002>;
        device_type = "soc";
        ranges;
        pinctrl@01c20800 {
            compatible = "allwinner,sun3iw1p1-pinctrl";
            reg = <0x00000000 0x01c20800 0x00000000 0x00000400>;
            interrupts = <0x00000026 0x00000027 0x00000028>;
            device_type = "pio";
            clocks = <0x00000005>;
            gpio-controller;
            interrupt-controller;
            #interrupt-cells = <0x00000002>;
            #size-cells = <0x00000000>;
            #gpio-cells = <0x00000006>;
            linux,phandle = <0x00000024>;
            phandle = <0x00000024>;
            ir@0 {
                allwinner,function = "ir";
                allwinner,muxsel = <0x00000004>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x00000007>;
                phandle = <0x00000007>;
            };
            uart0@1 {
                allwinner,pins = "PF2", "PF4";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x0000000e>;
                phandle = <0x0000000e>;
            };
            uart1@1 {
                allwinner,pins = "PA3", "PA2";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x00000011>;
                phandle = <0x00000011>;
            };
            uart2@0 {
                allwinner,pname = "uart2_tx", "uart2_rx";
                allwinner,function = "uart2";
                allwinner,muxsel = <0x00000003>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x00000013>;
                phandle = <0x00000013>;
            };
            uart2@1 {
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x00000014>;
                phandle = <0x00000014>;
            };
            twi0@1 {
                allwinner,pins = "PD12", "PD0";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000017>;
                phandle = <0x00000017>;
            };
            twi1@1 {
                allwinner,pins = "PB0", "PB1";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000001a>;
                phandle = <0x0000001a>;
            };
            twi2@1 {
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000001d>;
                phandle = <0x0000001d>;
            };
            spi0@2 {
                allwinner,pins = "PC0", "PC1", "PC2";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000022>;
                phandle = <0x00000022>;
            };
            spi0@3 {
                allwinner,pins = "PC3";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000023>;
                phandle = <0x00000023>;
            };
            spi1@2 {
                allwinner,pins = "PE7", "PE8", "PE9", "PE10";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000029>;
                phandle = <0x00000029>;
            };
            csi0@0 {
                allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
                allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
                allwinner,function = "csi0";
                allwinner,muxsel = <0x00000002>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                allwinner,data = <0x00000000>;
                linux,phandle = <0x00000041>;
                phandle = <0x00000041>;
            };
            csi0_sleep@0 {
                allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
                allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                allwinner,data = <0x00000000>;
                linux,phandle = <0x00000042>;
                phandle = <0x00000042>;
            };
            pwm0@0 {
                allwinner,pins = "PE12";
                allwinner,function = "pwm0";
                allwinner,muxsel = <0x00000004>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000003c>;
                phandle = <0x0000003c>;
            };
            pwm0@1 {
                allwinner,pins = "PE12";
                allwinner,function = "pwm0";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000003d>;
                phandle = <0x0000003d>;
            };
            pwm1@0 {
                allwinner,function = "pwm1";
                allwinner,muxsel = <0x00000003>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000003e>;
                phandle = <0x0000003e>;
            };
            pwm1@1 {
                allwinner,function = "pwm1";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000003f>;
                phandle = <0x0000003f>;
            };
            sdc0@1 {
                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x0000002e>;
                phandle = <0x0000002e>;
            };
            sdc1@1 {
                allwinner,pins = "PC0", "PC1", "PC2";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000001>;
                linux,phandle = <0x00000033>;
                phandle = <0x00000033>;
            };
            daudio0@0 {
                allwinner,function = "iis0";
                allwinner,muxsel = <0x00000004>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000046>;
                phandle = <0x00000046>;
            };
            daudio0_sleep@0 {
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000047>;
                phandle = <0x00000047>;
            };
            daudio0@1 {
                allwinner,function = "iis0";
                allwinner,muxsel = <0x00000002>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
            };
            spdif@0 {
                allwinner,pins = "PD17";
                allwinner,function = "spdif0";
                allwinner,muxsel = <0x00000003>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x00000049>;
                phandle = <0x00000049>;
            };
            spdif_sleep@0 {
                allwinner,pins = "PD17";
                allwinner,function = "io_disabled";
                allwinner,muxsel = <0x00000007>;
                allwinner,drive = <0x00000001>;
                allwinner,pull = <0x00000000>;
                linux,phandle = <0x0000004a>;
                phandle = <0x0000004a>;
            };
            card0_boot_para@0 {
                linux,phandle = <0x00000051>;
                phandle = <0x00000051>;
                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                allwinner,function = "card0_boot_para";
                allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000002>;
                allwinner,data = <0xffffffff>;
            };
            card2_boot_para@0 {
                linux,phandle = <0x00000052>;
                phandle = <0x00000052>;
                allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC1";
                allwinner,function = "card2_boot_para";
                allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst", "sdc_ds";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000003>;
                allwinner,data = <0xffffffff>;
            };
            card1_boot_para@0 {
                linux,phandle = <0x00000053>;
                phandle = <0x00000053>;
                allwinner,pins = "PC0", "PC1", "PC2";
                allwinner,function = "card1_boot_para";
                allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000003>;
                allwinner,data = <0xffffffff>;
            };
            twi_para@0 {
                linux,phandle = <0x00000054>;
                phandle = <0x00000054>;
                allwinner,pins = "PD12", "PD0";
                allwinner,function = "twi_para";
                allwinner,pname = "twi_scl", "twi_sda";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            uart_para@0 {
                linux,phandle = <0x00000055>;
                phandle = <0x00000055>;
                allwinner,pins = "PA2", "PA3";
                allwinner,function = "uart_para";
                allwinner,pname = "uart_debug_tx", "uart_debug_rx";
                allwinner,muxsel = <0x00000005>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            jtag_para@0 {
                linux,phandle = <0x00000056>;
                phandle = <0x00000056>;
                allwinner,pins = "PH9", "PH10", "PH11", "PH12";
                allwinner,function = "jtag_para";
                allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            twi0@0 {
                linux,phandle = <0x00000057>;
                phandle = <0x00000057>;
                allwinner,pins = "PD12", "PD0";
                allwinner,function = "twi0";
                allwinner,pname = "twi0_scl", "twi0_sda";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            twi1@0 {
                linux,phandle = <0x00000058>;
                phandle = <0x00000058>;
                allwinner,pins = "PB0", "PB1";
                allwinner,function = "twi1";
                allwinner,pname = "twi1_scl", "twi1_sda";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            twi2@0 {
                linux,phandle = <0x00000059>;
                phandle = <0x00000059>;
                allwinner,pins = "PD15", "PD16";
                allwinner,function = "twi2";
                allwinner,pname = "twi2_scl", "twi2_sda";
                allwinner,muxsel = <0x00000004>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            uart0@0 {
                linux,phandle = <0x0000005a>;
                phandle = <0x0000005a>;
                allwinner,pins = "PF2", "PF4";
                allwinner,function = "uart0";
                allwinner,pname = "uart0_tx", "uart0_rx";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            uart1@0 {
                linux,phandle = <0x0000005b>;
                phandle = <0x0000005b>;
                allwinner,pins = "PA2", "PA3";
                allwinner,function = "uart1";
                allwinner,pname = "uart1_tx", "uart1_rx";
                allwinner,muxsel = <0x00000005>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            spi0@0 {
                linux,phandle = <0x0000005c>;
                phandle = <0x0000005c>;
                allwinner,pins = "PC1";
                allwinner,function = "spi0";
                allwinner,pname = "spi0_cs0";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            spi0@1 {
                linux,phandle = <0x0000005d>;
                phandle = <0x0000005d>;
                allwinner,pins = "PC0", "PC3", "PC2";
                allwinner,function = "spi0";
                allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            spi1@0 {
                linux,phandle = <0x0000005e>;
                phandle = <0x0000005e>;
                allwinner,pins = "PE7";
                allwinner,function = "spi1";
                allwinner,pname = "spi1_cs0";
                allwinner,muxsel = <0x00000004>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            spi1@1 {
                linux,phandle = <0x0000005f>;
                phandle = <0x0000005f>;
                allwinner,pins = "PE9", "PE8", "PE10";
                allwinner,function = "spi1";
                allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso";
                allwinner,muxsel = <0x00000004>;
                allwinner,pull = <0xffffffff>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            nand0@0 {
                linux,phandle = <0x00000060>;
                phandle = <0x00000060>;
                allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14";
                allwinner,function = "nand0";
                allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000000>;
                allwinner,drive = <0x00000001>;
                allwinner,data = <0xffffffff>;
            };
            nand0@1 {
                linux,phandle = <0x00000061>;
                phandle = <0x00000061>;
                allwinner,pins = "PC3", "PC5";
                allwinner,function = "nand0";
                allwinner,pname = "nand0_ce0", "nand0_rb0";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000001>;
                allwinner,data = <0xffffffff>;
            };
            lcd0@0 {
                linux,phandle = <0x00000062>;
                phandle = <0x00000062>;
                allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD13", "PD14", "PD15", "PD16", "PD17";
                allwinner,function = "lcd0";
                allwinner,pname = "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd19", "lcdd20", "lcdd21", "lcdd22", "lcdd23";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000000>;
                allwinner,drive = <0xffffffff>;
                allwinner,data = <0xffffffff>;
            };
            lcd0@1 {
                linux,phandle = <0x00000063>;
                phandle = <0x00000063>;
                allwinner,pins = "PD18", "PD19", "PD20", "PD21";
                allwinner,function = "lcd0";
                allwinner,pname = "lcdclk", "lcdde", "lcdhsync", "lcdvsync";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000000>;
                allwinner,drive = <0x00000003>;
                allwinner,data = <0xffffffff>;
            };
            sdc0@0 {
                linux,phandle = <0x00000064>;
                phandle = <0x00000064>;
                allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
                allwinner,function = "sdc0";
                allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2";
                allwinner,muxsel = <0x00000002>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000003>;
                allwinner,data = <0xffffffff>;
            };
            sdc1@0 {
                linux,phandle = <0x00000065>;
                phandle = <0x00000065>;
                allwinner,pins = "PC0", "PC1", "PC2";
                allwinner,function = "sdc1";
                allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0";
                allwinner,muxsel = <0x00000003>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000002>;
                allwinner,data = <0xffffffff>;
            };
            Vdevice@0 {
                linux,phandle = <0x00000066>;
                phandle = <0x00000066>;
                allwinner,pins = "PC0", "PC1";
                allwinner,function = "Vdevice";
                allwinner,pname = "Vdevice_0", "Vdevice_1";
                allwinner,muxsel = <0x00000004>;
                allwinner,pull = <0x00000001>;
                allwinner,drive = <0x00000002>;
                allwinner,data = <0xffffffff>;
            };
        };
        dma-controller@01c02000 {
            compatible = "allwinner,sun3i-dma";
            reg = <0x00000000 0x01c02000 0x00000000 0x00001000>;
            interrupts = <0x00000012>;
            clocks = <0x00000006>;
            #dma-cells = <0x00000002>;
            linux,phandle = <0x00000025>;
            phandle = <0x00000025>;
        };
        timer@1c20c00 {
            compatible = "allwinner,sunxi-timer";
            device_type = "timer";
            reg = <0x00000000 0x01c20c00 0x00000000 0x00000090>;
            interrupts = <0x0000000d>;
            clock-frequency = <0x016e3600>;
            timer-prescale = <0x00000010>;
        };
        ir@01c22c00 {
            compatible = "allwinner,ir";
            reg = <0x00000000 0x01c22c00 0x00000000 0x00000400>;
            interrupts = <0x00000006>;
            pinctrl-names = "default";
            pinctrl-0 = <0x00000007>;
            clocks = <0x00000008 0x00000009>;
            status = "okay";
        };
        ve@01c0e000 {
            compatible = "allwinner,sunxi-cedar-ve";
            reg = <0x00000000 0x01c0e000 0x00000000 0x00001000 0x00000000 0x01c00000 0x00000000 0x00003000 0x00000000 0x01c20000 0x00000000 0x00000800>;
            interrupts = <0x00000022>;
            clocks = <0x0000000a 0x0000000b>;
        };
        uart@01c25000 {
            compatible = "allwinner,sun3i-uart";
            device_type = "uart0";
            reg = <0x00000000 0x01c25000 0x00000000 0x00000400>;
            interrupts = <0x00000001>;
            clocks = <0x0000000c>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x0000000e>;
            uart0_port = <0x00000000>;
            uart0_type = <0x00000002>;
            status = "disabled";
            pinctrl-0 = <0x0000005a>;
        };
        uart@01c25400 {
            compatible = "allwinner,sun3i-uart";
            device_type = "uart1";
            reg = <0x00000000 0x01c25400 0x00000000 0x00000400>;
            interrupts = <0x00000002>;
            clocks = <0x0000000f>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x00000011>;
            uart1_port = <0x00000001>;
            uart1_type = <0x00000002>;
            status = "okay";
            pinctrl-0 = <0x0000005b>;
        };
        uart@01c25800 {
            compatible = "allwinner,sun3i-uart";
            device_type = "uart2";
            reg = <0x00000000 0x01c25800 0x00000000 0x00000400>;
            interrupts = <0x00000003>;
            clocks = <0x00000012>;
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <0x00000013>;
            pinctrl-1 = <0x00000014>;
            uart2_port = <0x00000002>;
            uart2_type = <0x00000004>;
            status = "disabled";
        };
        twi@0x01c27000 {
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            compatible = "allwinner,sun3i-twi";
            device_type = "twi0";
            reg = <0x00000000 0x01c27000 0x00000000 0x00000400>;
            interrupts = <0x00000007>;
            clocks = <0x00000015>;
            clock-frequency = <0x000186a0>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x00000017>;
            status = "okay";
            pinctrl-0 = <0x00000057>;
            io_expand@0x38 {
                compatible = "nxp,pcf8574a";
                i2c-max-frequency = <0x000186a0>;
                reg = <0x00000038>;
                device_type = "io_expand";
            };
            touchscreen0@0x4A {
                compatible = "atmel,mxt336t";
                reg = <0x0000004a>;
                atmel,suspend_mode = <0x00000000>;
            };
            touchscreen1@0x48 {
                compatible = "ctp_icn85xx";
                reg = <0x00000048>;
                device_type = "touchscreen1";
            };
            rtc@0x51 {
                compatible = "nxp,pcf8563";
                i2c-max-frequency = <0x000186a0>;
                reg = <0x00000051>;
            };
            sensor_gc0308@0x42 {
                compatible = "allwinner,sensor_gc0308";
                i2c-max-frequency = <0x000186a0>;
                reg = <0x00000042>;
                status = "okay";
            };
        };
        twi@0x01c27400 {
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            compatible = "allwinner,sun3i-twi";
            device_type = "twi1";
            reg = <0x00000000 0x01c27400 0x00000000 0x00000400>;
            interrupts = <0x00000008>;
            clocks = <0x00000018>;
            clock-frequency = <0x00030d40>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x0000001a>;
            status = "disabled";
            pinctrl-0 = <0x00000058>;
        };
        twi@0x01c27800 {
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            compatible = "allwinner,sun3i-twi";
            device_type = "twi2";
            reg = <0x00000000 0x01c27800 0x00000000 0x00000400>;
            interrupts = <0x00000009>;
            clocks = <0x0000001b>;
            clock-frequency = <0x000186a0>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x0000001d>;
            status = "disabled";
            pinctrl-0 = <0x00000059>;
        };
        spi@01c05000 {
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            compatible = "allwinner,sun8i-spi";
            device_type = "spi0";
            reg = <0x00000000 0x01c05000 0x00000000 0x00001000>;
            interrupts = <0x0000000a>;
            clocks = <0x0000001e 0x0000001f>;
            clock-frequency = <0x05f5e100>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x00000022 0x00000023>;
            spi0_cs_number = <0x00000001>;
            spi0_cs_bitmap = <0x00000001>;
            sd-spi-sel = <0x00000024 0x00000000 0x00000001 0x00000001 0x00000001 0x00000000 0x00000000>;
            sd-spi-act = <0x00000001>;
            dmas = <0x00000025 0x00000000 0x00000004 0x00000025 0x00000000 0x00000004>;
            dma-names = "rx", "tx";
            status = "okay";
            pinctrl-0 = <0x0000005c 0x0000005d>;
            nor_flash@0 {
                #address-cells = <0x00000001>;
                #size-cells = <0x00000001>;
                compatible = "st,m25p64";
                spi-max-frequency = <0x02faf080>;
                reg = <0x00000000>;
            };
        };
        spinand@01c05000 {
            compatible = "allwinner,sunxi-spinand";
            device_type = "spinand";
            reg = <0x00000000 0x01c05000 0x00000000 0x00001000>;
            interrupts = <0x0000000a>;
            clocks = <0x0000001e 0x0000001f>;
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <0x0000005c 0x0000005d>;
            pinctrl-1 = <0x00000022 0x00000023>;
            nand0_regulator1 = "vcc-nand";
            nand0_regulator2 = "none";
            nand0_cache_level = <0x55aaaa55>;
            nand0_flush_cache_num = <0x55aaaa55>;
            nand0_capacity_level = <0x55aaaa55>;
            nand0_id_number_ctl = <0x55aaaa55>;
            nand0_print_level = <0x55aaaa55>;
            nand0_p0 = <0x55aaaa55>;
            nand0_p1 = <0x55aaaa55>;
            nand0_p2 = <0x55aaaa55>;
            nand0_p3 = <0x55aaaa55>;
            status = "okay";
        };
        spi@01c06000 {
            #address-cells = <0x00000001>;
            #size-cells = <0x00000000>;
            compatible = "allwinner,sun8i-spi";
            device_type = "spi1";
            reg = <0x00000000 0x01c06000 0x00000000 0x00001000>;
            interrupts = <0x0000000b>;
            clocks = <0x0000001e 0x00000026>;
            clock-frequency = <0x05f5e100>;
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x00000029>;
            spi1_cs_number = <0x00000001>;
            spi1_cs_bitmap = <0x00000001>;
            status = "okay";
            pinctrl-0 = <0x0000005e 0x0000005f>;
            ssd2828@0 {
                compatible = "ss,ssd2828";
                spi-max-frequency = <0x017d7840>;
                gpios = <0x00000024 0x00000000 0x00000001 0x00000000 0x00000001 0x00000001 0x00000001>;
                reg = <0x00000000>;
            };
        };
        sdmmc@01c0f000 {
            compatible = "allwinner,sun3iw1p1-sdmmc0";
            device_type = "sdc0";
            reg = <0x00000000 0x01c0f000 0x00000000 0x00001000>;
            interrupts = <0x00000017>;
            clocks = <0x00000008 0x00000004 0x0000002a 0x0000002b 0x0000002c>;
            clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x0000002e>;
            max-frequency = <0x02faf080>;
            bus-width = <0x00000004>;
            cap-sdio-irq;
            keep-power-in-suspend;
            ignore-pm-notify;
            status = "okay";
            sdc0_buswidth = <0x00000004>;
            pinctrl-0 = <0x00000064>;
            sdc0_det = <0x00000024 0x00000000 0x00000001 0x00000000 0x00000001 0x00000003 0xffffffff>;
            sdc0_use_wp = <0x00000000>;
            sdc0_wp;
            sdc0_isio = <0x00000000>;
            sdc0_regulator = "none";
        };
        sdmmc@01c10000 {
            compatible = "allwinner,sun3iw1p1-sdmmc1";
            device_type = "sdc1";
            reg = <0x00000000 0x01c10000 0x00000000 0x00001000>;
            interrupts = <0x00000018>;
            clocks = <0x00000008 0x00000004 0x0000002f 0x00000030 0x00000031>;
            clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
            pinctrl-names = "default", "sleep";
            pinctrl-1 = <0x00000033>;
            max-frequency = <0x02faf080>;
            bus-width = <0x00000001>;
            no-sdio;
            no-sd;
            non-removable;
            cap-sdio-irq;
            keep-power-in-suspend;
            ignore-pm-notify;
            sunxi-dly-52M-ddr4 = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000002>;
            sunxi-dly-104M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>;
            sunxi-dly-208M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>;
            status = "disabled";
            sdc1_detmode = <0x00000004>;
            sdc1_buswidth = <0x00000001>;
            pinctrl-0 = <0x00000065>;
            sdc1_det;
            sdc1_use_wp = <0x00000000>;
            sdc1_wp;
            sdc1_isio = <0x00000001>;
            sdc1_regulator = "none";
        };
        disp@0x01e00000 {
            compatible = "allwinner,sunxi-disp";
            reg = <0x00000000 0x01e00000 0x00000000 0x00020000 0x00000000 0x01c0c000 0x00000000 0x00001000 0x00000000 0x01e70000 0x00000000 0x00010000>;
            interrupts = <0x0000001d 0x0000001f 0x0000001e 0x00000021>;
            clocks = <0x00000034 0x00000035 0x00000036 0x00000037 0x00000038>;
            status = "okay";
            device_type = "disp";
            disp_init_enable = <0x00000001>;
            disp_mode = <0x00000000>;
            screen0_output_type = <0x00000001>;
            screen0_output_mode = <0x00000004>;
            screen1_output_type = <0x00000001>;
            screen1_output_mode = <0x00000004>;
            fb0_framebuffer_num = <0x00000002>;
            fb0_pixel_sequence = <0x00000000>;
            fb0_scaler_mode_enable = <0x00000000>;
            fb0_format = <0x00000000>;
            fb0_width = <0x00000000>;
            fb0_height = <0x00000000>;
            fb1_framebuffer_num = <0x00000000>;
            fb1_pixel_sequence = <0x00000000>;
            fb1_scaler_mode_enable = <0x00000000>;
            fb1_format = <0x00000000>;
            fb1_width = <0x00000000>;
            fb1_height = <0x00000000>;
            lcd0_backlight = <0x00000032>;
            lcd1_backlight = <0x00000032>;
            lcd0_bright = <0x00000032>;
            lcd0_contrast = <0x00000032>;
            lcd0_saturation = <0x00000039>;
            lcd0_hue = <0x00000032>;
            lcd1_bright = <0x00000032>;
            lcd1_contrast = <0x00000032>;
            lcd1_saturation = <0x00000039>;
            lcd1_hue = <0x00000032>;
        };
        tvd0@01c0b000 {
            compatible = "allwinner,sunxi-tvd";
            reg = <0x00000000 0x01c0b000 0x00000000 0x00001000>;
            interrupts = <0x0000001b>;
            clocks = <0x00000039>;
            tvd_used = <0x00000001>;
            tvd_if = <0x00000000>;
            status = "okay";
        };
        lcd0@01c0c000 {
            compatible = "allwinner,sunxi-lcd0";
            pinctrl-names = "active", "sleep";
            status = "okay";
            device_type = "lcd0";
            lcd_used = <0x00000001>;
            lcd_driver_name = "ili6122_800x480";
            lcd_if = <0x00000000>;
            lcd_x = <0x00000320>;
            lcd_y = <0x00000500>;
            lcd_width = <0x00000087>;
            lcd_height = <0x000000d8>;
            lcd_dclk_freq = <0x0000003e>;
            lcd_pwm_used = <0x00000001>;
            lcd_pwm_ch = <0x00000000>;
            lcd_pwm_freq = <0x0000c350>;
            lcd_pwm_pol = <0x00000001>;
            lcd_hbp = <0x00000046>;
            lcd_ht = <0x000004c4>;
            lcd_hspw = <0x00000014>;
            lcd_vbp = <0x00000016>;
            lcd_vt = <0x00000523>;
            lcd_vspw = <0x00000006>;
            lcd_hv_if = <0x00000000>;
            lcd_hv_smode = <0x00000000>;
            lcd_hv_s888_if = <0x00000000>;
            lcd_hv_syuv_if = <0x00000000>;
            lcd_hv_vspw = <0x00000006>;
            lcd_hv_hspw = <0x00000014>;
            lcd_hv_sync_polarity = <0x00000001>;
            lcd_deu_mode = <0x00000001>;
            lcd_lvds_if = <0x00000000>;
            lcd_lvds_colordepth = <0x00000001>;
            lcd_lvds_mode = <0x00000000>;
            lcd_lvds_ch = <0x00000000>;
            lcd_lvds_bitwidth = <0x00000000>;
            lcd_lvds_io_cross = <0x00000000>;
            lcd_cpu_if = <0x00000000>;
            lcd_frm = <0x00000001>;
            lcd_rb_swap = <0x00000001>;
            lcd_io_phase = <0x00000000>;
            lcd_gamma_en = <0x00000000>;
            lcd_bright_curve_en = <0x00000000>;
            lcd_cmap_en = <0x00000000>;
            deu_mode = <0x00000000>;
            lcdgamma4iep = <0x00000016>;
            lcd_io_cfg0 = <0x00000000>;
            smart_color = <0x0000005a>;
            lcd_gpio_0 = <0x00000024 0x00000004 0x00000005 0x00000001 0x00000000 0xffffffff 0x00000000>;
            pinctrl-0 = <0x00000062 0x00000063>;
        };
        pwm@01c21000 {
            compatible = "allwinner,sunxi-pwm";
            reg = <0x00000000 0x01c21000 0x00000000 0x00000008>;
            pwm-number = <0x00000002>;
            pwm-base = <0x00000000>;
            pwms = <0x0000003a 0x0000003b>;
        };
        pwm0@01c21000 {
            compatible = "allwinner,sunxi-pwm0";
            pinctrl-names = "active", "sleep";
            pinctrl-0 = <0x0000003c>;
            pinctrl-1 = <0x0000003d>;
            reg_base = <0x01c21000>;
            reg_busy_offset = <0x00000000>;
            reg_busy_shift = <0x0000001c>;
            reg_enable_offset = <0x00000000>;
            reg_enable_shift = <0x00000004>;
            reg_clk_gating_offset = <0x00000000>;
            reg_clk_gating_shift = <0x00000006>;
            reg_bypass_offset = <0x00000000>;
            reg_bypass_shift = <0x00000009>;
            reg_pulse_start_offset = <0x00000000>;
            reg_pulse_start_shift = <0x00000008>;
            reg_mode_offset = <0x00000000>;
            reg_mode_shift = <0x00000007>;
            reg_polarity_offset = <0x00000000>;
            reg_polarity_shift = <0x00000005>;
            reg_period_offset = <0x00000004>;
            reg_period_shift = <0x00000010>;
            reg_period_width = <0x00000010>;
            reg_active_offset = <0x00000004>;
            reg_active_shift = <0x00000000>;
            reg_active_width = <0x00000010>;
            reg_prescal_offset = <0x00000000>;
            reg_prescal_shift = <0x00000000>;
            reg_prescal_width = <0x00000004>;
            linux,phandle = <0x0000003a>;
            phandle = <0x0000003a>;
        };
        pwm1@01c21000 {
            compatible = "allwinner,sunxi-pwm1";
            pinctrl-names = "active", "sleep";
            pinctrl-0 = <0x0000003e>;
            pinctrl-1 = <0x0000003f>;
            reg_base = <0x01c21000>;
            reg_busy_offset = <0x00000000>;
            reg_busy_shift = <0x0000001d>;
            reg_enable_offset = <0x00000000>;
            reg_enable_shift = <0x00000013>;
            reg_clk_gating_offset = <0x00000000>;
            reg_clk_gating_shift = <0x00000015>;
            reg_bypass_offset = <0x00000000>;
            reg_bypass_shift = <0x00000018>;
            reg_pulse_start_offset = <0x00000000>;
            reg_pulse_start_shift = <0x00000017>;
            reg_mode_offset = <0x00000000>;
            reg_mode_shift = <0x00000016>;
            reg_polarity_offset = <0x00000000>;
            reg_polarity_shift = <0x00000014>;
            reg_period_offset = <0x00000008>;
            reg_period_shift = <0x00000010>;
            reg_period_width = <0x00000010>;
            reg_active_offset = <0x00000008>;
            reg_active_shift = <0x00000000>;
            reg_active_width = <0x00000010>;
            reg_prescal_offset = <0x00000000>;
            reg_prescal_shift = <0x0000000f>;
            reg_prescal_width = <0x00000004>;
            linux,phandle = <0x0000003b>;
            phandle = <0x0000003b>;
        };
        deinterlace@01e70000 {
            compatible = "allwinner,sunxi-deinterlace";
            reg = <0x00000000 0x01e70000 0x00000000 0x00000080>;
            interrupts = <0x00000021>;
            clocks = <0x00000038 0x00000003>;
            status = "okay";
        };
        csi_res@0x01cb0000 {
            compatible = "allwinner,sunxi-csi";
            reg = <0x00000000 0x01cb0000 0x00000000 0x00001000>;
            clocks = <0x00000040 0x00000003 0x00000008>;
            clocks-index = <0x00000000 0x00000001 0x00000002>;
            status = "okay";
        };
        vfe@0 {
            device_type = "csi0";
            compatible = "allwinner,sunxi-vfe";
            interrupts = <0x00000020>;
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <0x00000041>;
            pinctrl-1 = <0x00000042>;
            csi_sel = <0x00000000>;
            csi0_sensor_list = <0x00000000>;
            csi0_mck = <0x00000024 0x00000004 0x0000000b 0x00000002 0x00000001 0x00000003 0x00000000>;
            status = "okay";
            dev@1 {
                csi0_dev0_mname = "gc0308";
                csi0_dev0_twi_addr = <0x00000042>;
                csi0_dev0_twi_id = <0x00000000>;
                csi0_dev0_pos = "rear";
                csi0_dev0_isp_used = <0x00000000>;
                csi0_dev0_fmt = <0x00000000>;
                csi0_dev0_stby_mode = <0x00000000>;
                csi0_dev0_vflip = <0x00000000>;
                csi0_dev0_hflip = <0x00000000>;
                csi0_dev0_iovdd = <0x00000000>;
                csi0_dev0_iovdd_vol = <0x00000000>;
                csi0_dev0_avdd = <0x00000000>;
                csi0_dev0_avdd_vol = <0x00000000>;
                csi0_dev0_dvdd = <0x00000000>;
                csi0_dev0_dvdd_vol = <0x00000000>;
                csi0_dev0_afvdd = <0x00000000>;
                csi0_dev0_afvdd_vol = <0x00000000>;
                csi0_dev0_power_en;
                csi0_dev0_reset = <0x000007fc>;
                csi0_dev0_pwdn;
                csi0_dev0_flash_en;
                csi0_dev0_flash_mode;
                csi0_dev0_af_pwdn;
                csi0_dev0_act_used = <0x00000000>;
                csi0_dev0_act_name = <0x00000000>;
                csi0_dev0_act_slave = <0x00000000>;
                status = "okay";
            };
        };
        usbc0@0 {
            device_type = "usbc0";
            compatible = "allwinner,sunxi-otg-manager";
            usb_port_type = <0x00000000>;
            usb_detect_type = <0x00000001>;
            usb_detect_mode = <0x00000000>;
            usb_drv_vbus_gpio = <0x000007ff>;
            usb_host_init_state = <0x00000000>;
            usb_regulator_io = "nocare";
            usb_wakeup_suspend = <0x00000000>;
            usb_luns = <0x00000003>;
            usb_serial_unique = <0x00000000>;
            usb_serial_number = "20080411";
            rndis_wceis = <0x00000001>;
            status = "okay";
            usb_id_gpio;
            usb_det_vbus_gpio;
            usb_board_sel = <0x00000001>;
            usb_regulator_vol = <0x00000000>;
        };
        udc-controller@0x01c13000 {
            compatible = "allwinner,sunxi-udc";
            reg = <0x00000000 0x01c13000 0x00000000 0x00001000 0x00000000 0x01c00000 0x00000000 0x00000100>;
            interrupts = <0x0000001a>;
            clocks = <0x00000043 0x00000044>;
            status = "okay";
        };
        otghci0-controller@0x01c13000 {
            compatible = "allwinner,sunxi-hcd0";
            reg = <0x00000000 0x01c13000 0x00000000 0x00001000 0x00000000 0x01c00000 0x00000000 0x00000100>;
            interrupts = <0x0000001a>;
            clocks = <0x00000043 0x00000044>;
            hci_ctrl_no = <0x00000000>;
            status = "okay";
        };
        daudio@0x01c22000 {
            compatible = "allwinner,sunxi-daudio";
            reg = <0x00000000 0x01c22000 0x00000000 0x0000003c>;
            clocks = <0x00000002 0x00000045>;
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <0x00000046>;
            pinctrl-1 = <0x00000047>;
            word_select_size = <0x00000020>;
            pcm_sync_period = <0x00000020>;
            pcm_lsb_first = <0x00000000>;
            over_sample_rate = <0x00000080>;
            slot_width_select = <0x00000010>;
            pcm_sync_type = <0x00000000>;
            pcm_start_slot = <0x00000000>;
            tx_data_mode = <0x00000000>;
            rx_data_mode = <0x00000000>;
            tdm_config = <0x00000001>;
            tdm_num = <0x00000000>;
            dmas = <0x00000025 0x00000000 0x0000000e 0x00000025 0x00000000 0x0000000e>;
            dma-names = "rx-tx", "rx-tx";
            status = "okay";
            linux,phandle = <0x0000004e>;
            phandle = <0x0000004e>;
        };
        spdif-controller@0x01c21400 {
            compatible = "allwinner,sunxi-spdif";
            reg = <0x00000000 0x01c21400 0x00000000 0x00000038>;
            clocks = <0x00000002 0x00000048>;
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <0x00000049>;
            pinctrl-1 = <0x0000004a>;
            dmas = <0x00000025 0x00000000 0x00000001 0x00000025 0x00000000 0x00000001>;
            status = "disabled";
            linux,phandle = <0x0000004f>;
            phandle = <0x0000004f>;
        };
        codec@0x01c23c00 {
            compatible = "allwinner,sunxi-internal-codec";
            reg = <0x00000000 0x01c23c00 0x00000000 0x0000009c>;
            clocks = <0x00000002 0x0000004b>;
            gpio_shdn = <0x00000000>;
            headphonevol = <0x0000003b>;
            spkervol = <0x0000001b>;
            maingain = <0x00000004>;
            hp_dirused = <0x00000000>;
            pa_sleep_time = <0x0000015e>;
            status = "okay";
            linux,phandle = <0x0000004d>;
            phandle = <0x0000004d>;
        };
        cpudai0-controller@0x01c22000 {
            compatible = "allwinner,sunxi-internal-cpudai";
            reg = <0x00000000 0x01c23c00 0x00000000 0x0000009c>;
            clocks = <0x0000004b>;
            dmas = <0x00000025 0x00000000 0x0000000c 0x00000025 0x00000000 0x0000000c>;
            dma-names = "rx-tx", "rx-tx";
            status = "okay";
            linux,phandle = <0x0000004c>;
            phandle = <0x0000004c>;
        };
        sound@0 {
            compatible = "allwinner,sunxi-codec-machine";
            sunxi,cpudai-controller = <0x0000004c>;
            sunxi,audio-codec = <0x0000004d>;
            hp_detect_case = <0x00000000>;
            status = "okay";
        };
        sound@1 {
            compatible = "allwinner,sunxi-daudio0-machine";
            sunxi,daudio0-controller = <0x0000004e>;
            sunxi,snddaudio-codec = "nau8540.2-001d";
            sunxi,snddaudio-codec-dai = "nau8540-hifi";
            status = "okay";
        };
        sound@2 {
            compatible = "allwinner,sunxi-spdif-machine";
            sunxi,spdif-controller = <0x0000004f>;
            status = "okay";
        };
        wlan {
            compatible = "allwinner,sunxi-wlan";
            wlan-reset-pin = <0x00000024 0x00000003 0x00000010 0x00000000 0x00000001 0x00000001 0x00000001>;
            wlan-irq-pin = <0x00000024 0x00000003 0x0000000d 0x00000000 0x00000006 0x00000001 0x00000001>;
            wlan_busnum = <0x00000000>;
            status = "okay";
            device_type = "wlan";
            wlan_board_sel = <0x00000001>;
            wlan_hostwake = <0x00000024 0x00000004 0x00000003 0x00000006 0xffffffff 0xffffffff 0x00000001>;
            wlan_regon = <0x00000024 0x00000004 0x00000002 0x00000001 0x00000001 0x00000003 0x00000000>;
        };
        vdevice@0 {
            compatible = "allwinner,sun3i-vdevice";
            device_type = "Vdevice";
            pinctrl-names = "default";
            test-gpios = <0x00000024 0x00000003 0x00000001 0x00000001 0x00000002 0x00000002 0x00000001>;
            status = "disabled";
            pinctrl-0 = <0x00000066>;
        };
        keyboard {
            compatible = "allwinner,keyboard_2000mv";
            reg = <0x00000000 0x01c23400 0x00000000 0x00000400>;
            interrupts = <0x00000016>;
            status = "okay";
            pwr-key = <0x00000024 0x00000003 0x0000000e 0x00000000 0x00000006 0x00000001 0x00000000>;
            usb-sts = <0x00000024 0x00000003 0x0000000a 0x00000000 0x00000006 0x00000001 0x00000000>;
            key_cnt = <0x00000006>;
            key0 = <0x000000f8 0x00000073>;
            key1 = <0x00000193 0x00000072>;
            key2 = <0x0000024d 0x0000008b>;
            key3 = <0x00000307 0x0000001c>;
            key4 = <0x000003c1 0x00000066>;
            key5 = <0x000004b9 0x00000067>;
        };
        pwr_off_ctrl {
            compatible = "allwinner,pwr_off_ctrl";
            status = "okay";
        };
        battery {
            compatible = "allwinner,LRADC_battery";
            reg = <0x00000000 0x01c23400 0x00000000 0x00000400>;
            interrupts = <0x00000016>;
            status = "okay";
        };
        wirelesskey@0 {
            compatible = "allwinner,wireless-key";
            gpio-key = <0x00000024 0x00000004 0x00000003 0x00000000 0x00000006 0x00000001 0x00000001>;
            debounce = <0x00000000>;
            status = "disabled";
        };
        tp_key@0x01c24800 {
            compatible = "allwinner,tp_key";
            reg = <0x00000000 0x01c24800 0x00000000 0x000000f0>;
            interrupts = <0x00000014>;
            key_cnt = <0x0000000a>;
            key1 = <0x00000118 0x00000073>;
            key2 = <0x00000230 0x00000072>;
            key3 = <0x00000366 0x00000077>;
            key4 = <0x0000048f 0x0000001c>;
            key5 = <0x000005b4 0x00000175>;
            key6 = <0x000006cd 0x00000066>;
            key7 = <0x0000082f 0x00000000>;
            key8 = <0x0000095f 0x00000000>;
            key9 = <0x00000a78 0x00000000>;
            key10 = <0x00000b87 0x00000000>;
            status = "okay";
        };
        product {
            device_type = "product";
            version = "100";
            machine = "evb";
        };
        platform {
            device_type = "platform";
            eraseflag = <0x00000001>;
            debug_mode = <0x00000001>;
        };
        target {
            device_type = "target";
            boot_clock = <0x00000198>;
            storage_type = <0x00000005>;
            burn_key = <0x00000001>;
        };
        norflash {
            device_type = "norflash";
            size = <0x00000010>;
        };
        power_sply {
            device_type = "power_sply";
            dcdc1_vol = <0x00000bb8>;
            dcdc2_vol = <0x000004b0>;
            dcdc3_vol = <0x000004b0>;
            dcdc4_vol = <0x000004b0>;
            dcdc5_vol = <0x000005dc>;
            aldo2_vol = <0x00000708>;
            aldo3_vol = <0x00000bb8>;
        };
        pwr_ctrl {
            device_type = "pwr_ctrl";
            pwroff_gpio_is_irq = <0x00000000>;
        };
        card_boot {
            device_type = "card_boot";
            logical_start = <0x0000a000>;
            sprite_gpio0;
        };
        pm_para {
            device_type = "pm_para";
            standby_mode = <0x00000001>;
        };
        card0_boot_para {
            device_type = "card0_boot_para";
            card_ctrl = <0x00000000>;
            card_high_speed = <0x00000001>;
            card_line = <0x00000004>;
            pinctrl-0 = <0x00000051>;
        };
        card2_boot_para {
            device_type = "card2_boot_para";
            card_ctrl = <0x00000002>;
            card_high_speed = <0x00000001>;
            card_line = <0x00000008>;
            pinctrl-0 = <0x00000052>;
        };
        card1_boot_para {
            device_type = "card1_boot_para";
            card_ctrl = <0x00000001>;
            card_high_speed = <0x00000001>;
            card_line = <0x00000001>;
            pinctrl-0 = <0x00000053>;
        };
        twi_para {
            device_type = "twi_para";
            twi_port = <0x00000000>;
            pinctrl-0 = <0x00000054>;
        };
        uart_para {
            device_type = "uart_para";
            uart_debug_port = <0x00000001>;
            pinctrl-0 = <0x00000055>;
        };
        jtag_para {
            device_type = "jtag_para";
            jtag_enable = <0x00000000>;
            pinctrl-0 = <0x00000056>;
        };
        dram {
            device_type = "dram";
            dram_clk = <0x000001e0>;
            dram_type = <0x00000003>;
            dram_zq = <0x000077bb>;
            dram_odt_en = <0x00000001>;
            dram_para1 = <0x004319f4>;
            dram_para2 = <0x00000005>;
            dram_mr0 = <0x00000620>;
            dram_mr1 = <0x00000000>;
            dram_mr2 = <0x00000008>;
            dram_mr3 = <0x00000000>;
            dram_tpr0 = <0x06141b10>;
            dram_tpr1 = <0x00040416>;
            dram_tpr2 = <0x03030306>;
            dram_tpr3 = <0x00002006>;
            dram_tpr4 = <0x05040405>;
            dram_tpr5 = <0x05050302>;
            dram_tpr6 = <0x90006644>;
            dram_tpr7 = <0x42c21590>;
            dram_tpr8 = <0xd05612c0>;
            dram_tpr9 = <0x00083def>;
            dram_tpr10 = <0x18082356>;
            dram_tpr11 = <0x32034156>;
            dram_tpr12 = <0x00000000>;
            dram_tpr13 = <0x00000000>;
        };
        rtp_para {
            device_type = "rtp_para";
            rtp_used = <0x00000000>;
            rtp_screen_size = <0x00000005>;
            rtp_regidity_level = <0x00000005>;
            rtp_press_threshold_enable = <0x00000000>;
            rtp_press_threshold = <0x00001f40>;
            rtp_sensitive_level = <0x0000000f>;
            rtp_exchange_x_y_flag = <0x00000000>;
        };
        ctp {
            device_type = "ctp";
            status = "okay";
            ctp_twi_id = <0x00000000>;
            ctp_twi_addr = <0x00000048>;
            ctp_screen_max_x = <0x00000320>;
            ctp_screen_max_y = <0x000001e0>;
            ctp_revert_x_flag = <0x00000001>;
            ctp_revert_y_flag = <0x00000001>;
            ctp_exchange_x_y_flag = <0x00000001>;
        };
        tkey_para {
            device_type = "tkey_para";
            tkey_used = <0x00000000>;
            tkey_twi_id;
            tkey_twi_addr;
            tkey_int;
        };
        motor_para {
            device_type = "motor_para";
            motor_used = <0x00000000>;
        };
        nand0 {
            device_type = "nand0";
            nand0_support_2ch = <0x00000000>;
            status = "disabled";
            pinctrl-0 = <0x00000060 0x00000061>;
            nand0_regulator1 = "vcc-nand";
            nand0_regulator2 = "none";
            nand0_cache_level = <0x55aaaa55>;
            nand0_flush_cache_num = <0x55aaaa55>;
            nand0_capacity_level = <0x55aaaa55>;
            nand0_id_number_ctl = <0x55aaaa55>;
            nand0_print_level = <0x55aaaa55>;
            nand0_p0 = <0x55aaaa55>;
            nand0_p1 = <0x55aaaa55>;
            nand0_p2 = <0x55aaaa55>;
            nand0_p3 = <0x55aaaa55>;
        };
        pwm0_para {
            device_type = "pwm0_para";
            pwm_used = <0x00000000>;
        };
        pwm1_para {
            device_type = "pwm1_para";
            pwm_used = <0x00000000>;
        };
        vip0 {
            device_type = "vip0";
            status = "disabled";
            vip0_mname = "gc0308";
            vip0_twi_addr = <0x00000042>;
            vip0_twi_id = <0x00000000>;
            vip0_isp_used = <0x00000000>;
            vip0_fmt = <0x00000000>;
            vip0_stby_mode = <0x00000000>;
            vip0_vflip = <0x00000000>;
            vip0_hflip = <0x00000000>;
            vip0_iovdd;
            vip0_iovdd_vol = <0x002ab980>;
            vip0_avdd;
            vip0_avdd_vol = <0x002ab980>;
            vip0_dvdd;
            vip0_dvdd_vol = <0x0016e360>;
            vip0_afvdd;
            vip0_afvdd_vol = <0x002ab980>;
            vip0_power_en;
            vip0_reset = <0x000007fc>;
            vip0_pwdn;
            vip0_flash_en;
            vip0_flash_mode;
            vip0_af_pwdn;
        };
        tvout_para {
            device_type = "tvout_para";
            tvout_used;
            tvout_channel_num;
            tv_en;
        };
        tvin_para {
            device_type = "tvin_para";
            tvin_used;
            tvin_channel_num;
        };
        di {
            device_type = "di";
            status = "disabled";
        };
        smc {
            device_type = "smc";
            smc_used;
            smc_rst;
            smc_vppen;
            smc_vppp;
            smc_det;
            smc_vccen;
            smc_sck;
            smc_sda;
        };
        gsensor_para {
            device_type = "gsensor_para";
            gsensor_used = <0x00000000>;
            gsensor_twi_id = <0x00000002>;
            gsensor_twi_addr = <0x00000018>;
            gsensor_int1 = <0x00000024 0x00000000 0x00000009 0x00000006 0x00000001 0xffffffff 0xffffffff>;
            gsensor_int2;
        };
        gps_para {
            device_type = "gps_para";
        };
        gy_para {
            device_type = "gy_para";
            gy_used = <0x00000000>;
            gy_twi_id = <0x00000002>;
            gy_twi_addr = <0x0000006a>;
            gy_int1 = <0x00000024 0x00000000 0x0000000a 0x00000006 0x00000001 0xffffffff 0xffffffff>;
            gy_int2;
        };
        ls_para {
            device_type = "ls_para";
            ls_used = <0x00000000>;
            ls_twi_id = <0x00000002>;
            ls_twi_addr = <0x00000023>;
            ls_int = <0x00000024 0x00000000 0x0000000c 0x00000006 0x00000001 0xffffffff 0xffffffff>;
        };
        compass_para {
            device_type = "compass_para";
            compass_used = <0x00000000>;
            compass_twi_id = <0x00000002>;
            compass_twi_addr = <0x0000000d>;
            compass_int = <0x00000024 0x00000000 0x0000000b 0x00000006 0x00000001 0xffffffff 0xffffffff>;
        };
        bt_para {
            device_type = "bt_para";
            bt_used;
            bt_uart_id;
            bt_wakeup;
            bt_gpio;
            bt_rst;
        };
        audiospdif {
            device_type = "audiospdif";
            status = "disabled";
        };
        spdif_machine {
            device_type = "spdif_machine";
            status = "disabled";
        };
        audiohdmi {
            device_type = "audiohdmi";
            status = "disabled";
        };
        hdmi_machine {
            device_type = "hdmi_machine";
            status = "disabled";
        };
        pmu0 {
            device_type = "pmu0";
            status = "disabled";
            pmu_id = <0x00000006>;
            pmu_twi_addr = <0x00000034>;
            pmu_twi_id = <0x00000001>;
            pmu_irq_id = <0x00000000>;
            pmu_chg_ic_temp = <0x00000000>;
            pmu_battery_rdc = <0x00000064>;
            pmu_battery_cap = <0x00000000>;
            pmu_runtime_chgcur = <0x000001c2>;
            pmu_suspend_chgcur = <0x000005dc>;
            pmu_shutdown_chgcur = <0x000005dc>;
            pmu_init_chgvol = <0x00001068>;
            pmu_ac_vol = <0x00000fa0>;
            pmu_ac_cur = <0x00000000>;
            pmu_usbpc_vol = <0x00001130>;
            pmu_usbpc_cur = <0x000001f4>;
            pmu_battery_warning_level1 = <0x0000000f>;
            pmu_battery_warning_level2 = <0x00000000>;
            pmu_chgled_func = <0x00000000>;
            pmu_chgled_type = <0x00000000>;
            pmu_bat_para1 = <0x00000000>;
            pmu_bat_para2 = <0x00000000>;
            pmu_bat_para3 = <0x00000000>;
            pmu_bat_para4 = <0x00000000>;
            pmu_bat_para5 = <0x00000000>;
            pmu_bat_para6 = <0x00000000>;
            pmu_bat_para7 = <0x00000000>;
            pmu_bat_para8 = <0x00000000>;
            pmu_bat_para9 = <0x00000005>;
            pmu_bat_para10 = <0x00000008>;
            pmu_bat_para11 = <0x00000009>;
            pmu_bat_para12 = <0x0000000a>;
            pmu_bat_para13 = <0x0000000d>;
            pmu_bat_para14 = <0x00000010>;
            pmu_bat_para15 = <0x00000014>;
            pmu_bat_para16 = <0x00000021>;
            pmu_bat_para17 = <0x00000029>;
            pmu_bat_para18 = <0x0000002e>;
            pmu_bat_para19 = <0x00000032>;
            pmu_bat_para20 = <0x00000035>;
            pmu_bat_para21 = <0x00000039>;
            pmu_bat_para22 = <0x0000003d>;
            pmu_bat_para23 = <0x00000043>;
            pmu_bat_para24 = <0x00000049>;
            pmu_bat_para25 = <0x0000004e>;
            pmu_bat_para26 = <0x00000054>;
            pmu_bat_para27 = <0x00000058>;
            pmu_bat_para28 = <0x0000005c>;
            pmu_bat_para29 = <0x0000005d>;
            pmu_bat_para30 = <0x0000005e>;
            pmu_bat_para31 = <0x0000005f>;
            pmu_bat_para32 = <0x00000064>;
            pmu_bat_temp_enable = <0x00000000>;
            pmu_bat_charge_ltf = <0x000008d5>;
            pmu_bat_charge_htf = <0x00000184>;
            pmu_bat_shutdown_ltf = <0x00000c80>;
            pmu_bat_shutdown_htf = <0x000000ed>;
            pmu_bat_temp_para1 = <0x00001d2a>;
            pmu_bat_temp_para2 = <0x00001180>;
            pmu_bat_temp_para3 = <0x00000dbe>;
            pmu_bat_temp_para4 = <0x00000ae2>;
            pmu_bat_temp_para5 = <0x000008af>;
            pmu_bat_temp_para6 = <0x000006fc>;
            pmu_bat_temp_para7 = <0x000005a8>;
            pmu_bat_temp_para8 = <0x000003c9>;
            pmu_bat_temp_para9 = <0x00000298>;
            pmu_bat_temp_para10 = <0x000001d2>;
            pmu_bat_temp_para11 = <0x00000189>;
            pmu_bat_temp_para12 = <0x0000014d>;
            pmu_bat_temp_para13 = <0x0000011b>;
            pmu_bat_temp_para14 = <0x000000f2>;
            pmu_bat_temp_para15 = <0x000000b3>;
            pmu_bat_temp_para16 = <0x00000086>;
            pmu_powkey_off_time = <0x00001770>;
            pmu_powkey_off_func = <0x00000000>;
            pmu_powkey_off_en = <0x00000001>;
            pmu_powkey_long_time = <0x000005dc>;
            pmu_powkey_on_time = <0x000003e8>;
        };
        pmu0_regu {
            device_type = "pmu0_regu";
            regulator_count = <0x00000017>;
            regulator1 = "axp28_rtc";
            regulator2 = "axp28_aldo1";
            regulator3 = "axp28_aldo2";
            regulator4 = "axp28_aldo3";
            regulator5 = "axp28_dldo1";
            regulator6 = "axp28_dldo2";
            regulator7 = "axp28_dldo3";
            regulator8 = "axp28_dldo4";
            regulator9 = "axp28_eldo1";
            regulator0 = "axp28_eldo2";
            regulator11 = "axp28_eldo3";
            regulator12 = "axp28_fldo1";
            regulator13 = "axp28_fldo2";
            regulator14 = "axp28_dcdc1";
            regulator15 = "axp28_dcdc2";
            regulator16 = "axp28_dcdc3";
            regulator17 = "axp28_dcdc4";
            regulator18 = "axp28_dcdc5";
            regulator19 = "axp28_dcdc6";
            regulator20 = "axp28_dcdc7";
            regulator21 = "axp28_gpio0ldo";
            regulator22 = "axp28_gpio1ldo";
        };
        dvfs_table {
            device_type = "dvfs_table";
            max_freq = <0x47868c00>;
            min_freq = <0x1c9c3800>;
            LV_count = <0x00000008>;
            LV1_freq = <0x5b8d8000>;
            LV1_volt = <0x000005dc>;
            LV2_freq = <0x501bd000>;
            LV2_volt = <0x000005b4>;
            LV3_freq = <0x47868c00>;
            LV3_volt = <0x00000528>;
            LV4_freq = <0x3c14dc00>;
            LV4_volt = <0x000004b0>;
            LV5_freq = <0x30a32c00>;
            LV5_volt = <0x0000044c>;
            LV6_freq = <0x269fb200>;
            LV6_volt = <0x00000410>;
            LV7_freq = <0x00000000>;
            LV7_volt = <0x00000410>;
            LV8_freq = <0x00000000>;
            LV8_volt = <0x00000410>;
        };
        fel_key {
            device_type = "fel_key";
            keyen_flag = <0x00000000>;
            fel_key_max = <0x000001aa>;
            fel_key_min = <0x00000100>;
        };
        partitions {
            device_type = "partitions";
            bootlogo {
                device_type = "bootlogo";
                offset = <0x00002000>;
                size = <0x00000400>;
            };
            env {
                device_type = "env";
                offset = <0x00002400>;
                size = <0x00000200>;
            };
            boot {
                device_type = "boot";
                offset = <0x00002600>;
                size = <0x00003000>;
            };
            rootfs {
                device_type = "rootfs";
                offset = <0x00005600>;
                size = <0x00007800>;
            };
            rootfs_data {
                device_type = "rootfs_data";
                offset = <0x0000ce00>;
                size = <0x00007800>;
            };
            recovery {
                device_type = "recovery";
                offset = <0x00014600>;
                size = <0x00004000>;
            };
            misc {
                device_type = "misc";
                offset = <0x00018600>;
                size = <0x00000200>;
            };
            private {
                device_type = "private";
                offset = <0x00018800>;
                size = <0x00000200>;
            };
            UDISK {
                device_type = "UDISK";
                offset = <0x00018a00>;
                size = <0x00000000>;
            };
        };
    };
    aliases {
        serial0 = "/soc/uart@01c25000", "/soc/uart@01c25000";
        serial1 = "/soc/uart@01c25400", "/soc/uart@01c25400";
        serial2 = "/soc/uart@01c25800", "/soc/uart@01c25800";
        twi0 = "/soc/twi@0x01c27000", "/soc/twi@0x01c27000";
        twi1 = "/soc/twi@0x01c27400", "/soc/twi@0x01c27400";
        twi2 = "/soc/twi@0x01c27800", "/soc/twi@0x01c27800";
        spi0 = "/soc/spi@01c05000", "/soc/spi@01c05000";
        spinand = "/soc/spinand@01c05000", "/soc/spinand@01c05000";
        spi1 = "/soc/spi@01c06000", "/soc/spi@01c06000";
        mmc0 = "/soc/sdmmc@01c0f000", "/soc/sdmmc@01c0f000";
        mmc1 = "/soc/sdmmc@01c10000", "/soc/sdmmc@01c10000";
        global_timer0 = "/soc/timer@1c20c00", "/soc/timer@1c20c00";
        csi_res0 = "/soc/csi_res@0x01cb0000", "/soc/csi_res@0x01cb0000";
        vfe0 = "/soc/vfe@0", "/soc/vfe@0";
        disp = "/soc/disp@0x01e00000", "/soc/disp@0x01e00000";
        lcd0 = "/soc/lcd0@01c0c000", "/soc/lcd0@01c0c000";
        tvd = "/soc/tvd0@01c0b000", "/soc/tvd0@01c0b000";
        pwm = "/soc/pwm@01c21000", "/soc/pwm@01c21000";
        pwm0 = "/soc/pwm0@01c21000", "/soc/pwm0@01c21000";
        pwm1 = "/soc/pwm1@01c21000", "/soc/pwm1@01c21000";
    };
    chosen {
        bootargs = "earlyprintk=sunxi-uart,0x01c25000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init";
        linux,initrd-start = <0x00000000 0x00000000>;
        linux,initrd-end = <0x00000000 0x00000000>;
    };
    cpus {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        cpu@0 {
            device_type = "cpu";
            compatible = "arm,arm926ejs";
            reg = <0x00000000>;
        };
    };
    sram_ctrl {
        device_type = "sram_ctrl";
        compatible = "allwinner,sram_ctrl";
        reg = <0x00000000 0x01c00000 0x00000000 0x00000100>;
    };
    ion {
        compatible = "allwinner,sunxi-ion";
        system {
            type = <0x00000000>;
        };
        cma {
            type = <0x00000004>;
        };
        system_contig {
            type = <0x00000001>;
        };
    };
    memory@80000000 {
        device_type = "memory";
        reg = <0x00000000 0x80000000 0x00000000 0x02000000>;
    };
    interrupt-controller@01c20400 {
        compatible = "allwinner,sun3i-intc";
        #interrupt-cells = <0x00000001>;
        #address-cells = <0x00000000>;
        device_type = "intc";
        interrupt-controller;
        reg = <0x00000000 0x01c20400 0x00000000 0x00001000>;
        linux,phandle = <0x00000001>;
        phandle = <0x00000001>;
    };
    watchdog@01c20ca0 {
        compatible = "allwinner,sun3i-wdt";
        reg = <0x00000000 0x01c20ca0 0x00000000 0x00000018>;
    };
};

离线

#47 2024-09-26 01:01:51

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 439

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

补充一些有用的信息:
1,供电12V
2,调试串口uart1
3,ssd2828使用spi1来初始化
4,一些gpio

GPIOs 0-191, platform/pio, pio:
 gpio-1   (lcd_reset           ) out hi
 gpio-130 (wlan_regon          ) out hi
 gpio-131 (wlan_hostwake       ) in  lo
 gpio-133 (?                   ) out hi
platform/1c21000.pwm, 2 PWM devices
 pwm-0   (lcd                 ): requested enabled
 pwm-1   ((null)              ):

5,分区表

-total partitions:9-
-name-        -start-       -size-      
bootlogo    : 400000        80000       
env         : 480000        40000       
boot        : 4c0000        600000      
rootfs      : ac0000        f00000      
rootfs_data : 19c0000       f00000      
recovery    : 28c0000       800000      
misc        : 30c0000       40000       
private     : 3100000       40000       
UDISK       : 3140000       0           

6,LCD屏参,只跑38帧,估计怕性能不够吧

[    0.223950] ***
[    0.223961] *** Interface:
[    0.223972] *** Parallel HV Panel
[    0.223983] *** Lcd Frm to RGB666
[    0.223992] ***
[    0.224002] *** Timing:
[    0.224013] *** lcd_x:      800
[    0.224025] *** lcd_y:      1280
[    0.224036] *** lcd_ht:     1220
[    0.224047] *** lcd_hbp:    70
[    0.224058] *** lcd_vt:     1315
[    0.224069] *** lcd_vbp:    22
[    0.224081] *** lcd_hspw:   20
[    0.224092] *** lcd_vspw:   6
[    0.224103] *** lcd_frame_frq:  38Hz
[    0.224112] ***
[    0.224125] *** WRN03: Recommend "lcd_dclk_frq = 96"
[    0.224135] ***
[    0.224145] *** LCD Panel Parameter Check End

7.内核入口点0x80008000
8,设备树内存地址0x81000000
9,sd2828 RGB转MIPI初始化代码,可以从内核里逆向,或者直接上逻辑分析仪

[    2.944530] ssd2828 spi1.0: ssd2828_probe
[    2.949253] ssd2828 spi1.0: reg_value = 0x2828
[    2.954267] ssd2828 spi1.0: ssd2828_init START
[    3.312945] ssd2828 spi1.0: ssd2828_init SUCCESS!

10, pinctrl-maps

Pinctrl maps:
device twi0
state default
type MUX_GROUP (2)
controlling device pio
group PD12
function twi0

device twi0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PD12
config 00000000
config 00000000
config 00000000

device twi0
state default
type MUX_GROUP (2)
controlling device pio
group PD0
function twi0

device twi0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PD0
config 00000000
config 00000000
config 00000000

device twi0
state sleep
type MUX_GROUP (2)
controlling device pio
group PD12
function io_disabled

device twi0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PD12
config 00140009
config 00000005

device twi0
state sleep
type MUX_GROUP (2)
controlling device pio
group PD0
function io_disabled

device twi0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PD0
config 00140009
config 00000005

device uart1
state default
type MUX_GROUP (2)
controlling device pio
group PA2
function uart1

device uart1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PA2
config 00000003
config 00000000
config 00000000

device uart1
state default
type MUX_GROUP (2)
controlling device pio
group PA3
function uart1

device uart1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PA3
config 00000003
config 00000000
config 00000000

device uart1
state sleep
type MUX_GROUP (2)
controlling device pio
group PA3
function io_disabled

device uart1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PA3
config 00140009
config 00000003

device uart1
state sleep
type MUX_GROUP (2)
controlling device pio
group PA2
function io_disabled

device uart1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PA2
config 00140009
config 00000003

device spinand
state default
type MUX_GROUP (2)
controlling device pio
group PC1
function spi0

device spinand
state default
type CONFIGS_GROUP (4)
controlling device pio
group PC1
config 00000003
config 00000000
config 00000000

device spinand
state default
type MUX_GROUP (2)
controlling device pio
group PC0
function spi0

device spinand
state default
type CONFIGS_GROUP (4)
controlling device pio
group PC0
config 00000000
config 00000000
config 00000000

device spinand
state default
type MUX_GROUP (2)
controlling device pio
group PC3
function spi0

device spinand
state default
type CONFIGS_GROUP (4)
controlling device pio
group PC3
config 00000000
config 00000000
config 00000000

device spinand
state default
type MUX_GROUP (2)
controlling device pio
group PC2
function spi0

device spinand
state default
type CONFIGS_GROUP (4)
controlling device pio
group PC2
config 00000000
config 00000000
config 00000000

device spinand
state sleep
type MUX_GROUP (2)
controlling device pio
group PC0
function io_disabled

device spinand
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PC0
config 00140009
config 00000005

device spinand
state sleep
type MUX_GROUP (2)
controlling device pio
group PC1
function io_disabled

device spinand
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PC1
config 00140009
config 00000005

device spinand
state sleep
type MUX_GROUP (2)
controlling device pio
group PC2
function io_disabled

device spinand
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PC2
config 00140009
config 00000005

device spinand
state sleep
type MUX_GROUP (2)
controlling device pio
group PC3
function io_disabled

device spinand
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PC3
config 00140009
config 00000005

device spi1
state default
type MUX_GROUP (2)
controlling device pio
group PE7
function spi1

device spi1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PE7
config 00000003
config 00000000
config 00000000

device spi1
state default
type MUX_GROUP (2)
controlling device pio
group PE9
function spi1

device spi1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PE9
config 00000000
config 00000000
config 00000000

device spi1
state default
type MUX_GROUP (2)
controlling device pio
group PE8
function spi1

device spi1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PE8
config 00000000
config 00000000
config 00000000

device spi1
state default
type MUX_GROUP (2)
controlling device pio
group PE10
function spi1

device spi1
state default
type CONFIGS_GROUP (4)
controlling device pio
group PE10
config 00000000
config 00000000
config 00000000

device spi1
state sleep
type MUX_GROUP (2)
controlling device pio
group PE7
function io_disabled

device spi1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PE7
config 00140009
config 00000005

device spi1
state sleep
type MUX_GROUP (2)
controlling device pio
group PE8
function io_disabled

device spi1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PE8
config 00140009
config 00000005

device spi1
state sleep
type MUX_GROUP (2)
controlling device pio
group PE9
function io_disabled

device spi1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PE9
config 00140009
config 00000005

device spi1
state sleep
type MUX_GROUP (2)
controlling device pio
group PE10
function io_disabled

device spi1
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PE10
config 00140009
config 00000005

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF0
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF0
config 00280009
config 00000003
config 00000000

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF1
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF1
config 00280009
config 00000003
config 00000000

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF2
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF2
config 00280009
config 00000003
config 00000000

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF3
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF3
config 00280009
config 00000003
config 00000000

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF4
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF4
config 00280009
config 00000003
config 00000000

device sdc0
state default
type MUX_GROUP (2)
controlling device pio
group PF5
function sdc0

device sdc0
state default
type CONFIGS_GROUP (4)
controlling device pio
group PF5
config 00280009
config 00000003
config 00000000

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF0
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF0
config 00140009
config 00000003

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF1
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF1
config 00140009
config 00000003

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF2
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF2
config 00140009
config 00000003

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF3
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF3
config 00140009
config 00000003

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF4
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF4
config 00140009
config 00000003

device sdc0
state sleep
type MUX_GROUP (2)
controlling device pio
group PF5
function io_disabled

device sdc0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PF5
config 00140009
config 00000003

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD1
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD1
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD2
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD2
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD3
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD3
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD4
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD4
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD5
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD5
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD6
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD6
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD7
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD7
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD8
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD8
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD9
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD9
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD10
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD10
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD11
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD11
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD13
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD13
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD14
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD14
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD15
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD15
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD16
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD16
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD17
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD17
config 00000005
config 00000000
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD18
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD18
config 00280009
config 00000005
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD19
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD19
config 00280009
config 00000005
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD20
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD20
config 00280009
config 00000005
config 00000000

device lcd0
state active
type MUX_GROUP (2)
controlling device pio
group PD21
function lcd0

device lcd0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PD21
config 00280009
config 00000005
config 00000000

device pwm0.0
state active
type MUX_GROUP (2)
controlling device pio
group PE12
function pwm0

device pwm0.0
state active
type CONFIGS_GROUP (4)
controlling device pio
group PE12
config 00140009
config 00000005

device pwm0.0
state sleep
type MUX_GROUP (2)
controlling device pio
group PE12
function io_disabled

device pwm0.0
state sleep
type CONFIGS_GROUP (4)
controlling device pio
group PE12
config 00140009
config 00000005

离线

#48 2024-09-26 01:08:17

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 439

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

11, SPI NAND Flash 128MB

xfel spinand
Found spi nand flash 'MX35LF1GE4AB' with 134217728 bytes

12,上传一个dump固件,从0地址dump到0x03140000,后面UDISK分区没必要dump了。
blozi_0x0_0x3140000.7z

花了几个小时的初步研究成果,先贴出来,期待大家再接再厉!

最近编辑记录 xboot (2024-09-26 01:08:35)

离线

#49 2024-09-26 10:44:33

lanlanzhilian
会员
注册时间: 2021-12-21
已发帖子: 121
积分: 56

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

RGB转MIPI初始化,我手写了一个竟然花屏,不太懂

离线

#50 2024-09-26 12:38:47

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

_20240926084749.jpg
根据拆解的图片看到,板子没有过多的外设可以玩
硬件信息:
CPU:F1C200S
FLASH:1Gbit SPI NAND
LCD:1280X800 默认竖屏
WIFI:XR819
供电:供电为12V,通过USB接口供电,因此接到电脑上或者充电器时5V供电不太稳,会闪烁或者重启或者根本启动不了,解决方法是电源单独供。

由于并无太多外设需要驱动,本来的系统已经能使用对应的外设,所以不太需要拆开外壳只是改动下系统里面的一些程序达到满足自己需求的目的。
所以个人魔改的思路如下:
1、干掉原来的应用
通过查看正在运行的进程,能很容易的知道自带的应用程序进程是 bloziplayer
通过分析系统的自启动脚本等文件,发现应用是在login的时候,在/etc/profile里面启动的,信息如下:
[ -n "$FAILSAFE" ] || {
        for FILE in /etc/profile.d/*.sh; do
                [ -e "$FILE" ] && . "$FILE"
        done
        unset FILE
}
脚本最终启动了 /etc/profile.d/bloziplayer.sh
因此,根据自己的需求修改对应的脚本可以启动自己的应用,或者直接将/usr/bin/bloziplayer替换为自己的应用
PS:由于上面这个脚本会在每次login的时候调用,因此在杀掉应用后,如果通过按adb/telnet等方式进入shell会启动应用,因此这部分根据自己需求更改。

2、补齐系统内缺失的组件

【交叉编译busybox】
busybox下载链接:https://busybox.net/downloads/
编译方法:
(1)根据需求下载对应版本,解压,进入目录。如:tar -xvf busybox-1.36.1.tar.bz2
(2)make menuconfig 按需求配置开启或关闭对应组件
(3)make ARCH=arm CROSS_COMPILE=你的工具链目录/arm-openwrt-linux- -jx(x是CPU核心,加快编译速度)
(4)make install(完成后,可执行文件和对应命令的链接都在_install目录下)
(5)可以只把 _install/bin/busybox 拷贝(adb push)到板子上,chmod +x添加执行权限后,运行一下看看是否正常运行。运行交叉编译后的busybox,如(/mnt/UDISK/busybox ls)
(6)把_install里面的内容都打包,然后复制到根目录,解压覆盖以前的busybox和命令链接
我编译好的busybox:busybox v1.36.1.tar.gz

【telnetd】
每次通过连接USB来操作屏不方便,所以建议开启telnetd来实现远程登陆
可以交叉编译mini_telnetd或者重新交叉编译busybox开启需要的功能来实现【建议后者,因为可以同时实现需要的其它功能】
开启了telnetd后,可以在/etc/init.d/rc.final 最后添加 telnetd & 来开机自动启动服务

【wget/curl】
系统默认只有wget,且不支持https,可以在交叉编译busybox的时候,重新配置下wget,使其支持https。
curl交叉编译自行百度,所有的交叉编译都大同小异,curl支持https需要依赖openssl库

使用wget可以从网上获取图片,比如bing的每日壁纸 https://s.cn.bing.net/HPImageArchive.aspx?format=js&idx=0&n=1
wget "https://s.cn.bing.net//th?id=OHR.LittleToucanet_ZH-CN2910262009_1920x1080.jpg" -O bing.jpg
fbviewer /mnt/UDISK/bing.jpg

【ntpd】
获取网络时间
创建ntp配置 vim /etc/ntp.conf 增加内容 server cn.ntp.org.cn iburst
添加开机启动 vim /etc/init.d/rc.final 最后添加 ntpd -q &

【其它需要的内容自行在busybox开启】

3、交叉编译自己的应用
交叉编译工具链如下:
toolchain.tar.gz
Linux的LVGL如下:
https://github.com/lvgl/lv_port_linux
设置CMakeLists.txt里面的编译器路径:SET(CMAKE_C_COMPILER "你解压的路径/toolchain/bin/arm-openwrt-linux-gcc")

如果上面的附件下载要积分,可以加我QQ 137333287发你

最近编辑记录 18578292200 (2024-09-26 22:05:38)

离线

#51 2024-09-26 12:49:37

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

JiangLin 说:
18578292200 说:
liangrushui 说:

@18578292200
请问这个应用时自带的还是你编写然后下载进去的?

是自己写的,我放了下载链接

能看一下我的问题吗?连接wifi的问题,在楼上。

ps 看看是否有多个 wpa_supplicant启动

我之前这边有2个进程:
  153 root      1484 S    wpa_supplicant -iwlan0 -Dnl80211 -c/etc/wifi/wpa_sup
  160 root      1484 S    wpa_supplicant -Dnl80211 -i wlan0 -c /etc/wpa_suppli
如果有2个的话,修改下 /etc/init.d/rc.final
屏蔽这行: wpa_supplicant  -Dnl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
然后重启一下

手动连接wifi 还可以用这个命令:
wifi_connect_ap_test ssid password

离线

#52 2024-09-30 15:25:43

JiangLin
会员
注册时间: 2023-05-30
已发帖子: 19
积分: 129

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@18578292200
我擦,这样确实可以连接wifi了,但我修改好之后无法开机了。
一直停在blozi的logo上,一开始怀疑usb口供电不行。
但是插在充电头上都不行,一样。。。

离线

#53 2024-10-01 19:08:27

motoedy
会员
注册时间: 2018-05-16
已发帖子: 13
积分: 48

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

上传一个逻辑分析仪抓的SPI初始化数据,金沙滩逻辑分析仪软件可以打开。
ssd2828.rar

数据如下,24bit,三线SPI:

/*CS 28.345us*/
/*CLK 25MHz*/


write_hw_register(0x70,0x00,0xB0);
read_hw_register(0x73,0x00,0x00);//返回0x28,0x28

delay_us(10000);//10ms

write_hw_register(0x70,0x00,0xB1);
write_hw_register(0x72,0x06,0x14);

write_hw_register(0x70,0x00,0xB2);
write_hw_register(0x72,0x16,0x46);

write_hw_register(0x70,0x00,0xB3);
write_hw_register(0x72,0x10,0x46);

write_hw_register(0x70,0x00,0xB4);
write_hw_register(0x72,0x03,0x20);

write_hw_register(0x70,0x00,0xB5);
write_hw_register(0x72,0x05,0x00);

write_hw_register(0x70,0x00,0xB6);
write_hw_register(0x72,0xA0,0x09);

write_hw_register(0x70,0x00,0xDB);
write_hw_register(0x72,0x00,0x98);

write_hw_register(0x70,0x00,0xDE);
write_hw_register(0x72,0x00,0x03);

write_hw_register(0x70,0x00,0xB7);
write_hw_register(0x72,0x03,0x02);

write_hw_register(0x70,0x00,0xBA);
write_hw_register(0x72,0xC4,0x5E);

write_hw_register(0x70,0x00,0xB8);
write_hw_register(0x72,0x00,0x00);

write_hw_register(0x70,0x00,0xBB);
write_hw_register(0x72,0x00,0x07);

write_hw_register(0x70,0x00,0xB9);
write_hw_register(0x72,0x00,0x01);

delay_us(500);//500us

write_hw_register(0x70,0x00,0xBC);
write_hw_register(0x72,0x00,0x01);

write_hw_register(0x70,0x00,0xBF);
write_hw_register(0x72,0x00,0x11);

delay_us(150000);//150ms
write_hw_register(0x70,0x00,0xBC);
write_hw_register(0x72,0x00,0x01);

write_hw_register(0x70,0x00,0xBF);
write_hw_register(0x72,0x00,0x29);

delay_us(200000);//200ms
write_hw_register(0x70,0x00,0xB7);
write_hw_register(0x72,0x07,0x02);

write_hw_register(0x70,0x00,0xC0);
write_hw_register(0x72,0x00,0x00);

write_hw_register(0x70,0x00,0xBC);
write_hw_register(0x72,0x00,0x04);

write_hw_register(0x70,0x00,0xBF);
write_hw_register(0x72,0x98,0xFF);
write_hw_register(0x72,0x01,0x81);

write_hw_register(0x70,0x00,0xB7);
write_hw_register(0x72,0x03,0x02);

write_hw_register(0x70,0x00,0xC0);
write_hw_register(0x72,0x00,0x00);

write_hw_register(0x70,0x00,0xBC);
write_hw_register(0x72,0x00,0x02);

write_hw_register(0x70,0x00,0xBF);
write_hw_register(0x72,0x0A,0x22);

delay_us(1000);//1ms

write_hw_register(0x70,0x00,0xB7);
write_hw_register(0x72,0x03,0x0B);

期待有大佬可以裸奔点亮。

离线

#54 2024-10-06 15:02:42

xiaofeizai
会员
注册时间: 2024-10-06
已发帖子: 6
积分: 1

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

运费好贵,要15了,买回来研究一下

离线

#55 2024-10-08 14:38:42

lanlanzhilian
会员
注册时间: 2021-12-21
已发帖子: 121
积分: 56

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

裸机可以点亮,但是没弄明白SSD2828的配置是什么意思fb57471623395bed3eee2ed10ce5bd1.jpg

离线

#57 2024-10-09 08:29:08

jordonwu
会员
注册时间: 2021-07-05
已发帖子: 63
积分: 44

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

lanlanzhilian 说:

裸机可以点亮,但是没弄明白SSD2828的配置是什么意思https://whycan.com/files/members/8049/fb57471623395bed3eee2ed10ce5bd1.jpg

会放出裸机代码吗?

离线

#58 2024-10-09 08:37:48

dykxjh
会员
注册时间: 2020-03-25
已发帖子: 168
积分: 173

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

lanlanzhilian 说:

裸机可以点亮,但是没弄明白SSD2828的配置是什么意思https://whycan.com/files/members/8049/fb57471623395bed3eee2ed10ce5bd1.jpg

是初始化SSD2828芯片的吧。裸机点亮程序可以分享吗,我也玩玩

离线

#59 2024-10-09 10:18:03

lanlanzhilian
会员
注册时间: 2021-12-21
已发帖子: 121
积分: 56

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

jordonwu 说:
lanlanzhilian 说:

裸机可以点亮,但是没弄明白SSD2828的配置是什么意思https://whycan.com/files/members/8049/fb57471623395bed3eee2ed10ce5bd1.jpg

会放出裸机代码吗?

就是楼上分享的逻辑分析仪数据,直接用SPI发送出去就可以了

//LCD 视频显示参数,根据LCD不同更改
#define  SSD2828_WIDTH    ((uint16_t)800)          /* LCD PIXEL WIDTH          1600 */
#define  SSD2828_HEIGHT   ((uint16_t)1280)          /* LCD PIXEL HEIGHT          */

#define  SSD2828_VSYNC    ((uint16_t)6)   /* Vertical synchronization   */
#define  SSD2828_HSYNC    ((uint16_t)20)   /* Horizontal synchronization */

#define  SSD2828_VBP      ((uint16_t)22)    /* Vertical back porch       */
#define  SSD2828_HBP      ((uint16_t)70)   /* Horizontal back porch     */

#define  SSD2828_VFP      ((uint16_t)16)    /* Vertical front porch      */
#define  SSD2828_HFP      ((uint16_t)70)   /* Horizontal front porch     */

	SSD2828_Write_REG(0xB1, (SSD2828_VSYNC<<8)+SSD2828_HSYNC);//(SSD2828_VSYNC<<8)+SSD2828_HSYNC	
	SSD2828_Write_REG(0xB2, (SSD2828_VBP<<8)+SSD2828_HBP);//(SSD2828_VBP<<8)+SSD2828_HBP
	SSD2828_Write_REG(0xB3, (SSD2828_VFP<<8)+SSD2828_HFP);//(SSD2828_VFP<<8)+SSD2828_HFP
	SSD2828_Write_REG(0xB4, SSD2828_WIDTH);//SSD2828_WIDTH
	SSD2828_Write_REG(0xB5, SSD2828_HEIGHT);//SSD2828_HEIGHT
	SSD2828_Write_REG(0xB6, 0xA009);//VS=1,HS=0,PCLK=1 , Bit[1:0]=01=18bpp
	
	SSD2828_Write_REG(0xDB, 0x0098);
	SSD2828_Write_REG(0xDE, 0x0003);//2 Data Lane,11=4LANE 10=3LANE 01=2LANE 00=1LANE
	SSD2828_Write_REG(0xB7, 0x0302);//0x024B选择TX_CLK作为MIPI时钟,0x026B选择RGB的PCLK作为MIPI时钟
	
	SSD2828_Write_REG(0xBA, 0xC45E);//Fout = Fin * 94 / 4 = 10M * 94 / 4 = 800M
	SSD2828_Write_REG(0xB8, 0x0000);//VC(Virtual ChannelID) Control Register
	SSD2828_Write_REG(0xBB, 0x0007);//LP(Low Power) Clock = Fout /10/8 = 10M
	SSD2828_Write_REG(0xB9, 0x0001);//PLL ENABLE

	delay_ms(1);//1ms
	SSD2828_Write_REG(0xBC, 0x0001);
	SSD2828_Write_REG(0xBF, 0x0011);
	delay_ms(150);//150ms
	SSD2828_Write_REG(0xBC, 0x0001);
	SSD2828_Write_REG(0xBF, 0x0029);

	delay_ms(200);//200ms
	SSD2828_Write_REG(0xB7, 0x0702);
	SSD2828_Write_REG(0xC0, 0x0000);
	SSD2828_Write_REG(0xBC, 0x0004);
	SSD2828_Write_REG(0xBF, 0x98FF);
	SSD2828_Write_Data(0x0181);
	SSD2828_Write_REG(0xB7, 0x0302);
	SSD2828_Write_REG(0xC0, 0x0000);
	SSD2828_Write_REG(0xBC, 0x0002);
	SSD2828_Write_REG(0xBF, 0x0A22);

	delay_ms(2);//2ms
	
	SSD2828_BIST_OFF();
	SSD2828_Write_REG(0xB7, 0x026B);//0x026B选择RGB的PCLK作为MIPI时钟

离线

#60 2024-10-09 12:28:29

tango_zhu
会员
注册时间: 2018-04-12
已发帖子: 117
积分: 4

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

SSD2828_Write 这个函数是咋实现的?

离线

#63 2024-10-09 15:25:03

motoedy
会员
注册时间: 2018-05-16
已发帖子: 13
积分: 48

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

tango_zhu 说:

SSD2828_Write 这个函数是咋实现的?

最简单的就是模拟24bit的spi(每次发三个字节)

离线

#64 2024-10-09 16:59:18

ooxx
会员
注册时间: 2024-09-25
已发帖子: 2
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@18578292200

这个可以把Python干进去吗?
看来可玩性不高啊。。。
看了下价格,涨价了。。。
商家哪来的勇气涨价。。。
难道是A股的力量 big_smile

离线

#65 2024-10-09 18:05:24

18578292200
会员
所在地: 珠海
注册时间: 2020-01-17
已发帖子: 16
积分: 32

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

ooxx 说:

@18578292200

这个可以把Python干进去吗?
看来可玩性不高啊。。。
看了下价格,涨价了。。。
商家哪来的勇气涨价。。。
难道是A股的力量 big_smile

当然可以把python干进去,但是似乎没什么作用。打算怎么玩?

离线

#66 2024-10-10 10:00:34

yrl
会员
注册时间: 2022-03-07
已发帖子: 11
积分: 1

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

soso 说:

这个不带触摸,不然就比较完美~~  拿来学习lvgl是够了~

可以了,显示效果也还不错

离线

#67 2024-10-10 11:17:03

dykxjh
会员
注册时间: 2020-03-25
已发帖子: 168
积分: 173

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

@lanlanzhilian
F1C200S的RGB初始化时序参数可以不可以也分享一个

离线

#68 2024-10-10 11:18:46

lidaliang
会员
注册时间: 2024-09-27
已发帖子: 7
积分: 2

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

45元 这价格很香了,不知道现在这个价还能入手不  裸屏要是可以驱动可以驱动,搭配个驱动版做电脑副屏也还不错的

离线

#69 2024-10-10 19:54:23

xiaofeizai
会员
注册时间: 2024-10-06
已发帖子: 6
积分: 1

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

lidaliang 说:

45元 这价格很香了,不知道现在这个价还能入手不  裸屏要是可以驱动可以驱动,搭配个驱动版做电脑副屏也还不错的

48了,邮费15,我买了两块,配上了一点墨水屏,给包邮了

离线

#70 今天 12:53:51

IThaozi
会员
注册时间: 2024-10-11
已发帖子: 1
积分: 1

Re: 45块顺丰包邮买到的10.1寸保资LCD价签F1C200S 值不值

这个有不同批次的屏幕和屏幕驱动,我买到了GM8285C这个lvgs屏幕的。发现还预留了RTC芯片位置和单声道功放位置。感觉还预留有RFID线圈和RGB灯的位置。研究一下应该还是有可玩性的。大家反馈的供电不足应该是5V进来加了一个整流桥造成的,可以把整流桥短路应该就没问题了。大家玩起来

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn