bnlinemily 发表于 2017-9-25 15:49:45

[firefly RK3288] [android 5.1] mipi LCD 調適問題 - cmds 字結 過多? (> 32)


已參考先前大神的資料
https://m.2cto.com/kf/201708/670726.html

已順利在mipi 上調適成功 (感謝)

目前更換了另一個LCD 遇到 cmds 參數過多的問題, 目前有 59個字結, 一直在 uboots 重啟

應該是遇到跟大神一樣的問題?

請問該如何解決?? (kernel 已更新, PS: 如何確認kernel是否最新?)

-------------------------------------先前大神提及的問題 如下------------------------------------------------
6.2 有数据传输,但是 cmds 有问题
cmds 有的参数超过了 32个字节(有个有36个字节,有个有39个字节),完成 dtsi 中 cmds 编写后
烧录,板子跑飞,空指针异常。
发现传递 这个超长 参数的时候有内存溢出情况。
于是跟代码发现 dcs_cmd.cmds 的数据类型为 int cmds,所以擅自想当然的将包拆成了 39 = 28+11,还将其中的延时设置为 0 。
这样当然是不行的。但是一切都是基于这个拆了包的 cmds 来调,走了不少弯路。于是去联系原厂的工程师,说平台参数大小有限制,咨询拆包是否可行。
他们说可以直接修改 cmds 数组大小,将 cmds 改成了 cmds 。这个问题在 RK 后来的 kernel 中被更新了。所以有时候碰到问题需要确认一下 kernel 是不是最新的,也许会有意想不到的效果。


bnlinemily 发表于 2017-9-26 15:13:24

目前為止, 依舊NG==> 請問有解法嗎? 請大神幫忙

1. follow wiki 更新 kernel, cmds 超過 32 依舊無法開機, (repeat uboot .....)
http://wiki.t-firefly.com/index.php/Firefly-RK3288/Build_android_lollipop#.E4.B8.8B.E8.BD.BD_Android_SDK

2. 調整 kernel/drivers/video/rockchip/transmitter/mipi_dsi.h 中 cmd 的數量, 無效果 (64 改到 400)

3. 縮減 cmd中多參數的數量至 27,可開機, (but LCD 無反應 -- 意料之內), example如下
                                       rockchip,on-cmds7 {
                                                      compatible = "rockchip,on-cmds";
                                                      rockchip,cmd_type = <LPDT>;
                                                      rockchip,dsi_id = <0>;
                                                      rockchip,cmd = <0x39 0xD3 0x00 0x00 0x00 0x00 0x40 0x1E 0x00 0x00 0x32 0x10 0x09 0x00 0x09 0x54 0x15 0x0D 0x05 0x0D 0x02 0x15 0x00 0x05 0x00 0x37 0x33// 0x0B 0x0B 0x37 0x10 0x07 0x07 0x0C 0x40
>;

bnlinemily 发表于 2017-9-28 13:15:33

求救

MIPI code 字節數過多 該如何處理?

页: [1]
查看完整版本: [firefly RK3288] [android 5.1] mipi LCD 調適問題 - cmds 字結 過多? (> 32)