video: Provide a left margin for the text console

Allow the left margin to be set so that text does not have to be right up
against the left side. On some panels this makes it hard to read.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 4c0efd5..884db01 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -53,7 +53,7 @@
 	struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
 
 	priv->xcur_frac -= VID_TO_POS(priv->x_charsize);
-	if (priv->xcur_frac < 0) {
+	if (priv->xcur_frac < priv->xstart_frac) {
 		priv->xcur_frac = (priv->cols - 1) *
 			VID_TO_POS(priv->x_charsize);
 		priv->ycur -= priv->y_charsize;
@@ -71,7 +71,7 @@
 	const int rows = CONFIG_CONSOLE_SCROLL_LINES;
 	int i;
 
-	priv->xcur_frac = 0;
+	priv->xcur_frac = priv->xstart_frac;
 	priv->ycur += priv->y_charsize;
 
 	/* Check if we need to scroll the terminal */
@@ -95,7 +95,7 @@
 		/* beep */
 		break;
 	case '\r':
-		priv->xcur_frac = 0;
+		priv->xcur_frac = priv->xstart_frac;
 		break;
 	case '\n':
 		vidconsole_newline(dev);
diff --git a/include/video_console.h b/include/video_console.h
index eeba368..cbbf134 100644
--- a/include/video_console.h
+++ b/include/video_console.h
@@ -27,6 +27,7 @@
  * @y_charsize:	Character height in pixels
  * @tab_width_frac:	Tab width in fractional units
  * @xsize_frac:	Width of the display in fractional units
+ * @xstart_frac:	Left margin for the text console in fractional units
  */
 struct vidconsole_priv {
 	struct stdio_dev sdev;
@@ -38,6 +39,7 @@
 	int y_charsize;
 	int tab_width_frac;
 	int xsize_frac;
+	int xstart_frac;
 };
 
 /**