Firefly开源社区
标题: [firefly RK3288] [android 5.1] mipi LCD 調適問題 - cmds 字結 過多? (> 32) [打印本页]
作者: bnlinemily 时间: 2017-9-25 15:49
标题: [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[32],所以擅自想当然的将包拆成了 39 = 28+11,还将其中的延时设置为 0 。
这样当然是不行的。但是一切都是基于这个拆了包的 cmds 来调,走了不少弯路。
于是去联系原厂的工程师,说平台参数大小有限制,咨询拆包是否可行。
他们说可以直接修改 cmds 数组大小,将 cmds[32] 改成了 cmds[400] 。
这个问题在 RK 后来的 kernel 中被更新了。
所以有时候碰到问题需要确认一下 kernel 是不是最新的,也许会有意想不到的效果。
作者: bnlinemily 时间: 2017-9-26 15:13
目前為止, 依舊NG ==> 請問有解法嗎? 請大神幫忙
1. follow wiki 更新 kernel, cmds 超過 32 依舊無法開機, (repeat uboot .....)
http://wiki.t-firefly.com/index. ... 8.BD.BD_Android_SDK
2. 調整 kernel/drivers/video/rockchip/transmitter/mipi_dsi.h 中 cmd[64] 的數量, 無效果 (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
求救
MIPI code 字節數過多 該如何處理?
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) |
Powered by Discuz! X3.1 |