X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=common%2Fsplash.c;h=d251b3b6547018f75faca2da742e89edd53af319;hb=67a2616af18bbb38905b90ed1c6b66659671e1da;hp=144fb10ddda36d1855d72ac8ac312e29346cc45b;hpb=3364b1898c23f8016548acc2c099b08e865b8a61;p=u-boot diff --git a/common/splash.c b/common/splash.c index 144fb10ddd..d251b3b654 100644 --- a/common/splash.c +++ b/common/splash.c @@ -22,16 +22,45 @@ #include #include +#include + +static struct splash_location default_splash_locations[] = { + { + .name = "sf", + .storage = SPLASH_STORAGE_SF, + .flags = SPLASH_STORAGE_RAW, + .offset = 0x0, + }, + { + .name = "mmc_fs", + .storage = SPLASH_STORAGE_MMC, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "usb_fs", + .storage = SPLASH_STORAGE_USB, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, + { + .name = "sata_fs", + .storage = SPLASH_STORAGE_SATA, + .flags = SPLASH_STORAGE_FS, + .devpart = "0:1", + }, +}; __weak int splash_screen_prepare(void) { - return 0; + return splash_source_load(default_splash_locations, + ARRAY_SIZE(default_splash_locations)); } #ifdef CONFIG_SPLASH_SCREEN_ALIGN void splash_get_pos(int *x, int *y) { - char *s = getenv("splashpos"); + char *s = env_get("splashpos"); if (!s) return; @@ -50,3 +79,18 @@ void splash_get_pos(int *x, int *y) } } #endif /* CONFIG_SPLASH_SCREEN_ALIGN */ + +#if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_LCD) +int lcd_splash(ulong addr) +{ + int x = 0, y = 0, ret; + + ret = splash_screen_prepare(); + if (ret) + return ret; + + splash_get_pos(&x, &y); + + return bmp_display(addr, x, y); +} +#endif