From 0b8fe718b0f8639421ebd6d7c9e38da399cb5603 Mon Sep 17 00:00:00 2001
From: Jeremy Kerr <jk@ozlabs.org>
Date: Wed, 2 Mar 2016 11:25:47 +0800
Subject: [PATCH 2/9] drivers/drm/ast: Switch SCU to VGA output on POST

On AST BMC platforms, the BMC may be using the VGA device for UART
mirroring. In this case, we need to switch the DAC output to
VGA mode.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 drivers/gpu/drm/ast/ast_post.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/gpu/drm/ast/ast_post.c b/drivers/gpu/drm/ast/ast_post.c
index 810c51d92b99..703dba2ba84b 100644
--- a/drivers/gpu/drm/ast/ast_post.c
+++ b/drivers/gpu/drm/ast/ast_post.c
@@ -32,6 +32,7 @@
 #include "ast_dram_tables.h"
 
 static void ast_init_dram_2300(struct drm_device *dev);
+static void ast_init_output_control(struct drm_device *dev);
 
 void ast_enable_vga(struct drm_device *dev)
 {
@@ -384,6 +385,9 @@ void ast_post_gpu(struct drm_device *dev)
 	else
 		ast_init_dram_reg(dev);
 
+	if (ast->chip == AST2400)
+		ast_init_output_control(dev);
+
 	ast_init_3rdtx(dev);
 }
 
@@ -1655,3 +1659,31 @@ static void ast_init_dram_2300(struct drm_device *dev)
 	} while ((reg & 0x40) == 0);
 }
 
+static void ast_init_output_control(struct drm_device *dev)
+{
+	struct ast_private *ast = dev->dev_private;
+	const uint32_t scu_addr = 0x1e6e2000;
+	const uint32_t scu_key = 0x1688a8a8;
+	uint32_t val;
+
+	/* unlock write access to SCUs */
+	val = ast_mindwm(ast, scu_addr);
+	ast_moutdwm(ast, scu_addr, scu_key);
+
+	/* configure SCU2C with the appropriate video output mode */
+	val = ast_mindwm(ast, scu_addr | 0x2c);
+
+	switch (ast->tx_chip_type) {
+	case AST_TX_SIL164:
+	case AST_TX_DP501:
+		/* Enable DVO output */
+		val &= ~0x40000;
+		break;
+	default:
+		/* VGA only: enable DAC output */
+		val &= ~0x30000;
+		break;
+	}
+
+	ast_moutdwm(ast, scu_addr | 0x2c, val);
+}
-- 
2.9.3

