diff --git a/drivers/video/sunxi/disp2/disp/de/disp_display.c b/drivers/video/sunxi/disp2/disp/de/disp_display.c
index 177afd3aa3..22eecb063a 100644
--- a/drivers/video/sunxi/disp2/disp/de/disp_display.c
+++ b/drivers/video/sunxi/disp2/disp/de/disp_display.c
@@ -813,6 +813,10 @@ s32 bsp_disp_get_screen_width_from_output_type(u32 disp, u32 output_type, u32 ou
 			width = 1280;
 			height = 720;
 			break;
+		case DISP_TV_MOD_800_1280P_70HZ:
+			width = 800;
+			height = 1280;
+			break;
 		case DISP_TV_MOD_1080P_50HZ:
 		case DISP_TV_MOD_1080P_60HZ:
 		case DISP_TV_MOD_1080P_30HZ:
@@ -929,6 +933,10 @@ s32 bsp_disp_get_screen_height_from_output_type(u32 disp, u32 output_type, u32 o
 			width = 1280;
 			height = 720;
 			break;
+		case DISP_TV_MOD_800_1280P_70HZ:
+			width = 800;
+			height = 1280;
+			break;
 		case DISP_TV_MOD_1080P_50HZ:
 		case DISP_TV_MOD_1080P_60HZ:
 		case DISP_TV_MOD_1080P_30HZ:
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/edid.c b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/edid.c
index de5fb7c530..4a2c752552 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/edid.c
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/edid.c
@@ -142,6 +142,8 @@ static supported_dtd_t _dtd[] = {
 	{50000, { 106, 0, 0, 0, 594000, 0, 3840, 1440, 0, 16, 1056,  88, 1, 2160, 90, 0, 9,  8, 10, 1} },
 	{60000, { 107, 0, 0, 0, 594000, 0, 3840,  560, 0, 16,  176,  88, 1, 2160, 90, 0, 9,  8, 10, 1} },
 
+	{70000, { 0x207, 0, 0, 0, 85000, 0, 800, 144, 0, 9, 64, 16, 1, 1280, 24, 0, 16, 10, 4, 1} },
+
 	/*For 3D*/
 	{23976, {(32 + 0x80), 0, 0, 0, 148500, 0, 1920,  830, 0, 16,  638,  44, 1, 1080, 45, 0, 9,  4,  5, 1} },
 	{50000, {(19 + 0x80), 0, 0, 0, 148500, 0, 1280,  700, 0, 16,  440,  40, 1,  720, 30, 0, 9,  5,  5, 1} },
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/phy.c b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
index aaa0ccbcf0..f2f96b7d61 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
@@ -970,7 +970,7 @@ static u32 phy301_get_freq(u32 pClk)
 		return 82500;
 	else if (pClk == 83500)
 		return 83500;
-	else if (pClk == 85500)
+	else if (pClk == 85500 || pClk == 85000)
 		return 85500;
 	else if (pClk == 88750)
 		return 88750;
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/core_edid.c b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
index 17017566c9..f42c8eb0eb 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
@@ -267,7 +267,8 @@ static void edid_set_video_prefered(sink_edid_t *sink_cap,
 
 	if ((pVideo->mDtd.mCode == 0x201)
 		|| (pVideo->mDtd.mCode == 0x202)
-		|| (pVideo->mDtd.mCode == 0x203)) {
+		|| (pVideo->mDtd.mCode == 0x203)
+		|| (pVideo->mDtd.mCode == 0x207)) {
 		pVideo->mCea_code = 0;
 		pVideo->mHdmi_code = 0;
 		return;
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
index f43058019b..88ce2c0470 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
@@ -53,6 +53,8 @@ static struct disp_hdmi_mode hdmi_mode_tbl[] = {
 	{DISP_TV_MOD_2560_1440P_60HZ,     HDMI_VIC_2560x1440P60, },
 	{DISP_TV_MOD_1440_2560P_70HZ,     HDMI_VIC_1440x2560P70, },
 	{DISP_TV_MOD_1080_1920P_60HZ,     HDMI_VIC_1080x1920P60, },
+
+	{DISP_TV_MOD_800_1280P_70HZ,     HDMI_VIC_800x1280P70, },
 };
 
 static struct disp_hdmi_mode hdmi_mode_tbl_4_3[] = {
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
index 3be407a637..2b2fe3e3be 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
@@ -135,6 +135,8 @@ enum HDMI_VIC {
 	HDMI_VIC_2560x1440P60 = 0x201,
 	HDMI_VIC_1440x2560P70 = 0x202,
 	HDMI_VIC_1080x1920P60 = 0x203,
+
+	HDMI_VIC_800x1280P70 = 0x207,
 };
 
 #define HDMI1080P_24_3D_FP  (HDMI_VIC_1920x1080P24 + 0x80)
diff --git a/drivers/video/sunxi/disp2/hdmi2/hdmi_tx.c b/drivers/video/sunxi/disp2/hdmi2/hdmi_tx.c
index f04f6ff84f..74039101bd 100644
--- a/drivers/video/sunxi/disp2/hdmi2/hdmi_tx.c
+++ b/drivers/video/sunxi/disp2/hdmi2/hdmi_tx.c
@@ -1561,6 +1561,7 @@ static struct hdmi_debug_video_mode debug_video_mode[] = {
 	{HDMI_VIC_4096x2160P50, "4096x2160P50"},
 	{HDMI_VIC_3840x2160P60, "2160P60"},
 	{HDMI_VIC_4096x2160P60, "4096x2160P60"},
+	{HDMI_VIC_800x1280P70, "800x1280P70"},
 };
 
 
diff --git a/include/sunxi_display2.h b/include/sunxi_display2.h
index e39ea6b3e3..6bb176ae84 100755
--- a/include/sunxi_display2.h
+++ b/include/sunxi_display2.h
@@ -245,6 +245,8 @@ enum disp_tv_mode
 	DISP_TV_MOD_900_540P_60HZ       = 0x43,
 	DISP_TV_MOD_1920_720P_60HZ      = 0x44,
 
+	DISP_TV_MOD_800_1280P_70HZ      = 0x45,
+
 	/*Just for the solution of hdmi edid detailed timiming block*/
 	DISP_HDMI_MOD_DT0                = 0x4a,
 	DISP_HDMI_MOD_DT1                = 0x4b,
