Firefly开源社区

标题: RK3288 PAD版使用单MIPI屏 [打印本页]

作者: tangyu1121    时间: 2015-1-21 09:55
标题: RK3288 PAD版使用单MIPI屏
请教各位大神一个问题:
使用MIPI TX/RX接单MIPI屏,按照社区上下载的PAD版本的SDK中,
#include "lcd-ld089wu1-mipi.dtsi"
然后再使用有碰到几个问题:
1、rockchip,cmd: 这个设置的值长度超过27个的时候,软件编译没问题,但是烧入到机器中机器会死机,这个参数长度有限制吗?
2、使用MIPI屏了,他这里应该是单独的了吧,这个主显是 不是就空了?:
/*lcdc0 as PRMRY(LCD),lcdc1 as EXTEND(HDMI)*/
&lcdc0 {
        status = "okay";
        rockchip,mirror = <NO_MIRROR>;
        rockchip,cabc_mode = <0>;
        power_ctr: power_ctr {
                rockchip,debug = <0>;
                lcd_en:lcd_en {
                        rockchip,power_type = <GPIO>;
                        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 {
                        rockchip,power_type = <GPIO>;
                        gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <5>;
                };*/

        };
};

&lcdc1 {
        status = "okay";
        rockchip,mirror = <NO_MIRROR>;
};
作者: zhansb    时间: 2015-1-21 10:03
第一个问题:目前SDK是有这样的限制,可以修改驱动支持更长的指令数目,比如:
  1. diff --git a/kernel/drivers/video/rockchip/screen/lcd_mipi.c b/kernel/drivers/video/rockchip/screen/lcd_mipi.c
  2. index d9d35d2..9f8f5dc 100755
  3. --- a/kernel/drivers/video/rockchip/screen/lcd_mipi.c
  4. +++ b/kernel/drivers/video/rockchip/screen/lcd_mipi.c
  5. @@ -285,7 +285,7 @@ static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
  6.         struct list_head *pos;
  7.         struct property *prop;
  8.         enum of_gpio_flags flags;
  9. -       u32 value, i, debug, gpio, ret, cmds[25], length;
  10. +       u32 value, i, debug, gpio, ret, cmds[64], length;

  11.         memset(screen, 0, sizeof(*screen));

  12. @@ -530,7 +530,7 @@ EXPORT_SYMBOL(rk_mipi_get_dsi_clk);
  13. static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
  14. {
  15.         struct mipi_dcs_cmd_ctr_list *dcs_cmd;
  16. -       u32 i, cmds[20];
  17. +       u32 i, cmds[64];
  18.         int length;
  19.         int err;
  20.         int node;
  21. diff --git a/kernel/drivers/video/rockchip/transmitter/mipi_dsi.h b/kernel/drivers/video/rockchip/transmitter/mipi_dsi.h
  22. index b06eafa..98fba27 100755
  23. --- a/kernel/drivers/video/rockchip/transmitter/mipi_dsi.h
  24. +++ b/kernel/drivers/video/rockchip/transmitter/mipi_dsi.h
  25. @@ -254,9 +254,9 @@ struct dcs_cmd {
  26.         u8 dtype;
  27.      u8 dsi_id;
  28.      u8 cmd_len;
  29. -       int cmds[32];
  30. +       int cmds[64];
  31.         int delay;
  32. -    char name[32];
  33. +    char name[64];
  34. };

  35. struct mipi_dcs_cmd_ctr_list {
复制代码

第二个问题:还是用的是主显啊,使用lcdc0
作者: tangyu1121    时间: 2015-1-21 10:06
哦   果然有限制啊    我试试   谢谢!
作者: tangyu1121    时间: 2015-1-21 10:36
版主:
目前MIPI屏这边我还没有点亮,但是我更改#include "lcd-ld089wu1-mipi.dtsi"的屏的参数,HDMI输出的效果会发生变化呢?按道理他们是双路LCDC的,HDMI走LCDC1,按您说的 MIPI走LCDC0,那应该不会影响到HDMI的输出显示才对,这是为什么呢?
作者: zhansb    时间: 2015-1-21 10:37
因为PAD版中HDMI是根据LCD屏做scale的,只要分辨率改动了,就会影响到HDMI
作者: tangyu1121    时间: 2015-1-21 11:12
那这样应该还有个scaler能将HDMI还原成正常的显示吧?
作者: zhansb    时间: 2015-1-21 11:14
如果要照顾到HDMI的显示,那应该要把分辨率设置成电视同比例的分辨率了
作者: tangyu1121    时间: 2015-1-21 17:08
接单MIPI屏不能使用MIPI TX/RX通道,使用单MIPI屏只能接MIPI TX通道!!!!!
作者: xltao    时间: 2015-1-22 16:49
请问楼主的mipi屏点亮了吗?
作者: zhansb    时间: 2015-1-22 17:07
单MIPI接TX0,正面插孔那族
作者: tangyu1121    时间: 2015-1-22 17:36
xltao 发表于 2015-1-22 16:49
请问楼主的mipi屏点亮了吗?

还没有 ,硬件有点问题,做的排线是连到MIPI TX/RX这个复用的同路去了,客户这2会重新弄一个双MIPI的屏来点,等他们硬件弄好了,在点了
作者: tangyu1121    时间: 2015-1-22 17:36
zhansb 发表于 2015-1-22 17:07
单MIPI接TX0,正面插孔那族

恩   谢谢!
作者: zhansb    时间: 2015-1-22 17:57
调试MIPI屏遇到的具体问题可以提出来,我这边调过单/双MIPI显示没有问题,看看我有没有遇到过类似的现象
作者: tangyu1121    时间: 2015-1-22 18:18
zhansb 发表于 2015-1-22 17:57
调试MIPI屏遇到的具体问题可以提出来,我这边调过单/双MIPI显示没有问题,看看我有没有遇到过类似的现象


目前的问题就是单MIPI的屏接到MIPI TX/RX通路去了,所以他们想直接调试双MIPI通道的了,等他们硬件整好我这边在烧入软件看看,有什么问题在请教你啦
作者: tangyu1121    时间: 2015-1-23 17:28
zhansb 发表于 2015-1-22 17:57
调试MIPI屏遇到的具体问题可以提出来,我这边调过单/双MIPI显示没有问题,看看我有没有遇到过类似的现象

版主  点双MIPI屏 需要连一个RST脚,你们点的时候连的是哪个脚啊?
作者: tangyu1121    时间: 2015-1-23 18:58
tangyu1121 发表于 2015-1-23 17:28
版主  点双MIPI屏 需要连一个RST脚,你们点的时候连的是哪个脚啊?

版主:

您好!
我现在在点双MIPI屏的时候碰到一个问题:按照文档中的配置好了双MIPI屏的参数,开机在串口中显示:
rk3288-lcdc lcdc0: blank mode:0  屏没有显示
这个是什么情况:
我的更改:
LCD Panel Select (rk mipi dsi lcd)  --->
  •    Rockchip MIPI DSI support
    <*>     rk32 mipi dsi support      
    arch/arm/boot/dts/rk3288.dtsi中将
    dsihost0 和 dsihost1 的status 都设置为:okay
    firefly-rk3288.dts中包含屏部分的配置
    #include "lcd-ld089wu1-mipi.dtsi"



    作者: zhansb    时间: 2015-1-23 19:20
    可以查查:
    1.lcd的电源、控制引脚的时序
    2.屏的时序,比如hbp,vbp...
    3.MIPI指令是否正确
    4..config中是否这三个都有配上
    +CONFIG_LCD_MIPI=y
    +CONFIG_MIPI_DSI=y
    +CONFIG_RK32_MIPI_DSI=y
    5.背光亮了吗




    作者: zhansb    时间: 2015-1-23 19:24
    控制引脚可以在arch/arm/boot/dts/firefly-rk3288.dts中修改:
    1. 675         lcd_en:lcd_en {
    2. 676             rockchip,power_type = <GPIO>;
    3. 677             gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
    4. 678             rockchip,delay = <10>;
    5. 679         };
    6. 680         
    7. 681         lcd_cs:lcd_cs {
    8. 682             rockchip,power_type = <GPIO>;
    9. 683             gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
    10. 684             rockchip,delay = <10>;
    11. 685         };
    12. 686
    13. 687         /*lcd_rst:lcd_rst {
    14. 688             rockchip,power_type = <GPIO>;
    15. 689             gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
    16. 690             rockchip,delay = <5>;
    17. 691         };*/
    复制代码

    作者: tangyu1121    时间: 2015-1-24 10:33
    版主
    你好!
    1.lcd的电源、控制引脚的时序
    LCD_EN是硬件直接拉高的,软件没孔控制
    2.屏的时序,比如hbp,vbp...
    这个和屏参确认过,参数是正确的;
    3.MIPI指令是否正确
    指令也和屏厂确认过
    4..config中是否这三个都有配上
    +CONFIG_LCD_MIPI=y
    +CONFIG_MIPI_DSI=y
    +CONFIG_RK32_MIPI_DSI=y
    这3个已经是打开的
    5.背光亮了吗
    屏厂的意思是用LED灯照屏的背面能看到图像显示的

    现在关键是配置完以后:
    rk3288-lcdc lcdc0: blank mode:0  屏没有显示
    主显没有图像输出,可能的原因是什么啊?
    作者: tangyu1121    时间: 2015-1-24 10:33
    tangyu1121 发表于 2015-1-24 10:33
    版主
    你好!
    1.lcd的电源、控制引脚的时序

    背光硬件目前没有接
    作者: zhansb    时间: 2015-1-24 11:45
    打开lcdc显示就会打印:rk3288-lcdc lcdc0: blank mode:0

    可以把指令贴出来看看
    作者: tangyu1121    时间: 2015-1-24 11:55
    zhansb 发表于 2015-1-24 11:45
    打开lcdc显示就会打印:rk3288-lcdc lcdc0: blank mode:0

    可以把指令贴出来看看

    比较长  我把整个屏参贴上来把,请看!
    disp_mipi_init: mipi_dsi_init{
                                            compatible = "rockchip,mipi_dsi_init";
                                            rockchip,screen_init        = <1>;
                                            rockchip,dsi_lane                = <4>;
                                            rockchip,dsi_hs_clk                = <964>;
                                            rockchip,mipi_dsi_num        = <2>;
                    };
                    disp_mipi_power_ctr: mipi_power_ctr {
                                            compatible = "rockchip,mipi_power_ctr";
                                            mipi_lcd_rst:mipi_lcd_rst{
                                                            compatible = "rockchip,lcd_rst";
                                                            rockchip,gpios = <&gpio2 GPIO_B7 GPIO_ACTIVE_HIGH>;
                                                            rockchip,delay = <100>;
                                            };
                                            /*mipi_lcd_en:mipi_lcd_en {
                                                            compatible = "rockchip,lcd_en";
                                                            rockchip,gpios = <&gpio0 GPIO_C1 GPIO_ACTIVE_HIGH>;
                                                            rockchip,delay = <100>;
                                            };*/
                    };
                    disp_mipi_init_cmds: screen-on-cmds {
                                            compatible = "rockchip,screen-on-cmds";
                                            rockchip,cmd_debug = <1>;
                                            rockchip,on-cmds1 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xB0 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds2 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD6 0x01>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds3 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xB4 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds4 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xB3 0x14 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds5 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xB6 0x3A 0xC3 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds6 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xBE 0x04>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds7 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC3 0x00 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds8 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC5 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds9 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC0 0x00 0x00 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds10 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC1 0x04 0x61 0x00 0x30 0x29 0x10 0x19 0x63 0x61 0xB4 0xE6 0xDC 0x7B 0xEF 0x39 0xD7 0xDA 0x08 0x8C 0xB1 0x08 0x54 0x82 0x00 0x00 0x00 0x00 0x00 0x02 0x63 0x27 0x03 0x00 0xFF 0x11>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds11 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC2 0x08 0x0A 0x00 0x08 0x08 0xF0 0x00 0x04 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };

                                            rockchip,on-cmds12 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC4 0x70 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x05 0x01 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };                       
                                            rockchip,on-cmds13 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC6 0x5A 0x00 0x2D 0x03 0x01 0x02 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x15 0x08 0x5A>;
                                                            rockchip,cmd_delay = <0>;
                                            };

                                            rockchip,on-cmds14 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC7 0x02 0x0D 0x14 0x1E 0x2C 0x3B 0x46 0x57 0x3C 0x44 0x50 0x5D 0x68 0x6F 0x7B 0x02 0x0D 0x14 0x1E 0x2C 0x3B 0x46 0x57 0x3C 0x44 0x50 0x5D 0x68 0x6F 0x7B 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                   
                                            rockchip,on-cmds15 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xC8 0x01 0x00 0xFE 0x02 0xFB 0xB0 0x00 0x00 0x00 0x02 0xFD 0xFC 0x00 0x00 0xF9 0x02 0x02 0xFC 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                                                   
                                            rockchip,on-cmds16 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xCB 0xFF 0xFF 0xFF 0xFF 0x00 0x00 0x00 0x00 0x54 0xE0 0x07 0x2A 0xE0 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };

                                            rockchip,on-cmds17 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xCC 0x32>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds18 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD7 0x82 0xFF 0x21 0x8E 0x8C 0xF1 0x87 0x3F 0x7E 0x10 0x00 0x00 0x8F>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds19 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD9 0x00 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds20 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD0 0x11 0x17 0x14 0xFD>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds21 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD2 0xCD 0x2B 0x2B 0x33 0x12 0x33 0x33 0x33 0x77 0x77 0x33 0x33 0x33 0x00 0x00 0x00 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds22 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xD5 0x06 0x00 0x00 0x01 0x49 0x01 0x49>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds23 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x29 0xE5 0x00 0x00 0x08 0x10 0x00>;
                                                            rockchip,cmd_delay = <0>;
                                            };
                                            rockchip,on-cmds24 { //video
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x39 0x11>;
                                                            rockchip,cmd_delay = <250>;
                                            };
                                            rockchip,on-cmds25 {
                                                            compatible = "rockchip,on-cmds";
                                                            rockchip,cmd_type = <LPDT>;
                                                            rockchip,dsi_id = <0>;
                                                            rockchip,cmd = <0x39 0x29>;
                                                            rockchip,cmd_delay = <30>;
                                            };
                    };


                    disp_timings: display-timings {
                            native-mode = <&timing0>;
                            compatible = "rockchip,display-timings";
                            timing0: timing0 {
                                    screen-type = <SCREEN_DUAL_MIPI>;
                                    lvds-format = <LVDS_8BIT_2>;
                                    out-face    = <OUT_P888>;
                                    clock-frequency = <256000000>;
                                    hactive = <1440>;
                                    vactive = <2560>;
                                    hback-porch = <80>;
                                    hfront-porch = <154>;
                                    vback-porch = <6>;
                                    vfront-porch = <8>;
                                    hsync-len = <20>;
                                    vsync-len = <2>;
                                    hsync-active = <0>;
                                    vsync-active = <0>;
                                    de-active = <0>;
                                    pixelclk-active = <0>;
                                    swap-rb = <0>;
                                    swap-rg = <0>;
                                    swap-gb = <0>;
                                 };
                   };
    作者: tangyu1121    时间: 2015-1-26 10:37
    zhansb 发表于 2015-1-24 11:45
    打开lcdc显示就会打印:rk3288-lcdc lcdc0: blank mode:0

    可以把指令贴出来看看

    [    1.427207] yds rk_fb_trsm_ops_get =0
    [    1.427218] rk_fb_trsm_ops_get:un supported transmitter:0!

    为什么点双MIPI屏的时候会出现这个LOG信息?
    作者: zhansb    时间: 2015-1-27 14:26
    本帖最后由 zhansb 于 2015-1-27 14:30 编辑

    [    1.427218] rk_fb_trsm_ops_get:un supported transmitter:0!
    这个没什么关系,这个对应的是SCREEN_NULL


    <0x39 0x11>;<0x39 0x29>中:0x39改成0x05试试
    双MIPI的话把rockchip,dsi_id = <0>;这个改成rockchip,dsi_id = <2>;

    参考:Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt

    作者: tangyu1121    时间: 2015-1-27 15:20
    zhansb 发表于 2015-1-27 14:26
    [    1.427218] rk_fb_trsm_ops_get:un supported transmitter:0!
    这个没什么关系,这个对应的是SCREEN_NU ...

    按照您这个更改了  效果还是一样的!
    没有显示。MIPI的这些初始化命令都没写进去,写进去的话屏上的几个电压会改变的
    作者: zhansb    时间: 2015-1-27 17:36
    rockchip,cmd_debug = <0>;

    改为1,看看有没有指令打印的信息
    作者: tangyu1121    时间: 2015-1-27 17:51
    zhansb 发表于 2015-1-27 17:36
    rockchip,cmd_debug = ;

    改为1,看看有没有指令打印的信息

    你的意思是看有没有写入的指令把,有的,我在驱动里面直接打开的!

    [    1.309010] dcs_cmd.name:rockchip,on-cmds25
    [    1.309021] dcs_cmd.dsi_id == 2 line=127
    [    1.309033] 1163 command sent in LP mode size:1
    [    1.309043] write GEN_HDR:00002905
    [    1.309064] 1163 command sent in LP mode size:1
    [    1.309074] write GEN_HDR:00002905
    [    1.348372] ++++++++++++++++rk_mipi_screen:241
    [    1.348392] rk3288-lcdc lcdc0: wakeup from standby!
    作者: zhansb    时间: 2015-1-27 18:18
    刚刚好我调了一个双MIPI这个分辨率的驱动,参考一下,看看有没有什么配置差异或者先把clk降一些,改成clock-frequency = <128000000>;

    lcd-r63419-mipi.zip

    1.88 KB, 阅读权限: 10, 下载次数: 62, 下载积分: 灯泡 -1 , 经验 -1


    作者: tangyu1121    时间: 2015-1-27 18:31
    zhansb 发表于 2015-1-27 18:18
    刚刚好我调了一个双MIPI这个分辨率的驱动,参考一下,看看有没有什么配置差异或者先把clk降一些,改成clock ...

    HI   屏参这块就寄存器的值和IO的区别,您是否可以将你那边点这个双MIPI屏的整个更改的PATCH上传我看下,我看下是否是我哪里没有更改到,我目前的更改都是按照RockChip_DSS Development Guide v1.2.pdf  这个文档里面说的配置来更改的!
    作者: zhansb    时间: 2015-1-28 08:37
    参考附件

    0001-Kernel-LCD-add-full-cmd-r63419-mipi.rar

    4.47 KB, 阅读权限: 10, 下载次数: 82, 下载积分: 灯泡 -1 , 经验 -1


    作者: tangyu1121    时间: 2015-1-28 16:15
    zhansb 发表于 2015-1-28 08:37
    参考附件

    HI   更改的地方好我这边更改的基本是相同的!
    我们现在硬件测量输出的CLK信号没有,按正常的情况,应该软件配置了MIPI输出应该CLK信号就能测量到的吧?
    您有没有加入QQ群,能否发一个您使用的kernel固件给我,我烧入测量一下CLK是否有,我在QQ群的名字是:冬冬
    作者: proboy_li    时间: 2016-11-28 15:50
    过路,看看
    作者: nds_shenzhen    时间: 2017-6-23 01:08
    晕我也是闲着 mipi设置好了 clk没有输出,而且屏幕直显示一半
    作者: 18814303937    时间: 2018-6-24 03:51
    我将rockchip,screen_init    = <0>; 中的0改为1时,系统就会停在kernel进入的界面
    下面的是我dtsi
    /*
    * RockChip. DisplayPort screen LP097QX1
    *
    */

    / {

        disp_mipi_init: mipi_dsi_init{
            compatible = "rockchip,mipi_dsi_init";
            rockchip,screen_init    = <0>;
            rockchip,dsi_lane       = <2>;
            rockchip,dsi_hs_clk     = <280>;
            rockchip,mipi_dsi_num   = <1>;
        };

    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 = <0x15 0xB0 0x04>;

        };

        rockchip,on-cmds2 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xb3 0x02 0x00>;

        };

        rockchip,on-cmds3 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xb6 0x52 0x83>;

        };

      rockchip,on-cmds4 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xb7 0x00 0x00 0x11 0x25>;

        };


      rockchip,on-cmds5 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;              
            rockchip,dsi_id = <0>;                     
            rockchip,cmd = <0x39 0xB8 0x00 0x0F 0x0F 0xFF 0xFF 0xC8 0xC8 0x02 0x18 0x10 0x10 0x37 0x5A 0x87 0xBE 0xFF 0x00 0x00 0x00 0x00>;
          
        };


      rockchip,on-cmds6 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xB9 0x00 0xFF 0x02 0x08>;

        };


      rockchip,on-cmds7 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xBD 0x00>;

        };

      rockchip,on-cmds8 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xC0 0x02 0x87>;

        };


      rockchip,on-cmds9 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xC1 0x43 0x31 0x00 0x21 0x21 0x32 0x12 0x28 0x4A 0x1E 0xA5 0x0F 0x58 0x21 0x01>;

        };


      rockchip,on-cmds10 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xC2 0x10 0x06 0x06 0x01 0x03 0x04>;

        };

      rockchip,on-cmds11 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xC6 0x00>;

        };

      rockchip,on-cmds12 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xC8 0x00 0x0D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x08 0x01 0x00 0x0D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x08 0x01>;

        };

      rockchip,on-cmds13 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xC9 0x00 0x0D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x08 0x01 0x00 0x0D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x08 0x01>;

        };
        rockchip,on-cmds14 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xCA 0x00 0x1D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x28 0x01 0x00 0x0D 0x1F 0x29 0x36 0x4D 0x37 0x25 0x19 0x11 0x08 0x01>;
       
        };
        rockchip,on-cmds15 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xD0 0xA9 0x03 0xCF 0xA7 0x0C 0x71 0x20 0x10 0x01 0x00 0x01 0x01 0x00 0x03 0x01 0x00>;

        };
        rockchip,on-cmds16 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xD1 0x18 0x0C 0x23 0x03 0x75 0x02 0x50>;

        };
        rockchip,on-cmds17 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xD3 0x33>;

        };
        rockchip,on-cmds18 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xD5 0x08 0x08>;

        };
        rockchip,on-cmds19 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xD6 0xA8>;

        };
        rockchip,on-cmds20 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xDE 0x01 0x00 0x00>;

        };
        rockchip,on-cmds21 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xE1 0x00 0x00 0x00 0x00 0x00 0x00>;
            rockchip,cmd_delay = <20>;
        };
        rockchip,on-cmds22 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xE6 0x00>;
            rockchip,cmd_delay = <20>;
        };
        rockchip,on-cmds23 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0xFA 0x03>;
            rockchip,cmd_delay = <20>;
        };
        rockchip,on-cmds24 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xE0 0x01 0x00 0x10 0x00>;

        };
        rockchip,on-cmds25 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0x11>;
            rockchip,cmd_delay = <250>;
        };
        rockchip,on-cmds26 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xE0 0x01 0x40 0x00 0x00>;

        };
        rockchip,on-cmds27 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x15 0x10>;
            rockchip,cmd_delay = <250>;
        };
        rockchip,on-cmds28 {
            compatible = "rockchip,on-cmds";
            rockchip,cmd_type = <LPDT>;
            rockchip,dsi_id = <0>;
            rockchip,cmd = <0x39 0xE0 0x00 0x00 0x00 0x00>;

        };
          rockchip,on-cmds29 {
                    compatible = "rockchip,on-cmds";
                    rockchip,cmd_type = <LPDT>;
                    rockchip,dsi_id = <0>;
                    //dcs_exit_sleep_mode在code中有定义,可以直接使用,包括下面的dcs_set_display_on.
                    rockchip,cmd = <0x05 dcs_exit_sleep_mode>;
                    rockchip,cmd_delay = <120>;
                
            };
            rockchip,on-cmds30 {
                    compatible = "rockchip,on-cmds";
                    rockchip,cmd_type = <LPDT>;
                    rockchip,dsi_id = <0>;
                    //只有命令没有参数用0x05.
                    rockchip,cmd = <0x05 dcs_set_display_on>;
                    //这个延时很重要.
                    rockchip,cmd_delay = <120>;
            };

    };

        disp_timings: display-timings
        {
            native-mode = <&timing0>;
            compatible = "rockchip,display-timings";
            timing0: timing0
             {
                screen-type = <SCREEN_MIPI>;
                lvds-format = <LVDS_8BIT_2>;
                out-face    = <OUT_P888>;        
                clock-frequency = <28000000>;   
                hactive = <480>;               
                vactive = <800>;               
                hback-porch = <32>;            
                hfront-porch = <20>;              
                vback-porch = <12>;
                vfront-porch = <20>;            
                hsync-len = <8>;               
                vsync-len = <8>;
                hsync-active = <0>;              
                vsync-active = <0>;
                de-active = <0>;                 
                pixelclk-active = <0>;           
                swap-rb = <0>;                  
                swap-rg = <0>;
                swap-gb = <0>;
            };
        };


    };


    拉高管脚的部分是在dts里面拉

    +++ b/kernel/arch/arm/boot/dts/firefly-rk3288.dts
    @@ -192,6 +192,11 @@
            };
    };

    +&dsihost0{
    +        status = "okay";
    +};
    +
    +
    &gmac {
    //     pmu_regulator = "act_ldo5";
    //     pmu_enable_level = <1>; //1->HIGH, 0->LOW
    @@ -620,25 +625,42 @@

    &fb {
            rockchip,disp-mode = <DUAL>;
    -       rockchip,uboot-logo-on = <1>;
    -       rockchip,disp-policy = <DISPLAY_POLICY_BOX_TEMP>;
    +       rockchip,uboot-logo-on = <0>;
    +
    };
    -/*
    +
    &disp_timings {
    -       native-mode = <&timing1>;
    +       native-mode = <&timing0>;
    };
    -*/
    +
    &rk_screen {
             display-timings = <&disp_timings>;
    };

    /*lcdc0 as PRMRY(HDMI),lcdc1 as EXTEND(RK1000)*/
    &lcdc0 {
    -       status = "okay";
    -       rockchip,iommu-enabled = <1>;
    -       rockchip,prop = <PRMRY>;
    +        status = "okay";
    +        rockchip,mirror = <NO_MIRROR>;
    +        rockchip,cabc_mode = <0>;
    +        power_ctr: power_ctr {
    +                rockchip,debug = <0>;
    +                lcd_en:lcd_en {
    +                        rockchip,power_type = <GPIO>;
    +                        gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
    +                        rockchip,delay = <10>;
    +                };
    +               lcd_cs:lcd_cs {
    +                        rockchip,power_type = <GPIO>;
    +                        gpios = <&gpio0 GPIO_C1 GPIO_ACTIVE_HIGH>;
    +                        rockchip,delay = <10>;
    +                };
    +
    +
    +        };
    };

    +
    +
    &lcdc1 {
            status = "okay";
            rockchip,iommu-enabled = <1>;
    diff --git a/kernel/arch/arm/configs/firefly_defconfig b/kernel/arch/arm/configs/firefly_defconfig
    index e610aac..db23d8b 100644
    --- a/kernel/arch/arm/configs/firefly_defconfig
    +++ b/kernel/arch/arm/configs/firefly_defconfig
    @@ -67,6 +67,9 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
    CONFIG_CPU_IDLE=y
    CONFIG_VFP=y
    CONFIG_NEON=y
    +CONFIG_LCD_MIPI=y
    +CONFIG_MIPI_DSI=y
    +CONFIG_RK32_MIPI_DSI=y


    请大家帮忙解决一下




    欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1