xref: /rockchip-linux_mpp/osal/inc/mpp_platform.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2*437bfbebSnyanmisaka /*
3*437bfbebSnyanmisaka  * Copyright (c) 2015 Rockchip Electronics Co., Ltd.
4*437bfbebSnyanmisaka  */
5*437bfbebSnyanmisaka 
6*437bfbebSnyanmisaka #ifndef __MPP_PLATFORM__
7*437bfbebSnyanmisaka #define __MPP_PLATFORM__
8*437bfbebSnyanmisaka 
9*437bfbebSnyanmisaka #include "rk_type.h"
10*437bfbebSnyanmisaka #include "mpp_soc.h"
11*437bfbebSnyanmisaka 
12*437bfbebSnyanmisaka /*
13*437bfbebSnyanmisaka  * Platform flag detection is for rockchip hardware platform detection
14*437bfbebSnyanmisaka  */
15*437bfbebSnyanmisaka typedef enum MppIoctlVersion_e {
16*437bfbebSnyanmisaka     IOCTL_VCODEC_SERVICE,
17*437bfbebSnyanmisaka     IOCTL_MPP_SERVICE_V1,
18*437bfbebSnyanmisaka     IOCTL_VERSION_BUTT,
19*437bfbebSnyanmisaka } MppIoctlVersion;
20*437bfbebSnyanmisaka 
21*437bfbebSnyanmisaka typedef enum MppKernelVersion_e {
22*437bfbebSnyanmisaka     KERNEL_UNKNOWN,
23*437bfbebSnyanmisaka     KERNEL_3_10,
24*437bfbebSnyanmisaka     KERNEL_4_4,
25*437bfbebSnyanmisaka     KERNEL_4_19,
26*437bfbebSnyanmisaka     KERNEL_5_10,
27*437bfbebSnyanmisaka     KERNEL_6_1,
28*437bfbebSnyanmisaka     KERNEL_VERSION_BUTT,
29*437bfbebSnyanmisaka } MppKernelVersion;
30*437bfbebSnyanmisaka 
31*437bfbebSnyanmisaka #ifdef __cplusplus
32*437bfbebSnyanmisaka extern "C" {
33*437bfbebSnyanmisaka #endif
34*437bfbebSnyanmisaka 
35*437bfbebSnyanmisaka MppIoctlVersion mpp_get_ioctl_version(void);
36*437bfbebSnyanmisaka MppKernelVersion mpp_get_kernel_version(void);
37*437bfbebSnyanmisaka rk_u32 mpp_get_2d_hw_flag(void);
38*437bfbebSnyanmisaka rk_u32 mpp_get_client_hw_id(RK_S32 client_type);
39*437bfbebSnyanmisaka rk_u32 mpp_get_vcodec_type(void);
40*437bfbebSnyanmisaka 
41*437bfbebSnyanmisaka #ifdef __cplusplus
42*437bfbebSnyanmisaka }
43*437bfbebSnyanmisaka #endif
44*437bfbebSnyanmisaka 
45*437bfbebSnyanmisaka #endif /*__MPP_PLATFORM__*/
46