All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 4/5] cfb_console: Add support for some ANSI terminal escape codes
Date: Fri, 19 Oct 2012 14:00:07 +0200	[thread overview]
Message-ID: <1350648008-25514-5-git-send-email-pali.rohar@gmail.com> (raw)
In-Reply-To: <1350648008-25514-1-git-send-email-pali.rohar@gmail.com>

 * This patch add support for move cursor, reverse colors and clear console
   via ANSI espace codes in cfb_console driver
 * ANSI escape codes can be enabled/disabled via CONFIG_CFB_CONSOLE_ANSI

Signed-off-by: Pali Roh?r <pali.rohar@gmail.com>
---
Changes in v4:
   - No changes

Changes in v3:
   - Fixed multiline comments

Changes in v2:
   - Added support ANSI code show/hide cursor
   - Added info to README

Changes since original version:
   - Fixed commit message

 README                      |    3 +
 drivers/video/cfb_console.c |  313 +++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 307 insertions(+), 9 deletions(-)

diff --git a/README b/README
index 9804cea..d45a91d 100644
--- a/README
+++ b/README
@@ -655,6 +655,9 @@ The following options need to be configured:
 						additional board info beside
 						the logo
 
+		When CONFIG_CFB_CONSOLE_ANSI is defined, console will have
+		ANSI terminal support. Needed for CONFIG_CMDLINE_EDITING.
+
 		When CONFIG_CFB_CONSOLE is defined, video console is
 		default i/o. Serial console can be forced with
 		environment 'console=serial'.
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 9f7794f..3ed96d3 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -385,6 +385,11 @@ static u32 eorx, fgx, bgx;	/* color pats */
 
 static int cfb_do_flush_cache;
 
+static char ansi_buf[10] = { 0, };
+static int ansi_buf_size;
+static int ansi_colors_need_revert;
+static int ansi_cursor_hidden;
+
 static const int video_font_draw_table8[] = {
 	0x00000000, 0x000000ff, 0x0000ff00, 0x0000ffff,
 	0x00ff0000, 0x00ff00ff, 0x00ffff00, 0x00ffffff,
@@ -612,6 +617,14 @@ static void video_putchar(int xx, int yy, unsigned char c)
 	video_drawchars(xx, yy + video_logo_height, &c, 1);
 }
 
+static void console_swap_colors(void)
+{
+	eorx = fgx;
+	fgx = bgx;
+	bgx = eorx;
+	eorx = fgx ^ bgx;
+}
+
 #if defined(CONFIG_CONSOLE_CURSOR) || defined(CONFIG_VIDEO_SW_CURSOR)
 static void video_set_cursor(void)
 {
@@ -695,6 +708,21 @@ static void memcpyl(int *d, int *s, int c)
 }
 #endif
 
+static void console_clear(void)
+{
+#ifdef VIDEO_HW_RECTFILL
+	video_hw_rectfill(VIDEO_PIXEL_SIZE,	/* bytes per pixel */
+			  0,			/* dest pos x */
+			  video_logo_height,	/* dest pos y */
+			  VIDEO_VISIBLE_COLS,	/* frame width */
+			  VIDEO_VISIBLE_ROWS,	/* frame height */
+			  bgx			/* fill color */
+	);
+#else
+	memsetl(CONSOLE_ROW_FIRST, CONSOLE_SIZE, bgx);
+#endif
+}
+
 static void console_clear_line(int line, int begin, int end)
 {
 #ifdef VIDEO_HW_RECTFILL
@@ -768,9 +796,54 @@ static void console_back(void)
 	}
 }
 
-static void console_newline(void)
+static void console_cursor_fix(void)
+{
+	if (console_row < 0)
+		console_row = 0;
+	if (console_row >= CONSOLE_ROWS)
+		console_row = CONSOLE_ROWS-1;
+	if (console_col < 0)
+		console_col = 0;
+	if (console_col >= CONSOLE_COLS)
+		console_col = CONSOLE_COLS-1;
+}
+
+static void console_cursor_up(int n)
+{
+	console_row -= n;
+	console_cursor_fix();
+}
+
+static void console_cursor_down(int n)
+{
+	console_row += n;
+	console_cursor_fix();
+}
+
+static void console_cursor_left(int n)
+{
+	console_col -= n;
+	console_cursor_fix();
+}
+
+static void console_cursor_right(int n)
+{
+	console_col += n;
+	console_cursor_fix();
+}
+
+static void console_cursor_set_position(int row, int col)
+{
+	if (console_row != -1)
+		console_row = row;
+	if (console_col != -1)
+		console_col = col;
+	console_cursor_fix();
+}
+
+static void console_newline(int n)
 {
-	console_row++;
+	console_row += n;
 	console_col = 0;
 
 	/* Check if we need to scroll the terminal */
@@ -779,20 +852,28 @@ static void console_newline(void)
 		console_scrollup();
 
 		/* Decrement row number */
-		console_row--;
+		console_row = CONSOLE_ROWS-1;
 	}
 }
 
