6.3.4. 测试指南¶
6.3.4.1. 测试环境¶
6.3.4.1.1. 硬件¶
- 开发板,或者D211的FPGA板 
- 可转接LVDS的子板 
- LVDS屏幕,7寸TFT屏幕,驱动芯片EK79001+EK73215 
6.3.4.1.2. 软件¶
- PC端的串口终端软件,用于PC和开发板进行串口通信 
- 显示模块的测试demo:test_dmabuf 
6.3.4.1.3. 软件配置¶
6.3.4.1.3.1. 配置 LVDS屏幕¶
测试中需要用到LVDS屏幕,以驱动芯片EK79001+EK73215为例,在 luban 的根目录下通过make kernel-menuconfig,按如下选择:
Linux
    Device Drivers
        Graphics support
            Frame buffer Devices
                <*> Artinchip Framebuffer support
                    [*]   Artinchip display lvds support
                        <*> Artinchip Framebuffer support
                            Artinchip Panel Drivers (Artinchip general LVDS panel)  --->
在board.dts中,修改 LVDS 相关配置。
- panel 
panel_lvds {
    compatible = "artinchip,aic-general-lvds-panel";
    enable-gpios = <&gpio_a 4 GPIO_ACTIVE_HIGH>;
    data-mapping = "vesa-24";
    data-channel = "single-link0";
    status = "okay";
    port {
        panel_lvds_in: endpoint {
            remote-endpoint = <&lvds0_out>;
        };
    };
    display-timings {
        native-mode = <&timing1>;
        timing1: 1024x600 {
            clock-frequency = <60000000>;
            hactive = <1024>;
            vactive = <600>;
            hback-porch = <140>;
            hfront-porch = <160>;
            hsync-len = <20>;
            vback-porch = <20>;
            vfront-porch = <12>;
            vsync-len = <3>;
            de-active = <1>;
            pixelclk-active = <1>;
        };
    };
};
6.3.4.1.3.2. display engine¶
&de0 {
    status = "okay";
    port@0 {
        reg = <0>;
        de0_in: endpoint {
            remote-endpoint = <&fb0_out>;
        };
    };
    port@1 {
        reg = <1>;
        de0_out: endpoint {
            remote-endpoint = <&lvds0_in>;
        };
    };
};
6.3.4.1.3.3. lvds display interface¶
&lvds0 {
    pinctrl-names = "default";
    pinctrl-0 = <&lvds0_pins>;
    status = "okay";
    port@0 {
        reg = <0>;
        lvds0_in: endpoint {
            remote-endpoint = <&de0_out>;
        };
    };
    port@1 {
        reg = <1>;
        lvds0_out: endpoint {
            remote-endpoint = <&panel_lvds_in>;
        };
    };
};
6.3.4.1.3.4. test_dmabuf 配置¶
在luban根目录,运行make menuconfig,按如下选择:
Artinchip packages
    Sample code
        [*] test-dma-buf
6.3.4.2. test_dmabuf 测试¶
test_dmabuf的主要功能是测试显示引擎UI图层和Videv图层blend,在Video图层播放一个视频帧文件
在打开test_dmabuf的编译后,板子上的test_dmabuf位于 /usr/local/bin/,无需进入该目录,直接运行test_dmabuf即可:
[aic@] # test_dmabuf -u
Usage: test_dmabuf [options]:
     -w, --width    need an integer argument
     -h, --height   need an integer argument
     -f, --format   video format, yuv420p etc
     -i, --input    need a file name
     -u, --usage
Example: test_dmabuf -w 480 -h 320 -f yuv420p -i my.yuv
[aic@] # test_dmabuf -w 480 -h 320 -f yuv420p -i my.yuv  - 播放一个yuv420格式的文件