MIPI DSI 使用
Config配置
在arch/arm/configs/fireprime_defconfig添加配置:
驱动配置
新建DTS配置文件
在arch/arm/boot/dts/目录中新建dst配置文件,如lcd-xxx-mipi.dtsi。
添加DTS文件和关闭tve使能
在arch/arm/boot/dts/rk3128-fireprime.dts中添加#include “lcd-xxx-mipi.dtsi”,如果原来include了其他屏的DTS配置,注释掉它们。使用MIPI屏显示,需要关闭tve的使能:
添加背光节点信息
在lcd-xxx-mipi.dtsi中添加背光节点信息。
属性:
- pwms属性:配置PWM,AIO-3128C使用pwm0,范例中的25000是PWM频率,enable-gpios 是背光使能脚。
- brightness-levels属性:配置背光亮度数组,最大值为255,配置暗区和亮区,并把亮区数组做255的比例调节。比如范例中暗区是255-221,亮区是220-0。
- default-brightness-level属性:开机时默认背光亮度,范围为0-255。
- enable-gpios属性:配置背光使能引脚。
具体请参考kernel中的说明文档:
Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt
配置MIPI相关信息
在lcd-xxx-mipi.dtsi中添加MIPI配置信息
属性:
- rockchip,screen_init属性:0表示不需要特殊指令初始化显示屏,1,表示需要初始化指令。
- rockchip,dsi_lane属性:数据lane的数量。
- rockchip,dsi_hs_clk属性:配置hsclk。
- rockchip,mipi_dsi_num:配置只用DSI接口的数量,单通道MIPI屏为1,双通道MIPI屏为2(fireprime只支持单通道MIPI屏,故配置成1即可)。
具体请参考kernel中的说明文档:
Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt
配置LCD引脚
在lcd-xxx-mipi.dtsi中添加引脚配置信息
disp_mipi_power_ctr分别有电源使能引脚mipi_lcd_en、片选引脚mipi_lcd_cs,复位引脚mipi_lcd_rst,可以根据显示屏做修改和删减。
配置初始化命令
在lcd-xxx-mipi.dtsi中添加初始化命令信息
当rockchip,screen_init为1时需要配置显示屏的初始化命令,初始化命令在节点disp_mipi_init_cmds中配置。
- rockchip,cmd_debug属性:打开可输出指令调试信息。
- rockchip,on-cmdsXX子节点:配置每条指令的信息。
- rockchip,cmd_type:数据传输模式,LPDT或HSDT。
- rockchip,dsi_id:指令传输的DSI接口,0为向DSI0(双通道MIPI屏时为左半屏)发送指令,1为向DSI1(双通道MIPI屏时为右半屏)发送指令,2为同时向两个DSI发送数据。
- rockchip,cmd:指令序列。其中第一个字节为DSI数据类型,第二个字节为REG,后面的字节为指令内容。
- rockchip,cmd_delay:发送指令后的延时,单位为ms。
配置显示时序
在lcd-xxx-mipi.dtsi中添加显示时序信息
时序的在节点disp_timings配置
- screen-type属性:显示屏类型,Firefly-RK3128只支持单通道MIPI屏,配置成SCREEN_MIPI即可。
- lvds-format属性:无关选项。
- out-face属性:配置颜色,可为OUT_P888(24位)、OUT_P666(18位)或者OUT_P565(16位)。
- clock-frequency属性:屏时钟,单位Hz。
其他的时序属性参考下图:
dsihost配置
单MIPI屏,需要使能dsihost0,如:
原作者:Firefly Wiki
|