+static void console_previewsline(int n)
+{
+	/* FIXME: also scroll terminal ? */
+	console_row -= n;
+	console_cursor_fix();
+}
+
 static void console_cr(void)
 {
 	console_col = 0;
 }
 
-void video_putc(const char c)
+static void parse_putc(const char c)
 {
 	static int nl = 1;
 
-	CURSOR_OFF;
+	if (!ansi_cursor_hidden)
+		CURSOR_OFF;
 
 	switch (c) {
 	case 13:		/* back to first column */
@@ -801,7 +882,7 @@ void video_putc(const char c)
 
 	case '\n':		/* next line */
 		if (console_col || (!console_col && nl))
-			console_newline();
+			console_newline(1);
 		nl = 1;
 		break;
 
@@ -810,7 +891,7 @@ void video_putc(const char c)
 		console_col &= ~0x0007;
 
 		if (console_col >= CONSOLE_COLS)
-			console_newline();
+			console_newline(1);
 		break;
 
 	case 8:		/* backspace */
@@ -827,11 +908,225 @@ void video_putc(const char c)
 
 		/* check for newline */
 		if (console_col >= CONSOLE_COLS) {
-			console_newline();
+			console_newline(1);
 			nl = 0;
 		}
 	}
-	CURSOR_SET;
+
+	if (!ansi_cursor_hidden)
+		CURSOR_SET;
+}
+
+void video_putc(const char c)
+{
+#ifdef CONFIG_CFB_CONSOLE_ANSI
+	int i;
+
+	if (c == 27) {
+		for (i = 0; i < ansi_buf_size; ++i)
+			parse_putc(ansi_buf[i]);
+		ansi_buf[0] = 27;
+		ansi_buf_size = 1;
+		return;
+	}
+
+	if (ansi_buf_size > 0) {
+		/*
+		 * 0 - ESC
+		 * 1 - [
+		 * 2 - num1
+		 * 3 - ..
+		 * 4 - ;
+		 * 5 - num2
+		 * 6 - ..
+		 * - cchar
+		 */
+		int next = 0;
+
+		int flush = 0;
+		int fail = 0;
+
+		int num1 = 0;
+		int num2 = 0;
+		int cchar = 0;
+
+		ansi_buf[ansi_buf_size++] = c;
+
+		if (ansi_buf_size >= sizeof(ansi_buf))
+			fail = 1;
+
+		for (i = 0; i < ansi_buf_size; ++i) {
+			if (fail)
+				break;
+
+			switch (next) {
+			case 0:
+				if (ansi_buf[i] == 27)
+					next = 1;
+				else
+					fail = 1;
+				break;
+
+			case 1:
+				if (ansi_buf[i] == '[')
+					next = 2;
+				else
+					fail = 1;
+				break;
+
+			case 2:
+				if (ansi_buf[i] >= '0' && ansi_buf[i] <= '9') {
+					num1 = ansi_buf[i]-'0';
+					next = 3;
+				} else if (ansi_buf[i] != '?') {
+					--i;
+					num1 = 1;
+					next = 4;
+				}
+				break;
+
+			case 3:
+				if (ansi_buf[i] >= '0' && ansi_buf[i] <= '9') {
+					num1 *= 10;
+					num1 += ansi_buf[i]-'0';
+				} else {
+					--i;
+					next = 4;
+				}
+				break;
+
+			case 4:
+				if (ansi_buf[i] != ';') {
+					--i;
+					next = 7;
+				} else
+					next = 5;
+				break;
+
+			case 5:
+				if (ansi_buf[i] >= '0' && ansi_buf[i] <= '9') {
+					num2 = ansi_buf[i]-'0';
+					next = 6;
+				} else
+					fail = 1;
+				break;
+
+			case 6:
+				if (ansi_buf[i] >= '0' && ansi_buf[i] <= '9') {
+					num2 *= 10;
+					num2 += ansi_buf[i]-'0';
+				} else {
+					--i;
+					next = 7;
+				}
+				break;
+
+			case 7:
+				if ((ansi_buf[i] >= 'A' && ansi_buf[i] <= 'H')
+					|| ansi_buf[i] == 'J'
+					|| ansi_buf[i] == 'K'
+					|| ansi_buf[i] == 'h'
+					|| ansi_buf[i] == 'l'
+					|| ansi_buf[i] == 'm') {
+					cchar = ansi_buf[i];
+					flush = 1;
+				} else
+					fail = 1;
+				break;
+			}
+		}
+
+		if (fail) {
+			for (i = 0; i < ansi_buf_size; ++i)
+				parse_putc(ansi_buf[i]);
+			ansi_buf_size = 0;
+			return;
+		}
+
+		if (flush) {
+			if (!ansi_cursor_hidden)
+				CURSOR_OFF;
+			ansi_buf_size = 0;
+			switch (cchar) {
+			case 'A':
+				/* move cursor num1 rows up */
+				console_cursor_up(num1);
+				break;
+			case 'B':
+				/* move cursor num1 rows down */
+				console_cursor_down(num1);
+				break;
+			case 'C':
+				/* move cursor num1 columns forward */
+				console_cursor_right(num1);
+				break;
+			case 'D':
+				/* move cursor num1 columns back */
+				console_cursor_left(num1);
+				break;
+			case 'E':
+				/* move cursor num1 rows up at begin of row */
+				console_previewsline(num1);
+				break;
+			case 'F':
+				/* move cursor num1 rows down@begin of row */
+				console_newline(num1);
+				break;
+			case 'G':
+				/* move cursor to column num1 */
+				console_cursor_set_position(-1, num1-1);
+				break;
+			case 'H':
+				/* move cursor to row num1, column num2 */
+				console_cursor_set_position(num1-1, num2-1);
+				break;
+			case 'J':
+				/* clear console and move cursor to 0, 0 */
+				console_clear();
+				console_cursor_set_position(0, 0);
+				break;
+			case 'K':
+				/* clear line */
+				if (num1 == 0)
+					console_clear_line(console_row,
+							console_col,
+							CONSOLE_COLS-1);
+				else if (num1 == 1)
+					console_clear_line(console_row,
+							0, console_col);
+				else
+					console_clear_line(console_row,
+							0, CONSOLE_COLS-1);
+				break;
+			case 'h':
+				ansi_cursor_hidden = 0;
+				break;
+			case 'l':
+				ansi_cursor_hidden = 1;
+				break;
+			case 'm':
+				if (num1 == 0) { /* reset swapped colors */
+					if (ansi_colors_need_revert) {
+						console_swap_colors();
+						ansi_colors_need_revert = 0;
+					}
+				} else if (num1 == 7) { /* once swap colors */
+					if (!ansi_colors_need_revert) {
+						console_swap_colors();
+						ansi_colors_need_revert = 1;
+					}
+				}
+				break;
+			}
+			if (!ansi_cursor_hidden)
+				CURSOR_SET;
+		}
+	} else {
+		parse_putc(c);
+	}
+#else
+	parse_putc(c);
+#endif
 }
 
 void video_puts(const char *s)
