Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0
- 在dts中将mipi功能打开
&dsihost0{
status = "okay";
};
- 配置时序
根据原理图和屏资料配置上电时序,比如LCD_EN,LCD_RST等等.有些MIPI屏可能还需要配置很多初始化命令.
#include <dt-bindings/rkmipi/mipi_dsi.h>
/ {
/* about mipi */
disp_mipi_init: mipi_dsi_init{
compatible = "rockchip,mipi_dsi_init";
rockchip,screen_init = <1>;
rockchip,dsi_lane = <4>;
rockchip,dsi_hs_clk = <550>;
rockchip,mipi_dsi_num = <1>;
};
disp_mipi_power_ctr: mipi_power_ctr {
compatible = "rockchip,mipi_power_ctr";
mipi_lcd_rst:mipi_lcd_rst{
compatible = "rockchip,lcd_rst";
rockchip,gpios = <&gpio1 GPIO_A6 GPIO_ACTIVE_HIGH>;
rockchip,delay = <100>;
};
mipi_lcd_en:mipi_lcd_en {
compatible = "rockchip,lcd_en";
rockchip,gpios = <&gpio0 GPIO_D5 GPIO_ACTIVE_HIGH>;
rockchip,delay = <100>;
};
};
RK3368初始化命令dts格式:
rockchip,cmd = <数据类型 命令 参数>;
0x05为命令不带参数
0x15为命令带一个参数
0x39为命令带多个参数
disp_mipi_init_cmds: screen-on-cmds {
compatible = "rockchip,screen-on-cmds";
rockchip,cmd_debug = <0>;
rockchip,on-cmds1 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x15 0xE0 0x00>;
rockchip,cmd_delay = <0>;
};
......
};
根据屏资料(规格书,手册等)配置时序,
disp_timings: display-timings {
native-mode = <&timing0>;
compatible = "rockchip,display-timings";
timing0: timing0 {
screen-type = <SCREEN_MIPI>;
lvds-format = <LVDS_8BIT_2>;
out-face = <OUT_P888>;
clock-frequency = <67300000>;
hactive = <800>;
vactive = <1280>;
hback-porch = <18>;
hfront-porch = <18>;
vback-porch = <10>;
vfront-porch = <20>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
};
};

本文档主要介绍在基于RK3368平台,搭载Android 6.0操作系统的环境下,如何进行MIPI屏的调试工作。内容包括在设备树中开启MIPI功能,配置屏的上电时序以及根据原理图和屏资料设定初始化命令。
752

被折叠的 条评论
为什么被折叠?



