Boot Logo/Splash Screen for SAM SOC's


Introduction

This page describes how to boot Linux with a Boot Logo/ Splash Screen for SAM SOC's.

Changes required in U-boot.

if your using LCD Models TM7000, TM7000B and TM4301B then change below display timing in uboot/arch/arm/dts/<board-name>.dts

                          display-timings {
                                  u-boot,dm-pre-reloc;
                                  800x480 {
                                         clock-frequency = <9000000>;
                                         hactive = <800>;
                                         vactive = <480>;
                                         hsync-len = <64>;
                                         hfront-porch = <1>;
                                         hback-porch = <64>;
                                         vfront-porch = <1>;
                                         vback-porch = <22>;
                                         vsync-len = <23>;
                                         u-boot,dm-pre-reloc;
                                };
                           };

Boot Logo / Splash screen Image can be displayed either by including image directly in u-boot binary or it can be displayed by using BMP command. To use BMP command define CONFIG_CMD_BMP in U-Boot include/configs/<Board-name>.h configuration file.

 
                        #define CONFIG_CMD_BMP

Enable HLCD display driver in U-boot using make menuconfig and Select Device Drivers ---> Graphics support --->

BootLogo_menuconfig.png

Build U-boot binary using make command and to display splash screen, use below BMP commands from u-boot promt.


                       >fatload mmc 1:1 0x22000000 ; bmp display 0x22000000;

Changes required in Linux Device tree.

Add below code snippet to device tree file to create a reserved-memory node to reserve a frame buffer memory allocated in U-boot and add a memory-region property to the hlcd device node as show in below.

             
                      memory {
                                 reg = <0x20000000 0x20000000>;
                      };
              
                     reserved-memory {
                               #address-cells = <1>;
                               #size-cells = <1>;
                               ranges;

                               display_reserved: framebuffer@3FD00000 {
                               reg = <0x3FD00000 0x100000>;
                             };
                       };
            
                     hlcdc: hlcdc@f0000000 {
                             compatible = "atmel,sama5d4-hlcdc";
                             reg = <0xf0000000 0x4000>;
                             interrupts = <51 IRQ_TYPE_LEVEL_HIGH 0>;
                             clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
                             clock-names = "periph_clk","sys_clk", "slow_clk";
                             status = "disabled";
                             memory-region = <&display_reserved>;
                     }

Topic attachments
I Attachment Action Size Date Who Comment
PNGpng BootLogo_menuconfig.png manage 90.9 K 2018-05-03 - 21:01 SandeepSheriker BootLogo_menuconfig
r1 - 03 May 2018 - 21:22:40 - SandeepSheriker
 
Linux & Open Source related information for AT91 Smart ARM Microcontrollers

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Atmel® and others, are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. This site is powered by the TWiki collaboration platform

ARM® and others are registered trademarks or trademarks of ARM Ltd. Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM