blob: f722ab2f3deeff7337436bc9ba72394b4732cad9 [file] [log] [blame]
/*
* Copyright (C) 2018 Synaptics Incorporated. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#include <common.h>
#include "show_logoframe.h"
#include "fastlogo.h"
#include "error_logo_data.h"
#include "normal_logo_data.h"
void fastlogo_init(void)
{
int ret = 0;
ret = MV_VPP_Init();
if(ret != 0)
{
printf("MV_VPP_Init failed\n");
return;
}
}
int showlogo_start(int error)
{
int yuv_logo_width, yuv_logo_height, yuv_logo_stride;
void *yuv_logo;
int x = 0, y = 0;
if (error) {
yuv_logo_width = error_yuv_logo_width;
yuv_logo_height = error_yuv_logo_height;
yuv_logo = error_yuv_logo;
} else {
yuv_logo_width = normal_yuv_logo_width;
yuv_logo_height = normal_yuv_logo_height;
yuv_logo = normal_yuv_logo;
}
yuv_logo_stride = yuv_logo_width * 2;
x = (MV_SYSTEM_XRES - yuv_logo_width) / 2;
y = (MV_SYSTEM_YRES - yuv_logo_height) / 2;
printf("Show fastlogo frame\n");
MV_VPP_DisplayPatternFrame(x, y, yuv_logo_width, yuv_logo_height,
yuv_logo_stride, yuv_logo);
MV_VPP_Enable_IRQ();
return 0;
}
int showlogo_stop()
{
MV_VPP_Deinit();
return 0;
}