v853-pro配置480x800 MIPI显示屏 带触摸

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