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

Reply via email to