Jump to content

Roseapple Pi MIPI Display


Recommended Posts

Hi There.

I'm working on connecting the screen to Roseapple Pi.

I got patches for kernel and u-boot, added it to userpatches, but it didn't work.

After I touched dts up with these patches, but unfortunately it didn't work.

I use these patches.

Kernel

 

diff --git a/arch/arm/boot/dts/actduino_bubble_gum.dts b/arch/arm/boot/dts/actduino_bubble_gum.dts
index 65551f3..80142ad 100755
--- a/arch/arm/boot/dts/actduino_bubble_gum.dts
+++ b/arch/arm/boot/dts/actduino_bubble_gum.dts
@@ -1084,15 +1084,59 @@
         status = "disabled";
     };
 
-    dsi: dsi@b0220000 {
-        status = "disabled";
+        dsi: dsi@b0220000 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&dsi_state_default>;
+        dsi_power_gpios = <&gpio 90 0>;    /*hr280ac GPIOD30*/
+        dsi_reset_gpios = <&gpio 91 0>;   /*S500 GPIOD19*/    
+        port_type = "dsi";    
+        data_width = <0>;
+        videomode-0 = <&dsi_mode>;
+        hw-set = <&dsi_reg>;
+        dsi_reg:val{                                                    
+dsi_ctrl =< 0x1340>;
+dsi_size = <0x5000000>;
+dsi_color = <0xff0000>;
+dsi_rgbht0 = <0xc090>;
+dsi_rgbht1 = <0x3e8>;
+dsi_rgbvt0 = <0x1f40540>;
+dsi_rgbvt1 =<0x31>;
+dsi_pack_cfg = <0x0>;
+dsi_pack_header =<0x870>;
+dsi_vedio_cfg = <0x30c>;
+dsi_phy_t0 = <0x95a>;
+dsi_phy_t1 =<0x1b12>;
+dsi_phy_t2 = <0x2f04>;
+dsi_phy_ctrl = <0xfc94>;
+dsi_pin_map = <0x688>;
+cmu_dsipll_clk = <0x12001>;
+
+        };
+        
+        dsi_mode:mode@480x800p60 {
+                         refresh = <60>;
+                xres = <720>;
+                yres = <1280>;
+                /*in pico second, 0.000 000 000 001s*/
+                          pixclock = <15817>;
+                     left_margin = <16>;
+            right_margin = <16>;
+            upper_margin = <16>;
+            lower_margin = <16>;
+                           hsync_len = <32>;
+            vsync_len = <32>;
+
+                      /* 0: FB_VMODE_NONINTERLACED, 1:FB_VMODE_INTERLACED */
+                vmode = <0>;
+
+        };
     };
 
     hdmi:hdmi@b02c0000{
         hdcp_onoff = <0>;
         channel_invert = <0>;
         bit_invert = <0>;
-        hotplugable = <0>;
+        hotplugable = <1>;
         bootable = <1>;
         bootrotate = <0>;   
         default_resolution = "auto";
@@ -1108,10 +1152,10 @@
     
     framebuffer {
         compatible = "actions,framebuffer";  
-        def_display  = "hdmi";
-        xres=<1920>;
-        yres=<1080>;
-        bpp=<4>;  
+        def_display  = "dsi";
+//        xres=<1920>;
+//        yres=<1080>;
+//        bpp=<4>;  
     };
 
     pwm: pwm@b01b0050 {
diff --git a/drivers/video/owl/displays/dsi/dsi_cmd.c b/drivers/video/owl/displays/dsi/dsi_cmd.c
index 90e20b9..4499db1 100755
--- a/drivers/video/owl/displays/dsi/dsi_cmd.c
+++ b/drivers/video/owl/displays/dsi/dsi_cmd.c
@@ -49,26 +49,437 @@ void send_short_cmd_1(struct platform_device *pdev, int cmd, int singnal)
 */
 void send_cmd(struct platform_device *pdev)
 {
-/*    char pakg[100];
+    char pakg[100];
     
-    start_long_cmd();
-    pakg[0] = 0xbf;  
-    pakg[1] = 0x93;  
-    pakg[2] = 0x61;  
-    pakg[3] = 0xf4;  
-    send_long_cmd(pakg, 4);
-    pakg[0] = 0xbf;  
-    pakg[1] = 0x93;  
-    send_long_cmd(pakg, 2);    
-    end_long_cmd();
+    //==============Code 1=============
+pakg[0] = 0xf0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xaa;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x00;  
+send_long_cmd(pdev,pakg, 6);    
+
+//=================code 2 =================
+pakg[0] = 0xC0;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1e;  
+pakg[6] = 0x10;
+pakg[7] = 0x60;
+pakg[8] = 0xe5;
+send_long_cmd(pdev,pakg, 9);
+
+
+//===========code 3============================
+
+pakg[0] = 0xC1;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x01;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x00;
+pakg[7] = 0xF0;
+pakg[8] = 0xC8;
+send_long_cmd(pdev,pakg, 9);
+
+//================code 4 ======================
+pakg[0] = 0xC2;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x2A;
+pakg[7] = 0xA0;
+pakg[8] = 0x9F;
+send_long_cmd(pdev,pakg, 9);    
+
+//=================code 5=====================
+pakg[0] = 0xC3;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x2A;
+pakg[7] = 0xA0;
+pakg[8] = 0x9F;
+send_long_cmd(pdev,pakg, 9);
+
+//==============code 6=========================
+
+
+pakg[0] = 0xC4;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x10;
+pakg[7] = 0x80;
+pakg[8] = 0xB8;
+send_long_cmd(pdev,pakg, 9);
+
+
+//================code 7=======================
+
+pakg[0] = 0xC5;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x10;
+pakg[7] = 0xA0;
+pakg[8] = 0xB8;
+send_long_cmd(pdev,pakg, 9);
+
+//============code 8
+pakg[0] = 0xC6;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x02;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x10;
+pakg[7] = 0xA0;
+pakg[8] = 0xEC;
+send_long_cmd(pdev,pakg, 9);
+
+//=====code 9
+pakg[0] = 0xC7;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1F;  
+pakg[6] = 0x10;
+pakg[7] = 0x60;
+pakg[8] = 0xE5;
+send_long_cmd(pdev,pakg, 9);
+
+//====code 10
+pakg[0] = 0xC8;  
+pakg[1] = 0xFF;  
+send_long_cmd(pdev,pakg, 2);
+
+//====code 11
+pakg[0] = 0xB0;  
+pakg[1] = 0x00;  
+pakg[2] = 0x08;  
+pakg[3] = 0x0C;  
+pakg[4] = 0x14;  
+pakg[5] = 0x14;  
+send_long_cmd(pdev,pakg, 6);
+
+//=====code 12
+pakg[0] = 0xBA;  
+pakg[1] = 0x20;  
+send_long_cmd(pdev,pakg, 2);
+
+//====code 13
+pakg[0] = 0xBB;  
+pakg[1] = 0x55;  
+pakg[2] = 0x55;  
+pakg[3] = 0x55;  
+pakg[4] = 0x55;  
+pakg[5] = 0x55;  
+pakg[6] = 0x55;
+pakg[7] = 0x55;
+send_long_cmd(pdev,pakg, 8);
+
+//=====code 14
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x02;  
+send_long_cmd(pdev,pakg, 6);
+
+//====code 14a
+
+pakg[0] = 0xE1;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+//====code 15
+pakg[0] = 0xCA;  
+pakg[1] = 0x04;  
+send_long_cmd(pdev,pakg, 2);
+
+//====code 16
+pakg[0] = 0xE2;  
+pakg[1] = 0x0A;  
+send_long_cmd(pdev,pakg, 2);
+
+//===code 17
+pakg[0] = 0xE3;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+//=====code 18
+pakg[0] = 0xE7;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+//====code 19
+pakg[0] = 0xED;  
+pakg[1] = 0x48;  
+pakg[2] = 0x00;  
+pakg[3] = 0xE0;  
+pakg[4] = 0x13;  
+pakg[5] = 0x08;  
+pakg[6] = 0x00;
+pakg[7] = 0x92;
+pakg[8] = 0x08;
+send_long_cmd(pdev,pakg, 9);
+
+//=====code 20
+pakg[0] = 0xFD;  
+pakg[1] = 0x00;  
+pakg[2] = 0x08;  
+pakg[3] = 0x1C;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+pakg[6] = 0x01;  
+send_long_cmd(pdev,pakg, 7);
+
+//======code 21
+pakg[0] = 0xC3;  
+pakg[1] = 0x11;  
+pakg[2] = 0x24;  
+pakg[3] = 0x04;  
+pakg[4] = 0x0A;  
+pakg[5] = 0x01;  
+pakg[6] = 0x04;
+pakg[7] = 0x00;
+pakg[8] = 0x1C;
+pakg[9] = 0x10;
+pakg[10] = 0xF0;
+pakg[11] = 0x00;
+send_long_cmd(pdev,pakg, 12);
+
+//======code 22
+pakg[0] = 0xEA;  
+pakg[1] = 0x7F;  
+pakg[2] = 0x20;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+send_long_cmd(pdev,pakg, 6);
+
+//=====code 23
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x01;  
+send_long_cmd(pdev,pakg, 6);
+
+//======code 24
+pakg[0] = 0xB0;  
+pakg[1] = 0x01;  
+pakg[2] = 0x01;  
+pakg[3] = 0x01;  
+send_long_cmd(pdev,pakg, 4);
+
+//======code 25
+pakg[0] = 0xB1;  
+pakg[1] = 0x05;  
+pakg[2] = 0x05;  
+pakg[3] = 0x05;  
+send_long_cmd(pdev,pakg, 4);
+
+//======code 26
+pakg[0] = 0xB2;  
+pakg[1] = 0xD0;  
+pakg[2] = 0xD0;  
+pakg[3] = 0xD0;  
+send_long_cmd(pdev,pakg, 4);
+
+//====code 27
+pakg[0] = 0xB4;  
+pakg[1] = 0x37;  
+pakg[2] = 0x37;  
+pakg[3] = 0x37;  
+send_long_cmd(pdev,pakg, 4);
+
+//===code 28
+pakg[0] = 0xB5;  
+pakg[1] = 0x05;  
+pakg[2] = 0x05;  
+pakg[3] = 0x05;  
+send_long_cmd(pdev,pakg, 4);
+//====code 29
+pakg[0] = 0xB6;  
+pakg[1] = 0x54;  
+pakg[2] = 0x54;  
+pakg[3] = 0x54;  
+send_long_cmd(pdev,pakg, 4);
+
+//======code 30
+pakg[0] = 0xB7;  
+pakg[1] = 0x24;  
+pakg[2] = 0x24;  
+pakg[3] = 0x24;  
+send_long_cmd(pdev,pakg, 4);
+
+//====code 31
+pakg[0] = 0xB8;  
+pakg[1] = 0x24;  
+pakg[2] = 0x24;  
+pakg[3] = 0x24;  
+send_long_cmd(pdev,pakg, 4);
+
+//====code 32
+pakg[0] = 0xB9;  
+pakg[1] = 0x14;  
+pakg[2] = 0x14;  
+pakg[3] = 0x14;  
+send_long_cmd(pdev,pakg, 4);
+
+//======code 33
+
+pakg[0] = 0xBA;  
+pakg[1] = 0x14;  
+pakg[2] = 0x14;  
+pakg[3] = 0x14;  
+send_long_cmd(pdev,pakg, 4);
+
+//=====code 34
+pakg[0] = 0xBC;  
+pakg[1] = 0x00;  
+pakg[2] = 0xF8;  
+pakg[3] = 0xB2;  
+send_long_cmd(pdev,pakg, 4);
+
+
+
+//===code 35
+pakg[0] = 0xBE;  
+pakg[1] = 0x23;  
+pakg[2] = 0x00;  
+pakg[3] = 0x90;  
+send_long_cmd(pdev,pakg, 4);
+
+
+//=====code 37
+pakg[0] = 0xCB;  
+pakg[1] = 0x00;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+pakg[6] = 0x00;
+pakg[7] = 0x00;
+pakg[8] = 0x00;
+pakg[9] = 0x00;
+pakg[10] = 0x00;
+pakg[11] = 0x00;
+pakg[12] = 0x00;
+send_long_cmd(pdev,pakg, 13);
+
+//====code 38
+pakg[0] = 0xCC;  
+pakg[1] = 0x19;  
+pakg[2] = 0x19;  
+pakg[3] = 0x19;  
+pakg[4] = 0x19;  
+pakg[5] = 0x19;  
+pakg[6] = 0x19;
+pakg[7] = 0x19;
+pakg[8] = 0x19;
+pakg[9] = 0x19;
+pakg[10] = 0x19;
+pakg[11] = 0x19;
+pakg[12] = 0x19;
+send_long_cmd(pdev,pakg, 13);
+
+
+//====code 39  
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x03;  
+send_long_cmd(pdev,pakg, 6);
+
+
+//=== code 40
+pakg[0] = 0xF1;  
+pakg[1] = 0x10;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x01;  
+pakg[6] = 0x30;
+send_long_cmd(pdev,pakg, 7);
+
+
+//===== code 41
+pakg[0] = 0xF6;  
+pakg[1] = 0x0A;  
+send_long_cmd(pdev,pakg, 2);
+
+//=====code 42
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x05;  
+send_long_cmd(pdev,pakg, 6);
+
+//====code 43
+pakg[0] = 0xC0;  
+pakg[1] = 0x06;  
+pakg[2] = 0x02;  
+pakg[3] = 0x02;  
+pakg[4] = 0x22;  
+pakg[5] = 0x00;  
+pakg[6] = 0x00;
+pakg[7] = 0x01;
+send_long_cmd(pdev,pakg, 8);
+
+/*
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x02;  
+send_long_cmd(pdev,pakg, 6);
+
+pakg[0] = 0xFE;  
+pakg[1] = 0x00;  
+pakg[2] = 0x80;  
+send_long_cmd(pdev,pakg, 3);
+*/
+pakg[0] = 0x35;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+pakg[0] = 0x11;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+
+
+
     
-*/    
-    send_short_cmd(pdev, 0x11);
-    mdelay(200);
-    send_short_cmd(pdev, 0x29);
-    mdelay(200);
-    send_short_cmd_1(pdev, 0, 0x32);
-    mdelay(200);
+ mdelay(120);      
+pakg[0] = 0x29;  
+pakg[1] = 0x00;  
+send_long_cmd(pdev,pakg, 2);
+
+mdelay(120);
 }
 
 

 

U-BOOT

 

 

diff --git a/arch/arm/dts/actduino_bubble_gum_v10.dts b/arch/arm/dts/actduino_bubble_gum_v10.dts
index 862cb21..740738d 100755
--- a/arch/arm/dts/actduino_bubble_gum_v10.dts
+++ b/arch/arm/dts/actduino_bubble_gum_v10.dts
@@ -275,7 +275,7 @@
 
     framebuffer {
         compatible = "actions,framebuffer";
-        def_display  = "hdmi";
+        def_display  = "dsi";
         xres=<1280>;
         yres=<720>;
         bpp = <4>;
@@ -287,7 +287,50 @@
     };
 
     dsi: dsi@b0220000 {
-        status = "disabled";
+        pinctrl-names = "default";
+        pinctrl-0 = <&dsi_state_default>;
+        dsi_power_gpios = <&gpio 90 0>;    /*hr280ac GPIOD30*/
+        dsi_reset_gpios = <&gpio 91 0>;   /*S500 GPIOD19*/    
+        port_type = "dsi";    
+        data_width = <0>;
+        videomode-0 = <&dsi_mode>;
+        hw-set = <&dsi_reg>;
+        dsi_reg:val{                                                    
+dsi_ctrl =< 0x1340>;
+dsi_size = <0x5000000>;
+dsi_color = <0xff0000>;
+dsi_rgbht0 = <0xc090>;
+dsi_rgbht1 = <0x3e8>;
+dsi_rgbvt0 = <0x1f40540>;
+dsi_rgbvt1 =<0x31>;
+dsi_pack_cfg = <0x0>;
+dsi_pack_header =<0x870>;
+dsi_vedio_cfg = <0x30c>;
+dsi_phy_t0 = <0x95a>;
+dsi_phy_t1 =<0x1b12>;
+dsi_phy_t2 = <0x2f04>;
+dsi_phy_ctrl = <0xfc94>;
+dsi_pin_map = <0x688>;
+cmu_dsipll_clk = <0x12001>;
+
+        };
+        
+        dsi_mode:mode@480x800p60 {
+                         refresh = <60>;
+                xres = <720>;
+                yres = <1280>;
+                /*in pico second, 0.000 000 000 001s*/
+                          pixelclock = <15817>;
+                    left_margin = <16>;
+            right_margin = <16>;
+            upper_margin = <16>;
+            lower_margin = <16>;
+            hsync_len = <32>;
+            vsync_len = <32>;
+                     /* 0: FB_VMODE_NONINTERLACED, 1:FB_VMODE_INTERLACED */
+                vmode = <0>;
+
+        };
     };
 
     hdmi:hdmi@b02c0000{
diff --git a/drivers/video/owl_dsi_cmd.c b/drivers/video/owl_dsi_cmd.c
index e95de1d..efafebe 100755
--- a/drivers/video/owl_dsi_cmd.c
+++ b/drivers/video/owl_dsi_cmd.c
@@ -13,7 +13,13 @@
 #include <fdt.h>
 #include <libfdt.h>
 
+#if 0//for s500 SDK
+#include <asm/arch/clocks.h>
+#include <asm/arch/regs.h>
+#else//for AD500 SDK
 #include <asm/arch/actions_reg_owl.h>
+#endif
+
 #include <asm/arch/owl_lcd.h>
 #include <asm/io.h>
 #include <asm/arch/pwm_backlight.h>
@@ -32,10 +38,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #define PICOS2KHZ(a) (1000000000UL/(a))
 #define KHZ2PICOS(a) (1000000000UL/(a))
-
+  
 
 #define LONG_CMD_MODE 0x39
-#define SHORT_CMD_MODE 0x05
+#define SHORT_CMD_MODE 0x15
 
 #define POWER_MODE  0x01
 
@@ -55,7 +61,9 @@ void send_short_cmd_1(int cmd, int singnal)
 }
 
 /*
-
+1. 如需发长包命令
+    首先调用start_long_cmd
+    在发完最后一个长命令后调用end_long_cmd
 
 2. 长包格式
     pakg[0] cmd
@@ -75,8 +83,445 @@ void send_short_cmd_1(int cmd, int singnal)
 void send_cmd(void)
 {
     char pakg[100];
-/*    
-    start_long_cmd();
+    
+
+
+//==============Code 1=============
+pakg[0] = 0xf0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xaa;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x00;  
+send_long_cmd(pakg, 6);    
+
+//=================code 2 =================
+pakg[0] = 0xC0;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1e;  
+pakg[6] = 0x10;
+pakg[7] = 0x60;
+pakg[8] = 0xe5;
+send_long_cmd(pakg, 9);
+
+
+//===========code 3============================
+
+pakg[0] = 0xC1;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x01;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x00;
+pakg[7] = 0xF0;
+pakg[8] = 0xC8;
+send_long_cmd(pakg, 9);
+
+//================code 4 ======================
+pakg[0] = 0xC2;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x2A;
+pakg[7] = 0xA0;
+pakg[8] = 0x9F;
+send_long_cmd(pakg, 9);    
+
+//=================code 5=====================
+pakg[0] = 0xC3;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x2A;
+pakg[7] = 0xA0;
+pakg[8] = 0x9F;
+send_long_cmd(pakg, 9);
+
+//==============code 6=========================
+
+
+pakg[0] = 0xC4;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1D;  
+pakg[6] = 0x10;
+pakg[7] = 0x80;
+pakg[8] = 0xB8;
+send_long_cmd(pakg, 9);
+
+
+//================code 7=======================
+
+pakg[0] = 0xC5;  
+pakg[1] = 0xC0;  
+pakg[2] = 0x02;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x10;
+pakg[7] = 0xA0;
+pakg[8] = 0xB8;
+send_long_cmd(pakg, 9);
+
+//============code 8
+pakg[0] = 0xC6;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x02;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1E;  
+pakg[6] = 0x10;
+pakg[7] = 0xA0;
+pakg[8] = 0xEC;
+send_long_cmd(pakg, 9);
+
+//=====code 9
+pakg[0] = 0xC7;  
+pakg[1] = 0xC7;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x1F;  
+pakg[6] = 0x10;
+pakg[7] = 0x60;
+pakg[8] = 0xE5;
+send_long_cmd(pakg, 9);
+
+//====code 10
+pakg[0] = 0xC8;  
+pakg[1] = 0xFF;  
+send_long_cmd(pakg, 2);
+
+//====code 11
+pakg[0] = 0xB0;  
+pakg[1] = 0x00;  
+pakg[2] = 0x08;  
+pakg[3] = 0x0C;  
+pakg[4] = 0x14;  
+pakg[5] = 0x14;  
+send_long_cmd(pakg, 6);
+
+//=====code 12
+pakg[0] = 0xBA;  
+pakg[1] = 0x20;  
+send_long_cmd(pakg, 2);
+
+//====code 13
+pakg[0] = 0xBB;  
+pakg[1] = 0x55;  
+pakg[2] = 0x55;  
+pakg[3] = 0x55;  
+pakg[4] = 0x55;  
+pakg[5] = 0x55;  
+pakg[6] = 0x55;
+pakg[7] = 0x55;
+send_long_cmd(pakg, 8);
+
+//=====code 14
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x02;  
+send_long_cmd(pakg, 6);
+
+//====code 14a
+
+pakg[0] = 0xE1;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+//====code 15
+pakg[0] = 0xCA;  
+pakg[1] = 0x04;  
+send_long_cmd(pakg, 2);
+
+//====code 16
+pakg[0] = 0xE2;  
+pakg[1] = 0x0A;  
+send_long_cmd(pakg, 2);
+
+//===code 17
+pakg[0] = 0xE3;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+//=====code 18
+pakg[0] = 0xE7;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+//====code 19
+pakg[0] = 0xED;  
+pakg[1] = 0x48;  
+pakg[2] = 0x00;  
+pakg[3] = 0xE0;  
+pakg[4] = 0x13;  
+pakg[5] = 0x08;  
+pakg[6] = 0x00;
+pakg[7] = 0x92;
+pakg[8] = 0x08;
+send_long_cmd(pakg, 9);
+
+//=====code 20
+pakg[0] = 0xFD;  
+pakg[1] = 0x00;  
+pakg[2] = 0x08;  
+pakg[3] = 0x1C;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+pakg[6] = 0x01;  
+send_long_cmd(pakg, 7);
+
+//======code 21
+pakg[0] = 0xC3;  
+pakg[1] = 0x11;  
+pakg[2] = 0x24;  
+pakg[3] = 0x04;  
+pakg[4] = 0x0A;  
+pakg[5] = 0x01;  
+pakg[6] = 0x04;
+pakg[7] = 0x00;
+pakg[8] = 0x1C;
+pakg[9] = 0x10;
+pakg[10] = 0xF0;
+pakg[11] = 0x00;
+send_long_cmd(pakg, 12);
+
+//======code 22
+pakg[0] = 0xEA;  
+pakg[1] = 0x7F;  
+pakg[2] = 0x20;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+send_long_cmd(pakg, 6);
+
+//=====code 23
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x01;  
+send_long_cmd(pakg, 6);
+
+//======code 24
+pakg[0] = 0xB0;  
+pakg[1] = 0x01;  
+pakg[2] = 0x01;  
+pakg[3] = 0x01;  
+send_long_cmd(pakg, 4);
+
+//======code 25
+pakg[0] = 0xB1;  
+pakg[1] = 0x05;  
+pakg[2] = 0x05;  
+pakg[3] = 0x05;  
+send_long_cmd(pakg, 4);
+
+//======code 26
+pakg[0] = 0xB2;  
+pakg[1] = 0xD0;  
+pakg[2] = 0xD0;  
+pakg[3] = 0xD0;  
+send_long_cmd(pakg, 4);
+
+//====code 27
+pakg[0] = 0xB4;  
+pakg[1] = 0x37;  
+pakg[2] = 0x37;  
+pakg[3] = 0x37;  
+send_long_cmd(pakg, 4);
+
+//===code 28
+pakg[0] = 0xB5;  
+pakg[1] = 0x05;  
+pakg[2] = 0x05;  
+pakg[3] = 0x05;  
+send_long_cmd(pakg, 4);
+//====code 29
+pakg[0] = 0xB6;  
+pakg[1] = 0x54;  
+pakg[2] = 0x54;  
+pakg[3] = 0x54;  
+send_long_cmd(pakg, 4);
+
+//======code 30
+pakg[0] = 0xB7;  
+pakg[1] = 0x24;  
+pakg[2] = 0x24;  
+pakg[3] = 0x24;  
+send_long_cmd(pakg, 4);
+
+//====code 31
+pakg[0] = 0xB8;  
+pakg[1] = 0x24;  
+pakg[2] = 0x24;  
+pakg[3] = 0x24;  
+send_long_cmd(pakg, 4);
+
+//====code 32
+pakg[0] = 0xB9;  
+pakg[1] = 0x14;  
+pakg[2] = 0x14;  
+pakg[3] = 0x14;  
+send_long_cmd(pakg, 4);
+
+//======code 33
+
+pakg[0] = 0xBA;  
+pakg[1] = 0x14;  
+pakg[2] = 0x14;  
+pakg[3] = 0x14;  
+send_long_cmd(pakg, 4);
+
+//=====code 34
+pakg[0] = 0xBC;  
+pakg[1] = 0x00;  
+pakg[2] = 0xF8;  
+pakg[3] = 0xB2;  
+send_long_cmd(pakg, 4);
+
+
+
+//===code 35
+pakg[0] = 0xBE;  
+pakg[1] = 0x23;  
+pakg[2] = 0x00;  
+pakg[3] = 0x90;  
+send_long_cmd(pakg, 4);
+
+
+//=====code 37
+pakg[0] = 0xCB;  
+pakg[1] = 0x00;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x00;  
+pakg[6] = 0x00;
+pakg[7] = 0x00;
+pakg[8] = 0x00;
+pakg[9] = 0x00;
+pakg[10] = 0x00;
+pakg[11] = 0x00;
+pakg[12] = 0x00;
+send_long_cmd(pakg, 13);
+
+//====code 38
+pakg[0] = 0xCC;  
+pakg[1] = 0x19;  
+pakg[2] = 0x19;  
+pakg[3] = 0x19;  
+pakg[4] = 0x19;  
+pakg[5] = 0x19;  
+pakg[6] = 0x19;
+pakg[7] = 0x19;
+pakg[8] = 0x19;
+pakg[9] = 0x19;
+pakg[10] = 0x19;
+pakg[11] = 0x19;
+pakg[12] = 0x19;
+send_long_cmd(pakg, 13);
+
+
+//====code 39  
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x03;  
+send_long_cmd(pakg, 6);
+
+
+//=== code 40
+pakg[0] = 0xF1;  
+pakg[1] = 0x10;  
+pakg[2] = 0x00;  
+pakg[3] = 0x00;  
+pakg[4] = 0x00;  
+pakg[5] = 0x01;  
+pakg[6] = 0x30;
+send_long_cmd(pakg, 7);
+
+
+//===== code 41
+pakg[0] = 0xF6;  
+pakg[1] = 0x0A;  
+send_long_cmd(pakg, 2);
+
+//=====code 42
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x05;  
+send_long_cmd(pakg, 6);
+
+//====code 43
+pakg[0] = 0xC0;  
+pakg[1] = 0x06;  
+pakg[2] = 0x02;  
+pakg[3] = 0x02;  
+pakg[4] = 0x22;  
+pakg[5] = 0x00;  
+pakg[6] = 0x00;
+pakg[7] = 0x01;
+send_long_cmd(pakg, 8);
+
+/*
+pakg[0] = 0xF0;  
+pakg[1] = 0x55;  
+pakg[2] = 0xAA;  
+pakg[3] = 0x52;  
+pakg[4] = 0x08;  
+pakg[5] = 0x02;  
+send_long_cmd(pakg, 6);
+
+pakg[0] = 0xFE;  
+pakg[1] = 0x00;  
+pakg[2] = 0x80;  
+send_long_cmd(pakg, 3);
+*/
+pakg[0] = 0x35;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+pakg[0] = 0x11;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+
+
+
+    
+ mdelay(120);      
+pakg[0] = 0x29;  
+pakg[1] = 0x00;  
+send_long_cmd(pakg, 2);
+
+mdelay(120);
+}
+
+
+void send_cmd_test(void)
+{
+    char pakg[100];
+    
     pakg[0] = 0xbf;  
     pakg[1] = 0x93;  
     pakg[2] = 0x61;  
@@ -85,13 +530,4 @@ void send_cmd(void)
     pakg[0] = 0xbf;  
     pakg[1] = 0x93;  
     send_long_cmd(pakg, 2);    
-    end_long_cmd();
-    
-*/    
-    send_short_cmd(0x11);
-    mdelay(200);
-    send_short_cmd(0x29);
-    send_short_cmd_1(0, 0x32);
-    mdelay(200);
 }
-

 

 

 

 

Can anybody help me?

 

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines