| /* |
| * 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; |
| } |