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?