Dear Paul Burton, > On 10/11/13 20:08, Marek Vasut wrote: > > Dear Paul Burton, > > > >> Displaying a message on the LCD screen is a simple yet effective way to > >> show the user that the board has booted successfully. > >> > >> Signed-off-by: Paul Burton <paul.bur...@imgtec.com> > >> --- > >> > >> Changes in v3: > >> - rebase atop master > >> > >> Changes in v2: > >> - rebased after malta moved to board/imgtec/malta > >> > >> --- > >> > >> arch/mips/include/asm/malta.h | 10 ++++++++++ > >> board/imgtec/malta/malta.c | 19 +++++++++++++++++++ > >> 2 files changed, 29 insertions(+) > >> > >> diff --git a/arch/mips/include/asm/malta.h > >> b/arch/mips/include/asm/malta.h index 0b50a66..d8ec57c 100644 > >> --- a/arch/mips/include/asm/malta.h > >> +++ b/arch/mips/include/asm/malta.h > >> @@ -32,6 +32,16 @@ > >> > >> #define MALTA_MSC01_PCIIO_MAP 0x00000000 > >> #define MALTA_MSC01_UART0_BASE (MALTA_MSC01_PCIIO_BASE + 0x3f8) > >> > >> +#define MALTA_ASCIIWORD 0x1f000410 > >> +#define MALTA_ASCIIPOS0 0x1f000418 > >> +#define MALTA_ASCIIPOS1 0x1f000420 > >> +#define MALTA_ASCIIPOS2 0x1f000428 > >> +#define MALTA_ASCIIPOS3 0x1f000430 > >> +#define MALTA_ASCIIPOS4 0x1f000438 > >> +#define MALTA_ASCIIPOS5 0x1f000440 > >> +#define MALTA_ASCIIPOS6 0x1f000448 > >> +#define MALTA_ASCIIPOS7 0x1f000450 > >> + > >> > >> #define MALTA_RESET_BASE 0x1f000500 > >> #define GORESET 0x42 > >> > >> diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c > >> index 2af0067..119546a 100644 > >> --- a/board/imgtec/malta/malta.c > >> +++ b/board/imgtec/malta/malta.c > >> @@ -29,6 +29,24 @@ enum sys_con { > >> > >> SYSCON_MSC01, > >> > >> }; > >> > >> +static void malta_lcd_puts(const char *str) > >> +{ > >> + int i; > >> + void *reg = (void *)CKSEG1ADDR(MALTA_ASCIIPOS0); > >> + > >> + /* print up to 8 characters of the string */ > >> + for (i = 0; i < min(strlen(str), 8); i++) { > >> + __raw_writel(str[i], reg); > >> + reg += MALTA_ASCIIPOS1 - MALTA_ASCIIPOS0; > >> + } > >> + > >> + /* fill the rest of the display with spaces */ > >> + for (; i < 8; i++) { > >> + __raw_writel(' ', reg); > >> + reg += MALTA_ASCIIPOS1 - MALTA_ASCIIPOS0; > >> + } > >> +} > >> + > >> > >> static enum core_card malta_core_card(void) > >> { > >> > >> u32 corid, rev; > >> > >> @@ -71,6 +89,7 @@ int checkboard(void) > >> > >> { > >> > >> enum core_card core; > >> > >> + malta_lcd_puts("U-boot"); > >> > >> puts("Board: MIPS Malta"); > >> > >> core = malta_core_card(); > > > > Can this not be implemented as a regular framebuffer console maybe? > > > > Best regards, > > Marek Vasut > > We're talking about an 8 character segmented LCD display here - it's not > something you can draw (non-ASCII) graphics on, nor something you want > to be interacting with even if you hooked up some input.
Oh OK, I see. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot