diff --git a/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c b/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c
index 40922d902a47..e90c80e298fd 100644
--- a/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c
+++ b/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c
@@ -1068,6 +1068,10 @@ s32 bsp_disp_get_screen_width_from_output_type(u32 disp, u32 output_type,
 			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:
@@ -1197,6 +1201,10 @@ s32 bsp_disp_get_screen_height_from_output_type(u32 disp, u32 output_type,
 			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/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/edid.c b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/edid.c
index 1eebc8b33d8e..66164c327068 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/edid.c
+++ b/drivers/video/fbdev/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/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/phy.c b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
index 2b1558d3f1be..40620c05fdb8 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
+++ b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/api/phy.c
@@ -1136,7 +1136,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/fbdev/sunxi/disp2/hdmi2/hdmi_core/core_edid.c b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
index 7af8736b9e75..0993532fa51e 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
+++ b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/core_edid.c
@@ -449,7 +449,8 @@ static void edid_set_video_prefered(sink_edid_t *sink_cap, videoParams_t *pVideo
 
 	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/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
index 5d7d1b791d77..ea2aef534956 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
+++ b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.c
@@ -61,6 +61,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/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
index 03f2c1676c06..f1e2e5db72a6 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
+++ b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_core/hdmi_core.h
@@ -137,6 +137,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/fbdev/sunxi/disp2/hdmi2/hdmi_tx.c b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_tx.c
index 70212b20cc68..e89b2922f7fb 100644
--- a/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_tx.c
+++ b/drivers/video/fbdev/sunxi/disp2/hdmi2/hdmi_tx.c
@@ -2967,6 +2967,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/video/sunxi_display2.h b/include/video/sunxi_display2.h
index 7ae2286e7a85..b0677811d35b 100644
--- a/include/video/sunxi_display2.h
+++ b/include/video/sunxi_display2.h
@@ -232,6 +232,9 @@ enum disp_tv_mode {
 	DISP_TV_MOD_1024_768P_60HZ      = 0x42,
 	DISP_TV_MOD_900_540P_60HZ       = 0x43,
 	DISP_TV_MOD_1920_720P_60HZ      = 0x44,
+
+	DISP_TV_MOD_800_1280P_70HZ	= 0x45,
+
 	/* vga */
 	DISP_VGA_MOD_640_480P_60 = 0x50,
 	DISP_VGA_MOD_800_600P_60 = 0x51,