-- 
1.7.9.5

  parent reply	other threads:[~2012-10-19 12:00 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-24 14:27 [U-Boot] [PATCH 00/14] Nokia RX-51 support Pali Rohár
2012-01-24 14:27 ` [U-Boot] [PATCH 01/14] arm, omap3: Define save_boot_params in lowlevel_init.S for SPL only Pali Rohár
2012-01-25 18:00   ` Marek Vasut
2012-01-25 18:50     ` Tom Rini
2012-01-25 18:47   ` Tom Rini
2012-02-28 16:25   ` Pali Rohár
2012-02-28 16:29     ` Tom Rini
2012-02-29 21:37       ` Marek Vasut
2012-03-05 18:24         ` Tom Rini
2012-03-05 18:49           ` Marek Vasut
2012-01-24 14:27 ` [U-Boot] [PATCH 02/14] arm: Optionally use existing atags in bootm.c Pali Rohár
2012-01-25 18:02   ` Marek Vasut
2012-01-25 19:17     ` Pali Rohár
2012-01-25 20:55       ` Marek Vasut
2012-01-25 21:08         ` Pali Rohár
2012-01-25 21:28           ` Marek Vasut
2012-01-25 21:35             ` Pali Rohár
2012-01-25 21:55               ` Marek Vasut
2012-01-25 22:03                 ` Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 03/14] Add power bus message definitions in twl4030.h Pali Rohár
2012-01-25 18:04   ` Marek Vasut
2012-01-25 19:24     ` Pali Rohár
2012-01-26  7:15     ` Igor Grinberg
2012-01-24 14:28 ` [U-Boot] [PATCH 04/14] Fix function readline in main.c Pali Rohár
2012-01-25 18:05   ` Marek Vasut
2012-02-27 20:39     ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 05/14] cfb_console: Fix function console_scrollup Pali Rohár
2012-01-25 18:06   ` Marek Vasut
2012-01-25 19:59     ` Pali Rohár
2012-03-21  9:45   ` Anatolij Gustschin
2012-03-21 10:20     ` Marek Vasut
2012-03-21 11:32       ` Anatolij Gustschin
2012-03-21 11:39         ` Anatolij Gustschin
2012-03-21 18:50         ` Pali Rohár
2012-03-21 22:58           ` Anatolij Gustschin
2012-03-22  8:58             ` Pali Rohár
2012-03-23  8:47               ` Anatolij Gustschin
2012-04-26 21:45   ` Anatolij Gustschin
2012-04-26 21:50     ` Pali Rohár
2012-04-28 15:11       ` Anatolij Gustschin
2012-04-28 15:58         ` Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line Pali Rohár
2012-01-25 18:08   ` Marek Vasut
2012-01-25 19:31     ` Pali Rohár
2012-01-25 20:54       ` Marek Vasut
2012-01-24 14:28 ` [U-Boot] [PATCH 07/14] cfb_console: Add functions for moving with cursor Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 08/14] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 09/14] New command clear: Clear the ANSI terminal Pali Rohár
2012-01-25 18:10   ` Marek Vasut
2012-01-25 19:33     ` Pali Rohár
2012-01-25 20:53       ` Marek Vasut
2012-02-14  7:02         ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 10/14] New config variable CONFIG_MENUCMD Pali Rohár
2012-01-25 18:12   ` Marek Vasut
2012-01-25 19:39     ` Pali Rohár
2012-01-25 20:53       ` Marek Vasut
2012-01-26 16:43         ` Pali Rohár
2012-02-14  7:09   ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 11/14] New config variable CONFIG_PREMONITOR Pali Rohár
2012-01-25 18:12   ` Marek Vasut
2012-01-25 19:48     ` Pali Rohár
2012-01-25 20:51       ` Marek Vasut
2012-01-25 21:24         ` Pali Rohár
2012-01-25 21:28           ` Marek Vasut
2012-01-25 21:55             ` Pali Rohár
2012-01-25 22:01               ` Marek Vasut
2012-02-14  7:04   ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 12/14] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 13/14] New command bootmenu: ANSI terminal Boot Menu support Pali Rohár
2012-01-25 18:18   ` Marek Vasut
2012-01-25 19:57     ` Pali Rohár
2012-01-27 10:51       ` Sergey Lapin
2012-02-14  7:07       ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 14/14] RX-51: Add support for bootmenu Pali Rohár
2012-01-24 19:25 ` [U-Boot] [PATCH 00/14] Nokia RX-51 support Graeme Russ
2012-01-25  9:48 ` Sergey Lapin
2012-01-25 11:51   ` Pali Rohár
2012-01-25 18:20     ` Marek Vasut
2012-01-25 19:08       ` Pali Rohár
2012-01-25 20:56         ` Marek Vasut
2012-01-25 21:16           ` Pali Rohár
2012-01-25 21:29             ` Marek Vasut
2012-01-25 21:53               ` Pali Rohár
2012-01-25 22:00                 ` Marek Vasut
2012-01-26 16:25                   ` Sergey Lapin
2012-01-26 16:39                     ` Pali Rohár
2012-01-26 16:48                       ` Marek Vasut
2012-01-27  8:59                       ` Sergey Lapin
2012-01-27 10:27                         ` Pali Rohár
2012-01-26 16:48                     ` Marek Vasut
2012-01-25 17:59 ` Marek Vasut
2012-01-26  8:27   ` Graeme Russ
2012-02-04 12:26 ` Pali Rohár
2012-02-04 15:05   ` Marek Vasut
2012-02-26 20:37 ` Pali Rohár
2012-02-26 22:08   ` Marek Vasut
2012-02-27  4:10     ` Mike Frysinger
2012-02-27 18:41       ` Pali Rohár
2012-02-27 20:55         ` Marek Vasut
2012-03-04 20:21           ` Pali Rohár
2012-03-04 20:57             ` Marek Vasut
2012-03-04 21:35               ` Pali Rohár
2012-03-04 21:50                 ` Marek Vasut
2012-03-05 21:54                   ` Pali Rohár
2012-03-04 22:09                 ` Wolfgang Denk
2012-03-05 21:56                   ` Pali Rohár
2012-03-05  4:26                 ` Mike Frysinger
2012-03-05 21:58                   ` Pali Rohár
2012-03-05 23:09                     ` Mike Frysinger
2012-03-10 13:18               ` Pali Rohár
2012-03-04 21:01             ` Mike Frysinger
2012-04-28 17:26 ` [U-Boot] [PATCH v2 00/11] " Pali Rohár
2012-04-28 17:26   ` [U-Boot] [PATCH v2 01/11] arm: Optionally use existing atags in bootm.c Pali Rohár
2012-04-28 21:20     ` Wolfgang Denk
2012-04-29  7:20       ` Pali Rohár
2012-04-29 12:16         ` Wolfgang Denk
2012-04-28 22:15     ` Marek Vasut
2012-04-29  7:14       ` Pali Rohár
2012-04-29  9:10         ` Marek Vasut
2012-04-29  9:15           ` Pali Rohár
2012-04-29 13:08             ` Marek Vasut
2012-06-01 18:31               ` Pali Rohár
2012-04-28 23:22     ` Mike Frysinger
2012-04-29  7:57       ` Pali Rohár
2012-04-28 17:26   ` [U-Boot] [PATCH v2 02/11] Add power bus message definitions in twl4030.h Pali Rohár
2012-04-28 17:26   ` [U-Boot] [PATCH v2 03/11] cfb_console: Fix function console_back Pali Rohár
2012-04-28 22:15     ` Marek Vasut
2012-04-29  7:24       ` Pali Rohár
2012-04-29 12:17         ` Wolfgang Denk
2012-05-19 19:16     ` Anatolij Gustschin
2012-06-01 18:42       ` Pali Rohár
2012-06-04 20:47         ` Anatolij Gustschin
2012-04-28 17:26   ` [U-Boot] [PATCH v2 04/11] cfb_console: Add function console_clear and console_clear_line Pali Rohár
2012-04-28 22:17     ` Marek Vasut
2012-04-28 17:26   ` [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor Pali Rohár
2012-04-28 22:18     ` Marek Vasut
2012-04-29  7:26       ` Pali Rohár
2012-04-29  9:09         ` Marek Vasut
2012-04-29 12:18         ` Wolfgang Denk
2012-05-20 20:38     ` [U-Boot] [PATCH v3 05/11] cfb_console: Add console_clear_line function Anatolij Gustschin
2012-05-20 20:45       ` Anatolij Gustschin
2012-06-04 20:49       ` Anatolij Gustschin
2012-04-28 17:26   ` [U-Boot] [PATCH v2 06/11] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-04-28 22:19     ` Marek Vasut
2012-04-29  7:29       ` Pali Rohár
2012-04-29 12:42         ` Wolfgang Denk
2012-04-28 17:26   ` [U-Boot] [PATCH v2 07/11] cfb_console: Ignore bell character Pali Rohár
2012-06-05  7:30     ` Anatolij Gustschin
2012-04-28 17:26   ` [U-Boot] [PATCH v2 08/11] video: cfb_console: flush dcache for frame buffer in DRAM Pali Rohár
2012-04-28 17:26   ` [U-Boot] [PATCH v2 09/11] New command clear: Clear the ANSI terminal Pali Rohár
2012-08-09 21:02     ` Wolfgang Denk
2012-04-28 17:26   ` [U-Boot] [PATCH v2 10/11] New config variable CONFIG_PREMONITOR Pali Rohár
2012-04-28 20:39     ` Wolfgang Denk
2012-04-29  7:37       ` Pali Rohár
2012-04-29 12:44         ` Wolfgang Denk
2012-04-28 17:26   ` [U-Boot] [PATCH v2 11/11] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-04-28 21:32     ` Wolfgang Denk
2012-04-29  7:55       ` Pali Rohár
2012-04-29  9:18         ` Marek Vasut
2012-04-30 23:37           ` Tom Rini
2012-04-30 23:42             ` Marek Vasut
2012-05-01  0:41               ` Tom Rini
2012-06-01 18:39             ` Pali Rohár
2012-06-01 18:48               ` Marek Vasut
2012-06-01 19:03                 ` Pali Rohár
2012-06-01 20:09                   ` Marek Vasut
2012-04-29 12:49         ` Wolfgang Denk
2012-10-13 19:31 ` [U-Boot] [PATCH v3 0/5] Nokia RX-51 support Pali Rohár
2012-10-13 19:31   ` [U-Boot] [PATCH v3 1/5] arm bootm: Allow to pass board specified atags Pali Rohár
2012-10-13 23:43     ` Marek Vasut
2012-10-14  0:02       ` Pali Rohár
2012-10-14  0:18         ` Marek Vasut
2012-10-14  1:12           ` Pali Rohár
2012-10-13 19:31   ` [U-Boot] [PATCH v3 2/5] arm bootm: Do not append zero ATAG_MEM Pali Rohár
2012-10-13 23:45     ` Marek Vasut
2012-10-14  0:08       ` Pali Rohár
2012-10-14  0:17         ` Marek Vasut
2012-10-14  0:23           ` Pali Rohár
2012-10-14  0:27             ` Marek Vasut
2012-10-14  0:35               ` Pali Rohár
2012-10-14  1:08                 ` Marek Vasut
2012-10-16 15:56                   ` Tom Rini
2012-10-13 19:31   ` [U-Boot] [PATCH v3 3/5] Add power bus message definitions in twl4030.h Pali Rohár
2012-10-13 23:46     ` Marek Vasut
2012-10-14  0:14       ` Pali Rohár
2012-10-14  0:16         ` Marek Vasut
2012-10-14  0:51           ` Pali Rohár
2012-10-14  1:08             ` Marek Vasut
2012-10-13 19:31   ` [U-Boot] [PATCH v3 4/5] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-10-13 23:48     ` Marek Vasut
2012-10-14  0:18       ` Pali Rohár
2012-10-14  0:27         ` Marek Vasut
2012-10-13 19:32   ` [U-Boot] [PATCH v3 5/5] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-10-14  0:06     ` Marek Vasut
2012-10-14  8:31       ` Albert ARIBAUD
2012-10-16 14:43       ` Pali Rohár
2012-10-16 14:55         ` Marek Vasut
2012-10-16 15:46           ` Pali Rohár
2012-10-16 15:57             ` Marek Vasut
2012-10-16 16:15               ` Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 0/5] Nokia RX-51 support Pali Rohár
2012-10-19 12:00   ` [U-Boot] [PATCH v4 1/5] arm bootm: Allow to pass board specified atags Pali Rohár
2012-10-19 12:00   ` [U-Boot] [PATCH v4 2/5] arm bootm: Do not append zero ATAG_MEM Pali Rohár
2012-10-20  9:34     ` Marek Vasut
2012-10-20  9:41       ` Pali Rohár
2012-10-26 17:44         ` Tom Rini
2012-10-26 17:52     ` Tom Rini
2012-10-27 15:29       ` Marek Vasut
2012-10-29 17:37         ` Tom Rini
2012-10-19 12:00   ` [U-Boot] [PATCH v4 3/5] Add power bus message definitions in twl4030.h Pali Rohár
2012-10-19 12:00   ` Pali Rohár [this message]
2012-10-19 23:30     ` [U-Boot] [PATCH v5 4/5] cfb_console: Add support for some ANSI terminal escape codes Anatolij Gustschin
2012-10-23 14:28       ` Pali Rohár
2012-10-19 23:38     ` [U-Boot] [PATCH v4 " Anatolij Gustschin
2012-10-23 14:25       ` Pali Rohár
2012-10-19 12:00   ` [U-Boot] [PATCH v4 5/5] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-10-23  7:20     ` Igor Grinberg
2012-10-29 17:55       ` Pali Rohár
2012-10-29 17:54     ` [U-Boot] [PATCH v5 " Pali Rohár
2012-11-02 17:07       ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1350648008-25514-5-git-send-email-pali.rohar@gmail.com \
    --to=pali.rohar@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.