blob: dbb8e765603be509942c427732a595d80b0fab02 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/*
* Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
*
* Copyright (c) 2006, Chips & Media. All rights reserved.
*/
/*
* The code contained herein is licensed under the GNU Lesser General
* Public License. You may obtain a copy of the GNU Lesser General
* Public License Version 2.1 or later at the following locations:
*
* http://www.opensource.org/licenses/lgpl-license.html
* http://www.gnu.org/copyleft/lgpl.html
*/
/*!
* @file vpu_io.h
*
* @brief VPU system ioctrl definition
*
* @ingroup VPU
*/
#ifndef __VPU__IO__H
#define __VPU__IO__H
/*!
* @brief vpu memory description structure
*/
typedef struct vpu_mem_desc {
int size; /*!requested memory size */
unsigned long phy_addr; /*!physical memory address allocated */
unsigned long cpu_addr; /*!cpu addr for system free usage */
unsigned long virt_uaddr; /*!virtual user space address */
} vpu_mem_desc;
#define VPU_IOC_MAGIC 'V'
#define VPU_IOC_PHYMEM_ALLOC _IO(VPU_IOC_MAGIC, 0)
#define VPU_IOC_PHYMEM_FREE _IO(VPU_IOC_MAGIC, 1)
#define VPU_IOC_WAIT4INT _IO(VPU_IOC_MAGIC, 2)
#define VPU_IOC_PHYMEM_DUMP _IO(VPU_IOC_MAGIC, 3)
#define VPU_IOC_REG_DUMP _IO(VPU_IOC_MAGIC, 4)
#define VPU_IOC_LHD _IO(VPU_IOC_MAGIC, 5)
#define VPU_IOC_VL2CC_FLUSH _IO(VPU_IOC_MAGIC, 6)
vpu_mem_desc bit_work_addr;
int IOGetPhyMem(vpu_mem_desc * buff);
int IOFreePhyMem(vpu_mem_desc * buff);
int IOGetVirtMem(vpu_mem_desc * buff);
int IOFreeVirtMem(vpu_mem_desc * buff);
int IOWaitForInt(int timeout_in_ms);
int IOLHD(int disable);
unsigned long VpuWriteReg(unsigned long addr, unsigned int data);
unsigned long VpuReadReg(unsigned long addr);
void ResetVpu(void);
int isVpuInitialized(void);
#endif
|