T113上驱动MIPI屏
实验环境:
百问网T113开发板、MIPI屏幕ILI9806E。
1.准备工作
1.获取百问网提供的T113资料,链接:http://download.100ask.org/boards/Allwinner/T113/index.html
2.阅读T113开发手册《嵌入式Linux应用开发完全手册V5.1_T113开发板》,完成配置交叉编译工具链等操作。
3.根据文档的第三篇的第六章获取buildroot源码工程,完成文档相应操作。
2.添加屏驱动
1.uboot添加屏驱动
驱动存放位置:
/home/book/buildroot_100ask_t113-pro/buildroot/output/build/uboot-dabbfb0147a925f4950130f3efe7b7565e84a02c/drivers/video/sunxi/disp2/disp/lcd
2.kernel添加屏驱动
驱动存放位置:
/home/book/buildroot_100ask_t113-pro/buildroot/output/build/linux-origin_master/drivers/video/fbdev/sunxi/disp2/disp/lcd
3.驱动程序
驱动程序名:tft08006.c
3.修改设备树
1.修改uboot设备树
设备树存放地址:
/home/book/buildroot_100ask_t113-pro/buildroot/output/build/uboot-dabbfb0147a925f4950130f3efe7b7565e84a02c/arch/arm/dts/sun8iw20p1-uboot-100ask-t113-pro.dts
2.修改kernel设备树
设备树存放地址:
/home/book/buildroot_100ask_t113-pro/buildroot/output/build/linux-origin_master/arch/arm/boot/dts/sun8iw20p1–100ask-t113-pro.dts
3.LCD设备树
&lcd0 {
lcd_used = <1>;
lcd_driver_name = "ili9806e";
lcd_backlight = <100>;
lcd_if = <4>;
lcd_x = <480>;
lcd_y = <800>;
lcd_width = <52>;
lcd_height = <52>;
lcd_dclk_freq = <25>;
lcd_pwm_used = <1>;
lcd_pwm_ch = <7>;
lcd_pwm_freq = <1000>;
lcd_pwm_pol = <0>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <10>;
lcd_ht = <515>;
lcd_hspw = <5>;
lcd_vbp = <20>;
lcd_vt = <830>;
lcd_vspw = <5>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <2>;
lcd_lvds_if = <0>;
lcd_lvds_colordepth = <0>;
lcd_lvds_mode = <0>;
lcd_frm = <0>;
lcd_hv_clk_phase = <0>;
lcd_hv_sync_polarity= <0>;
lcd_io_phase = <0x0000>;
lcd_dsi_te = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
lcd_fsync_en = <0>;
lcd_fsync_act_time = <1000>;
lcd_fsync_dis_time = <1000>;
lcd_fsync_pol = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_gpio_0 = <&pio PG 13 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
};
4.修改配置
1.修改uboot配置
在/home/book/buildroot_100ask_t113-pro/buildroot目录下,执行
make uboot-menuconfig
进入上述目录
输入Y选中tft08006。保存退出。
2.修改kernel配置
在/home/book/buildroot_100ask_t113-pro/buildroot目录下,执行
make linux-menuconfig
进入上述目录
输入Y选中tft08006。保存退出。
5.编译系统
1.编译sdCard系统固件
在/home/book/buildroot_100ask_t113-pro/buildroot目录下输入
make -j4
重新编译系统,编译后生成系统固件在/home/book/buildroot_100ask_t113-pro/buildroot/output/images目录下的100ask-t113-pro_sdcard.img。
2.将编译好的系统烧录到sd卡中,启动T113开发板。
6.测试屏幕
查看屏幕信息
cat /sys/class/disp/disp/attr/sys
root@TinaLinux:/# cat /sys/class/disp/disp/attr/sys
screen 0:
de_rate 300000000 hz, ref_fps:58
mgr0: 480x800 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[1] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] umap skip max[120]
lcd output backlight(100) fps:58.8 480x 800
err:0 skip:570 irq:67737 vsync:0 vsync_skip:0
BUF enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[ 0] fb[ 480, 800; 480, 800; 480, 800] crop[ 0, 800, 480, 800] frame[ 0, 0, 480, 800] addr[48400000, 0, 0] flags[0x 0] trd[0,0]
depth[ 0] COLOR enable ch[2] lyr[0] z[0] prem[N] a[pixel 0] fmt[ 0] fb[ 0, 0; 0, 0; 0, 0] crop[ 0, 0, 120, 800] frame[ 0, 0, 120, 800] addr[ffff0000, 0, 0] flags[0x 0] trd[0,0]
depth[ 0] COLOR enable ch[2] lyr[1] z[0] prem[N] a[pixel 0] fmt[ 0] fb[ 0, 0; 0, 0; 0, 0] crop[ 120, 0, 120, 800] frame[ 120, 0, 120, 800] addr[ff00ff00, 0, 0] flags[0x 0] trd[0,0]
depth[ 0] COLOR enable ch[2] lyr[2] z[0] prem[N] a[pixel 0] fmt[ 0] fb[ 0, 0; 0, 0; 0, 0] crop[ 240, 0, 120, 800] frame[ 240, 0, 120, 800] addr[ff0000ff, 0, 0] flags[0x 0] trd[0,0]
depth[ 0] COLOR enable ch[2] lyr[3] z[0] prem[N] a[pixel 0] fmt[ 0] fb[ 0, 0; 0, 0; 0, 0] crop[ 360, 0, 120, 800] frame[ 360, 0, 120, 800] addr[ffffff00, 0, 0] flags[0x 0] trd[0,0]
重置屏幕
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;
echo suspend> command; echo disp0 > name; echo 1 > start
echo resume > command; echo disp0 > name; echo 1 > start
显示条纹
echo 0 > /sys/class/disp/disp/attr/disp
echo 8 > /sys/class/disp/disp/attr/colorbar




