GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)

This commit is contained in:
lai
2026-09-06 03:52:57 +08:00
commit b1928b41c0
21813 changed files with 4413081 additions and 0 deletions
+143
View File
@@ -0,0 +1,143 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef DRV_DEV_DEFINES_H
#define DRV_DEV_DEFINES_H
#include "xmedia_type.h"
#include "common.h"
#define UMAP_DEV_NUM 64
#define UMAP_NAME_MAXLEN 32
#define UMAP_VI_MINOR_BASE 0
#define UMAP_VO_MINOR_BASE 1
#define UMAP_VENC_MINOR_BASE 2
#define UMAP_VDEC_MINOR_BASE 3
#define UMAP_JPEGD_MINOR_BASE 4
#define UMAP_AI_MINOR_BASE 5
#define UMAP_AO_MINOR_BASE 6
#define UMAP_GRP_MINOR_BASE 7
#define UMAP_SYS_MINOR_BASE 8
#define UMAP_VB_MINOR_BASE 9
#define UMAP_VPSS_MINOR_BASE 10
#define UMAP_AIO_MINOR_BASE 11
#define UMAP_LOG_MINOR_BASE 12
#define UMAP_AENC_MINOR_BASE 13
#define UMAP_ADEC_MINOR_BASE 14
#define UMAP_MST_LOG_MINOR_BASE 15
#define UMAP_RGN_MINOR_BASE 16
#define UMAP_IVE_MINOR_BASE 17
#define UMAP_HDMI_MINOR_BASE 18
#define UMAP_VGS_MINOR_BASE 19
#define UMAP_ISP_MINOR_BASE 20
#define UMAP_RC_MINOR_BASE 21
#define UMAP_H264E_MINOR_BASE 22
#define UMAP_H265E_MINOR_BASE 23
#define UMAP_JPEGE_MINOR_BASE 24
#define UMAP_CHNL_MINOR_BASE 25
#define UMAP_MPEG4E_MINOR_BASE 26
#define UMAP_GDC_MINOR_BASE 27
#define UMAP_PCIV_MINOR_BASE 28
#define UMAP_PCIVFMW_MINOR_BASE 29
#define UMAP_FD_MINOR_BASE 30
#define UMAP_ACODEC_MINOR_BASE 31
#define UMAP_VPU_MINOR_BASE 32
#define UMAP_AVS_MINOR_BASE 33
#define UMAP_DIS_MINOR_BASE 34
#define UMAP_SVP_MINOR_BASE 35
#define UMAP_PRORES_MINOR_BASE 36
#define UMAP_SVP_NNIE_MINOR_BASE 37
#define UMAP_SVP_DSP_MINOR_BASE 38
#define UMAP_DPU_RECT_MINOR_BASE 39
#define UMAP_DPU_MATCH_MINOR_BASE 40
#define UMAP_PM_MINOR_BASE 41
#define UMAP_GYRODIS_MINOR_BASE 42
#define UMAP_PDM_MINOR_BASE 43
#define UMAP_TDE_MINOR_BASE 44
#define UMAP_FB_MINOR_BASE 45
#define UMAP_MCF_MINOR_BASE 46
#define UMAP_ACOMM_MINOR_BASE 47
#define UMAP_NPU_MINOR_BASE 48
#define UMAP_DDR_OST_QOS_MINOR_BASE 49
#define UMAP_CIPHER_MINOR_BASE 50
#define UMAP_OTP_MINOR_BASE 51
#define UMAP_MISC_MINOR_BASE 52
#define UMAP_GET_CHN(f) (*((xmedia_u32*)(f)))
#define UMAP_SET_CHN(f, chn) (*((xmedia_u32*)(f)) = (chn))
#define UMAP_NAME "umap"
#define UMAP_NAME_VIDEO UMAP_NAME "/video/"
#define UMAP_NAME_AUDIO UMAP_NAME "/audio/"
#define UMAP_DEVNAME_SYSCTL MPP_MOD_SYS
#define UMAP_DEVNAME_LOG_BASE MPP_MOD_LOG
#define UMAP_DEVNAME_MST_LOG_BASE MPP_MOD_MST_LOG
#define UMAP_DEVNAME_VI_BASE MPP_MOD_VI
#define UMAP_DEVNAME_VO_BASE MPP_MOD_VO
#define UMAP_DEVNAME_FB_BASE MPP_MOD_FB
#define UMAP_DEVNAME_AVS_BASE MPP_MOD_AVS
#define UMAP_DEVNAME_VENC_BASE MPP_MOD_VENC
#define UMAP_DEVNAME_VDEC_BASE MPP_MOD_VDEC
#define UMAP_DEVNAME_JPEGD_BASE MPP_MOD_JPEGD
#define UMAP_DEVNAME_DSU_BASE MPP_MOD_DSU
#define UMAP_DEVNAME_VB_BASE MPP_MOD_VB
#define UMAP_DEVNAME_VPSS_BASE MPP_MOD_VPSS
#define UMAP_DEVNAME_GRP_BASE MPP_MOD_GRP
#define UMAP_DEVNAME_RGN_BASE MPP_MOD_RGN
#define UMAP_DEVNAME_IVE_BASE MPP_MOD_IVE
#define UMAP_DEVNAME_FD_BASE MPP_MOD_FD
#define UMAP_DEVNAME_SVP_BASE MPP_MOD_SVP
#define UMAP_DEVNAME_SVP_NNIE_BASE MPP_MOD_SVP_NNIE
#define UMAP_DEVNAME_SVP_DSP_BASE MPP_MOD_SVP_DSP
#define UMAP_DEVNAME_DPU_RECT_BASE MPP_MOD_DPU_RECT
#define UMAP_DEVNAME_DPU_MATCH_BASE MPP_MOD_DPU_MATCH
#define UMAP_DEVNAME_ACODEC_BASE MPP_MOD_ACODEC
#define UMAP_DEVNAME_AIO_BASE MPP_MOD_AIO
#define UMAP_DEVNAME_AI_BASE MPP_MOD_AI
#define UMAP_DEVNAME_AO_BASE MPP_MOD_AO
#define UMAP_DEVNAME_AENC_BASE MPP_MOD_AENC
#define UMAP_DEVNAME_ADEC_BASE MPP_MOD_ADEC
#define UMAP_DEVNAME_ACOMM_BASE MPP_MOD_ACOMM
#define UMAP_DEVNAME_HDMI_BASE MPP_MOD_HDMI
#define UMAP_DEVNAME_VGS_BASE MPP_MOD_VGS
#define UMAP_DEVNAME_TDE_BASE MPP_MOD_TDE
#define UMAP_DEVNAME_GDC_BASE MPP_MOD_GDC
#define UMAP_DEVNAME_H264E_BASE MPP_MOD_H264E
#define UMAP_DEVNAME_H265E_BASE MPP_MOD_H265E
#define UMAP_DEVNAME_JPEGE_BASE MPP_MOD_JPEGE
#define UMAP_DEVNAME_MPEG4E_BASE MPP_MOD_MPEG4E
#define UMAP_DEVNAME_CHNL_BASE MPP_MOD_CHNL
#define UMAP_DEVNAME_RC_BASE MPP_MOD_RC
#define UMAP_DEVNAME_MPEG4E_BASE MPP_MOD_MPEG4E
#define UMAP_DEVNAME_PRORES_BASE MPP_MOD_PRORES
#define UMAP_DEVNAME_PCIV_BASE MPP_MOD_PCIV
#define UMAP_DEVNAME_PCIVFMW_BASE MPP_MOD_PCIVFMW
#define UMAP_DEVNAME_VPU_BASE MPP_MOD_VPU
#define UMAP_DEVNAME_DIS_BASE MPP_MOD_DIS
#define UMAP_DEVNAME_PM_BASE MPP_MOD_PM
#define UMAP_DEVNAME_GYRODIS_BASE MPP_MOD_GYRODIS
#define UMAP_DEVNAME_MCF_BASE MPP_MOD_MCF
#define UMAP_DEVNAME_NPU_BASE MPP_MOD_NPU
#define UMAP_DEVNAME_DDR_OST_QOS_BASE MPP_MOD_DDR_OST_QOS
#define UMAP_DEVNAME_CIPHER_BASE MPP_MOD_CIPHER
#define UMAP_DEVNAME_OTP_BASE MPP_MOD_OTP
#define UMAP_DEVNAME_MISC_BASE MPP_MOD_MISC
#endif /* DRV_DEV_DEFINES_H */
+46
View File
@@ -0,0 +1,46 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef __DRV_EXPORT_H__
#define __DRV_EXPORT_H__
#include "xmedia_region.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
//rgn
xmedia_s32 export_rgn_init(xmedia_void);
xmedia_void export_rgn_exit(xmedia_void);
xmedia_s32 export_rgn_create(xmedia_u32 handle, const xmedia_rgn_attr *rgn_attr);
xmedia_s32 export_rgn_destroy(xmedia_u32 handle);
xmedia_s32 export_rgn_get_attr(xmedia_u32 handle, xmedia_rgn_attr *rgn_attr);
xmedia_s32 export_rgn_set_attr(xmedia_u32 handle, const xmedia_rgn_attr *rgn_attr);
xmedia_s32 export_rgn_attach_to_chn(xmedia_u32 handle, const xmedia_chn_info *chn, const xmedia_rgn_chn_attr *chn_attr);
xmedia_s32 export_rgn_detach_from_chn(xmedia_u32 handle, const xmedia_chn_info *chn);
xmedia_s32 export_rgn_get_display_attr(xmedia_u32 handle, const xmedia_chn_info *chn, xmedia_rgn_chn_attr *chn_attr);
xmedia_s32 export_rgn_set_display_attr(xmedia_u32 handle, const xmedia_chn_info *chn, const xmedia_rgn_chn_attr *chn_attr);
xmedia_s32 export_rgn_get_canvas_info(xmedia_u32 handle, xmedia_rgn_canvas_info *canvas_info);
xmedia_s32 export_rgn_update_canvas (xmedia_u32 handle);
xmedia_s32 export_rgn_batch_begin(xmedia_u32 *grp, xmedia_u32 handle_num, const xmedia_u32 handle[]);
xmedia_s32 export_rgn_batch_end(xmedia_u32 grp);
//isp
xmedia_s32 export_isp_suspend_sensor(xmedia_u32 pipe);
xmedia_s32 export_isp_resume_sensor(xmedia_u32 pipe);
//vi
xmedia_void export_vi_register_misc_aov_callback(xmedia_s32 (*misc_aov_callback)(xmedia_s32 pipe));
xmedia_bool export_vi_check_busy(xmedia_void);
//vpss
xmedia_bool export_vpss_check_busy(xmedia_void);
//venc
xmedia_bool export_venc_check_busy(xmedia_void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __DRV_EXPORT_H__ */
+26
View File
@@ -0,0 +1,26 @@
#ifndef __DRV_ISP_EXPORT_H__
#define __DRV_ISP_EXPORT_H__
#include "xmedia_type.h"
#include "xmedia_isp.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
xmedia_s32 (*pfn_i2c_write)(xmedia_s8 i2c_dev, xmedia_u32 slave_addr, xmedia_u32 reg_addr,
xmedia_u32 reg_addr_byte_num, xmedia_u32 data, xmedia_u32 data_byte_num);
xmedia_s32 (*pfn_i2c_read)(xmedia_s8 i2c_dev, xmedia_u32 slave_addr, xmedia_u32 reg_addr,
xmedia_u32 reg_addr_byte_num, xmedia_u32 *data, xmedia_u32 data_byte_num);
} isp_i2c_callback;
xmedia_s32 drv_isp_set_mclk(xmedia_u32 clk_chn, xmedia_bool enable, xmedia_sensor_clock_freq clk);
xmedia_s32 drv_isp_register_i2c(isp_i2c_callback *i2c_callback);
#ifdef __cplusplus
}
#endif
#endif // __DRV_ISP_EXPORT_H__
+24
View File
@@ -0,0 +1,24 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef DRV_LOG_H
#define DRV_LOG_H
#include "xmedia_type.h"
#ifdef __cplusplus
extern "C" {
#endif
xmedia_s32 drv_log_mod_init(xmedia_u32 buf_len);
xmedia_void drv_log_mod_exit(xmedia_void);
xmedia_s32 drv_log_write(xmedia_s32 level, xmedia_u32 mod_id, const xmedia_char *fmt, ...) __attribute__((format(printf,3,4)));
xmedia_s32 drv_log_check_level(xmedia_s32 level, xmedia_u32 mod_id);
xmedia_char *drv_get_module_name(xmedia_u32 mod_id);
#ifdef __cplusplus
}
#endif
#endif
+53
View File
@@ -0,0 +1,53 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef DRV_TYPE_IOCTL_H
#define DRV_TYPE_IOCTL_H
#define IOC_TYPE_VI 'I'
#define IOC_TYPE_VOU 'O'
#define IOC_TYPE_VENC 'E'
#define IOC_TYPE_VDEC 'D'
#define IOC_TYPE_AENC 'A'
#define IOC_TYPE_ADEC 'H'
#define IOC_TYPE_AI 'Z'
#define IOC_TYPE_AO 'X'
#define IOC_TYPE_AIO 'S'
#define IOC_TYPE_SYS 'Y'
#define IOC_TYPE_VB 'B'
#define IOC_TYPE_LOG 'L'
#define IOC_TYPE_DDR_OST_QOS 'K'
#define IOC_TYPE_VPSS 'P'
#define IOC_TYPE_RGN 'R'
#define IOC_TYPE_IVE 'F'
#define IOC_TYPE_VGS 'J'
#define IOC_TYPE_GDC 'N'
#define IOC_TYPE_ISP 'M'
#define IOC_TYPE_TDE 'T'
#define IOC_TYPE_MCF 'C'
#define IOC_TYPE_ACOMM 'S'
#define IOC_TYPE_IR 'U'
#define IOC_TYPE_LSADC 'G'
#define IOC_TYPE_OTP 'Q'
#define IOC_TYPE_MISC 'V'
#endif /* DRV_TYPE_IOCTL_H */
+22
View File
@@ -0,0 +1,22 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef __MMZ_H__
#define __MMZ_H__
#include <linux/types.h>
unsigned long long mmz_alloc(const char *mmz_name, const char *buf_name, unsigned long size);
void mmz_free(unsigned long long phy_addr);
void *mmz_map(unsigned long long phy_addr, unsigned long size, bool cached);
void mmz_unmap(void *vir_addr);
int mmz_check_phyaddr(unsigned long long phy_addr, unsigned long len);
int mmz_flush_cache(unsigned long phy_addr, void *kvirt, unsigned long length);
#endif
+46
View File
@@ -0,0 +1,46 @@
/*
* Copyright (c) XMEDIA. All rights reserved.
*/
#ifndef _VERSION_H_
#define _VERSION_H_
#include <linux/types.h>
#include "xmedia_type.h"
#include "osal.h"
#ifdef __cplusplus
extern "C" {
#endif
#if (defined SDK_VERSION_RELEASE)
#define VERSION_FORMAT(buff,module,module_version,ext_info) \
osal_sprintf(buff,"Version:[%s %s], [%s %s %s], %s, Build Time[%s %s]",\
VERSION_MAJOR, VERSION_MINOR, \
module,module_version,ext_info,"Release",__DATE__,__TIME__)
#elif (defined SDK_VERSION_DEBUG)
#define VERSION_FORMAT(buff,module,module_version,ext_info) \
osal_sprintf(buff,"Version:[%s %s], [%s %s %s], %s, Build Time[%s %s]",\
VERSION_MAJOR, VERSION_MINOR, \
module,module_version,ext_info,"Debug",__DATE__,__TIME__)
#else
#warning "version type is invalid !!!"
#define VERSION_FORMAT(buff,module,module_version,ext_info) \
osal_sprintf(buff,"Version:[%s %s], [%s %s %s], %s, Build Time[%s %s]",\
VERSION_MAJOR, VERSION_MINOR, \
module,module_version,ext_info,"Invalid",__DATE__,__TIME__)
#endif
#ifdef __cplusplus
}
#endif
#endif