Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
说明:
还是按照老流程调试屏幕:
- DTS改成DSI 配置
- 配置屏GPIO
- 配置屏的init cmds(这次有150多条,把我写死了)
- 测量GPIO电瓶和输出时钟和数据波形
- 如果还不行就使用BIST模式(屏幕自己显示出场设置的显示画面)验证Mipi cmd有没有写到屏里面去了,rk3288平台的读dsi函数有问题。
屏信息:
时序参数数据手册上没有写,问厂商直接要的。
改动:
主dts:
diff --git a/arch/arm/boot/dts/rk3288-benebot.dts b/arch/arm/boot/dts/rk3288-benebot.dts
index 8f7951e..6681054 100644
--- a/arch/arm/boot/dts/rk3288-benebot.dts
+++ b/arch/arm/boot/dts/rk3288-benebot.dts
@@ -2,8 +2,13 @@
#include "rk3288.dtsi"
+
+#include "lcd-mipi.dtsi"
+
+
+
/ {
fiq-debugger {
status = "okay";
@@ -429,18 +434,25 @@
//Kris, disable display logo in u-boot.
&fb {
rockchip,disp-mode = <NO_DUAL>;
- rockchip,uboot-logo-on = <1>;
+ rockchip,uboot-logo-on = <0>;
};
&rk_screen {
display-timings = <&disp_timings>;
};
+
+&dsihost0{
//一开始忘记打开dsi,导致系统crash.
+ status = "okay";
+};
+
+
/*lcdc0 as PRMRY(LCD),lcdc1 as EXTEND(HDMI)*/
&lcdc0 {
status = "okay";
rockchip,mirror = <NO_MIRROR>;
rockchip,cabc_mode = <0>;
+ rockchip,iommu-enabled = <0>;
power_ctr: power_ctr {
rockchip,debug = <0>;
/*lcd_18:lcd18 {
@@ -455,14 +467,14 @@
gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};
-
+ /*
lcd_cs:lcd_cs {
rockchip,power_type = <GPIO>;
gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};
- /*lcd_rst:lcd_rst {
+ lcd_rst:lcd_rst {
rockchip,power_type = <GPIO>;
gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
rockchip,delay = <5>;
@@ -472,7 +484,7 @@
};
&lcdc1 {
- status = "okay";
+ status = "disabled";
rockchip,mirror = <ROTATE_270>;
};
@@ -739,12 +751,12 @@
rk818_ldo4_reg:regulator@7 {
regulator-name= "rk818_ldo4";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>; //屏要求电源。
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <3300000>;
regulator-initial-state = <3>;
regulator-state-mem {
regulator-state-disabled;
- regulator-state-uv = <1800000>;
+ regulator-state-uv = <3300000>;
};
};
@@ -847,7 +859,8 @@
};
};
lcd-mipi.dtsi:
/*
* Copyright (C) 2014 ROCKCHIP, Inc.
* Licensed under GPLv2 or later.
* author: [email protected]
* create date: 2014-09-11
* resolution: 768 X 1024
* mipi channel: single
*/
/ {
/* 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 = <650>;
rockchip,mipi_dsi_num = <1>;
};
//主dts中也有对相同gpio的控制,使用哪边根据情况决定。
disp_mipi_power_ctr: mipi_power_ctr {
compatible = "rockchip,mipi_power_ctr";
mipi_lcd