static int do_osd_display(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { int ret = 0; int x = 0, y = 0; ulong addr; splash_get_pos(&x, &y); switch (argc) { case 1: /* use load_addr as default address */ addr = load_addr; break; case 2: /* use argument */ addr = simple_strtoul(argv[1], NULL, 16); break; case 4: addr = simple_strtoul(argv[1], NULL, 16); x = simple_strtoul(argv[2], NULL, 10); y = simple_strtoul(argv[3], NULL, 10); break; default: return CMD_RET_USAGE; } ret = video_display_bitmap((unsigned long)addr, x, y); return ret; }
static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { ulong addr; int x = 0, y = 0; splash_get_pos(&x, &y); switch (argc) { case 1: /* use load_addr as default address */ addr = load_addr; break; case 2: /* use argument */ addr = simple_strtoul(argv[1], NULL, 16); break; case 4: addr = simple_strtoul(argv[1], NULL, 16); x = simple_strtoul(argv[2], NULL, 10); y = simple_strtoul(argv[3], NULL, 10); break; default: return CMD_RET_USAGE; } return (bmp_display(addr, x, y)); }
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); }