|
求助:mipi屏初始化过程中,uboot崩溃,不断重启
发表于 2016-12-12 18:21:32
浏览:17711
|
回复:10
打印
只看该作者
[复制链接]
楼主
各位好;
我尝试在3288(android5.1)上支持一款7寸的4 lane的mipi屏;遇到这样一个情况:
当在和屏相关的dtsi文件中的初始化命令的字节数过长时(超过20字节),uboot就会不断的重启,无法正常启动;
不停的打印如下:
empty serial no.
checkKey
vbus = 1
read logo on state from dts [1]
pll_src = 0, dclk_hz = 60000000, dclk_div = 6
undefined instruction
pc : [<01054f70>] lr : [<0000020c>]
sp : 05737938 ip : 00016d2c fp : 00000240
r10: 0000006d r9 : 05748a38 r8 : 00000025
r7 : 00000052 r6 : 00000026 r5 : 00000027 r4 : 00000040
r3 : ffffffff r2 : 00000004 r1 : 00016d2c r0 : 00000000
Flags: NzCv IRQs on FIQs off Mode SVC_32
Resetting CPU ...
resetting ...
我尝试去找了代码中是否哪里有对字节长度的限制,但目前没找到地方;
像请教下各位,是否也有遇到类似的情况?
以下是我屏的dtsi文件内容:
(on-cmds9, on-cmds10, on-cmds14,这三处地方就是字节数超过20的,让让系统uboot不断重启)
/*
* arch/arm/boot/dts/7inch-trip_mipi.dtsi
*/
/ {
/* 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 = <1000>;
rockchip,dsi_hs_clk = <512>;
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 = <&gpio7 GPIO_A4 GPIO_ACTIVE_LOW>;
rockchip,delay = <10>;
};
};
disp_mipi_init_cmds: screen-on-cmds {
rockchip,cmd_debug = <0>;
compatible = "rockchip,screen-on-cmds";
rockchip,on-cmds1 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF0 0x5A 0x5A>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds2 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF1 0x5A 0x5A>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds3 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xFC 0xA5 0xA5>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds4 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xD0 0x00 0X10>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds5 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xB1 0x10>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds6 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xB2 0x14 0X22 0x2F 0X04>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds7 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF2 0x02 0X08 0x08 0X90 0X10>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds8 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF3 0x01 0XD7 0xE2 0X62 0xF4 0XF7 0x77 0X3C 0x26 0X00>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds9 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF4 0x00 0X02 0x03 0X26 0x03 0X02 0x09 0X00 0x07 0X16 0x16 0x03 0X00 0x08 0X08 0x03 0X0E 0x0F 0X12 0x1C 0X1D 0x1E 0x0C 0X09 0x01 0X04 0x02 0X61 0x74 0X75 0x72 0X83 0x80 0x80 0XB0 0x00 0X01 0x01 0X28 0x04 0X03 0x28 0X01 0XD1 0X32>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds10 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF5 0x83 0X28 0x28 0X5F 0xAB 0X98 0x52 0X0F 0x33 0X43 0x04 0x59 0X54 0x52 0X05 0x40 0X60 0x4E 0X60 0x40 0X27 0x26 0x52 0X25 0x6D 0X18>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds11 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xEE 0x00 0X00 0x00 0X00 0x00 0X00 0x00 0X00>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds12 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xEF 0x12 0X12 0x43 0X43 0x90 0X84 0x24 0X81>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds13 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF6 0x63 0X25 0xA6 0X00 0x00 0X14>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds14 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xF7 0x0A 0X0A 0x08 0X08 0x0B 0X0B 0x09 0X09 0x04 0X05 0x01 0x01 0X01 0x01 0X01 0x01 0X0A 0x0A 0X08 0x08 0X0B 0x0B 0x09 0X09 0x04 0X05 0X01 0x01 0x01 0X01 0x01 0X01>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds15 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xFA 0x00 0X34 0x01 0X05 0x0E 0X07 0x0C 0X12 0x14 0X1C 0x23 0x2B 0X34 0x35 0X2E 0x2D 0X30>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds16 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xFB 0x00 0X34 0x01 0X05 0x0E 0X07 0x0C 0X12 0x14 0X1C 0x23 0x2B 0X34 0x35 0X2E 0x2D 0X30>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds17 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xFD 0x16 0X10 0x11 0X23 0x09>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds18 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xFE 0x00 0X02 0x03 0X21 0x00 0X78>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds19 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x05 0x35>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds20 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x05 0x11>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds21 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0xFF 0x10>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds22 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x29 0xC3 0X40 0X00 0X28>;
rockchip,cmd_delay = <0>;
};
rockchip,on-cmds23 {
compatible = "rockchip,on-cmds";
rockchip,cmd_type = <LPDT>;
rockchip,dsi_id = <0>;
rockchip,cmd = <0x05 0x29>;
rockchip,cmd_delay = <0>;
};
};
disp_timings: display-timings {
native-mode = <&timing0>;
compatible = "rockchip,display-timings";
timing0: timing0 {
screen-type = <SCREEN_MIPI>;
//screen-type = <SCREEN_DUAL_MIPI>;
lvds-format = <LVDS_8BIT_2>;
out-face = <OUT_P888>;
//color-mode = <COLOR_RGB>;
clock-frequency = <60000000>;
//clock-frequency = <120000000>;
hactive = <800>;
vactive = <1280>;
//hsync-len = <20>;
hsync-len = <40>;
hback-porch = <48>;
hfront-porch = <16>;
//vsync-len = <10>;
vsync-len = <3>;
vback-porch = <3>;
vfront-porch = <5>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <0>;
pixelclk-active = <1>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
};
};
&dsihost0 {
status = "okay";
}; |
|