Tool/software: Linux
Hello TI,
I need to know, how to bring up the u-boot splash screen in u-boot 2016.05 revision . Please help me add the splash screen to u-boot. I am using am335x starter kit and beagle bone black with display 4d cape 43t lcd.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
Hello TI,
I need to know, how to bring up the u-boot splash screen in u-boot 2016.05 revision . Please help me add the splash screen to u-boot. I am using am335x starter kit and beagle bone black with display 4d cape 43t lcd.
Hi Kemal,
I switched to git u-boot branch ti-u-boot-2014.07. And there is no config files in it for the AM335x Starter Kit u-boot configuration.
The configs directory was introduced later, there is no configs directory in earlier versions.
Hi Kemal,
U-boot splash Screen is working with u-boot source code(v2016.05) and with AM335x SK board.
Starter ware examples/evmskAM335x/raster/ code reused for this demonstration (AM335X_StarterWare_02_00_01_01)
below line added to the u-boot top level Makefile
+libs-y += drivers/lcd/
below lines added to the u-boot top board/ti/am335x/board.c
+#include <rasterDisplay.h>
add below line to board_init() function of board/ti/am335x/board.c
+#ifndef CONFIG_SPL_BUILD
+ Lcd_Init();//Initialize
+#endif
But when using this u-boot , kernel boot stops after below message
[ 1.066692] [drm] Initialized drm 1.1.0 20060810
[ 1.074126] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.080903] [drm] No driver support for vblank timestamp query.
Guide me how to solve this problem
and i also wanted to know the license compatible when i use the starter ware code in u-boot?
last question is after adding the lcd driver support and splash screen, u-boot image size becomes double(1.2MB). due this u-boot delays to load the kernel? and Is there any way to reduce the final u-boot binary size?
Hi Kemal,
After Adding the raster display code into u-boot, splash screen displays at the u-boot stage but kernel loading stops during drm driver initialization
below one is kernel boot log
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.32-gadde2ca9f8 (gtbldadm@ubuntu-16) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #1 PREE6
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: TI AM335x EVM-SK
[ 0.000000] cma: Reserved 48 MiB at 0x8a800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES1.0 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=000d9184-02 rw rootfstype=ext4 rootwait loglevel=7
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 200280K/262144K available (6595K kernel code, 316K rwdata, 2412K rodata, 268K init, 265K bss, 12712K reserve)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc08d4004 (9009 kB)
[ 0.000000] .init : 0xc08d5000 - 0xc0918000 ( 268 kB)
[ 0.000000] .data : 0xc0918000 - 0xc0967370 ( 317 kB)
[ 0.000000] .bss : 0xc0967370 - 0xc09a9a98 ( 266 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000017] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000040] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000053] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000256] clocksource_probe: no matching clocksources found
[ 0.000459] Console: colour dummy device 80x30
[ 0.000490] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000498] This ensures that you still see kernel messages. Please
[ 0.000504] update your kernel commandline.
[ 0.000524] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[ 0.118977] pid_max: default: 32768 minimum: 301
[ 0.119116] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.119129] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.119909] Initializing cgroup subsys io
[ 0.119944] Initializing cgroup subsys memory
[ 0.119985] Initializing cgroup subsys devices
[ 0.120003] Initializing cgroup subsys freezer
[ 0.120018] Initializing cgroup subsys perf_event
[ 0.120032] Initializing cgroup subsys pids
[ 0.120062] CPU: Testing write buffer coherency: ok
[ 0.120513] Setting up static identity map for 0x80008200 - 0x80008258
[ 0.122942] devtmpfs: initialized
[ 0.137208] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.153437] omap_hwmod: debugss: _wait_target_disable failed
[ 0.209383] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.213758] pinctrl core: initialized pinctrl subsystem
[ 0.215220] NET: Registered protocol family 16
[ 0.217659] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.238981] cpuidle: using governor ladder
[ 0.268966] cpuidle: using governor menu
[ 0.274029] OMAP GPIO hardware version 0.1
[ 0.285929] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.328277] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.329509] reg-fixed-voltage fixedregulator@2: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinme
[ 0.333420] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins,e
[ 0.333599] media: Linux media interface: v0.10
[ 0.333677] Linux video capture interface: v2.00
[ 0.333731] pps_core: LinuxPPS API ver. 1 registered
[ 0.333739] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.333770] PTP clock support registered
[ 0.333829] EDAC MC: Ver: 3.0.0
[ 0.335128] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.335542] Advanced Linux Sound Architecture Driver Initialized.
[ 0.336903] clocksource: Switched to clocksource timer1
[ 0.349134] NET: Registered protocol family 2
[ 0.350013] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.350054] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.350085] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.350170] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.350193] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.350355] NET: Registered protocol family 1
[ 0.350811] RPC: Registered named UNIX socket transport module.
[ 0.350830] RPC: Registered udp transport module.
[ 0.350837] RPC: Registered tcp transport module.
[ 0.350845] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.351900] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.354142] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.363212] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.364277] NFS: Registering the id_resolver key type
[ 0.364355] Key type id_resolver registered
[ 0.364364] Key type id_legacy registered
[ 0.364459] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.368721] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 0.368755] io scheduler noop registered
[ 0.368769] io scheduler deadline registered
[ 0.368958] io scheduler cfq registered (default)
[ 0.370531] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.374035] backlight supply power not found, using dummy regulator
[ 0.443002] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 0.447684] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
[ 1.063065] console [ttyS0] enabled
[ 1.067874] [drm] Initialized drm 1.1.0 20060810
[ 1.075249] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.082037] [drm] No driver support for vblank timestamp query.
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
Please help to resolve this issue and also give some idea from previous comment questions
The rootfs on your board might be wiped. Can you reflash the SD card and retry?
I tried re flashing also, but still the sync lost error occurs when inserting module tilcdc when i use the raster display integrated u-boot
Does the board successfully boot until login prompt? Can you switch to the latest U-Boot?
I don't get any Sync lost errors if the generated image.h match the display timings in rasterDisplay.c
/* Configuring horizontal timing parameter */ RasterHparamConfig(SOC_LCDC_0_REGS, 480, 4, 8, 43); /* Configuring vertical timing parameters */ RasterVparamConfig(SOC_LCDC_0_REGS, 272, 10, 4, 12);
i am using same configuration for display timing, I used below lines to generate the image.h file and i am getting sync lost error.
bmpToRaster 480 272 image.bmp ./image.h 24 RGB
but this image.h file how to match with the rasterDisplay.c display timings .
Can you check on your Starter Kit, whether you will get these errors with the attached u-boot.img?
md5sum 05c29956a10c721a9b634f8e8a18933d
sha256sum c4a35c860ba72e0afa4bd9f6ea9cc13bf3bd109ed5a153f2c308649826309642
2273.splash.tar.gzCan you use the framebuffer driver already in u-boot. It is in drivers/am335x-fb.c. I've been tasked with coming up with splash screen code and I have it working on the AM335x StarterKit on either 3.2 or 3.3 SDK. I have attached the patches. The LCD data is hard coded for Starter Kit. Currently I'm updating the code to SDK 4.0 and are starting to use the LCD data from the dtb. The image is a gzipped bmp file that is RGB565 and is the size of the screen.
Steve K.
image1 is output of bmptoraster tool this you should include in your rasterDisplay.c