93 lines
2.4 KiB
C
93 lines
2.4 KiB
C
/*
|
|
* Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
|
|
*
|
|
* File Name: cvi_tpu_ioctl.h
|
|
* Description:
|
|
*/
|
|
|
|
#ifndef __CVI_TPU_IOCTL_H__
|
|
#define __CVI_TPU_IOCTL_H__
|
|
|
|
struct cvi_cache_op_arg {
|
|
unsigned long long paddr;
|
|
unsigned long long size;
|
|
int dma_fd;
|
|
};
|
|
|
|
struct cvi_submit_dma_arg {
|
|
int fd;
|
|
unsigned int seq_no;
|
|
};
|
|
|
|
struct cvi_wait_dma_arg {
|
|
unsigned int seq_no;
|
|
int ret;
|
|
};
|
|
|
|
struct cvi_pio_mode {
|
|
unsigned long long cmdbuf;
|
|
unsigned long long sz;
|
|
};
|
|
|
|
struct cvi_load_tee_arg {
|
|
// normal domain
|
|
unsigned long long cmdbuf_addr_ree;
|
|
unsigned int cmdbuf_len_ree;
|
|
unsigned long long weight_addr_ree;
|
|
unsigned int weight_len_ree;
|
|
unsigned long long neuron_addr_ree;
|
|
|
|
// security domain
|
|
unsigned long long dmabuf_addr_tee;
|
|
};
|
|
|
|
struct cvi_submit_tee_arg {
|
|
unsigned long long dmabuf_tee_addr;
|
|
unsigned long long gaddr_base2;
|
|
unsigned long long gaddr_base3;
|
|
unsigned long long gaddr_base4;
|
|
unsigned long long gaddr_base5;
|
|
unsigned long long gaddr_base6;
|
|
unsigned long long gaddr_base7;
|
|
unsigned int seq_no;
|
|
};
|
|
|
|
struct cvi_unload_tee_arg {
|
|
unsigned long long addr;
|
|
unsigned long long size;
|
|
};
|
|
|
|
struct cvi_tdma_copy_arg {
|
|
unsigned long long paddr_src;
|
|
unsigned long long paddr_dst;
|
|
unsigned int h;
|
|
unsigned int w_bytes;
|
|
unsigned int stride_bytes_src;
|
|
unsigned int stride_bytes_dst;
|
|
unsigned int enable_2d;
|
|
unsigned int leng_bytes;
|
|
unsigned int seq_no;
|
|
};
|
|
|
|
struct cvi_tdma_wait_arg {
|
|
unsigned int seq_no;
|
|
int ret;
|
|
};
|
|
|
|
#define IOCTL_TPU_BASE 'p'
|
|
#define CVITPU_SUBMIT_DMABUF _IOW(IOCTL_TPU_BASE, 0x01, unsigned long long)
|
|
#define CVITPU_DMABUF_FLUSH_FD _IOW(IOCTL_TPU_BASE, 0x02, unsigned long long)
|
|
#define CVITPU_DMABUF_INVLD_FD _IOW(IOCTL_TPU_BASE, 0x03, unsigned long long)
|
|
#define CVITPU_DMABUF_FLUSH _IOW(IOCTL_TPU_BASE, 0x04, unsigned long long)
|
|
#define CVITPU_DMABUF_INVLD _IOW(IOCTL_TPU_BASE, 0x05, unsigned long long)
|
|
#define CVITPU_WAIT_DMABUF _IOWR(IOCTL_TPU_BASE, 0x06, unsigned long long)
|
|
#define CVITPU_PIO_MODE _IOW(IOCTL_TPU_BASE, 0x07, unsigned long long)
|
|
|
|
#define CVITPU_LOAD_TEE _IOWR(IOCTL_TPU_BASE, 0x08, unsigned long long)
|
|
#define CVITPU_SUBMIT_TEE _IOW(IOCTL_TPU_BASE, 0x09, unsigned long long)
|
|
#define CVITPU_UNLOAD_TEE _IOW(IOCTL_TPU_BASE, 0x0A, unsigned long long)
|
|
#define CVITPU_SUBMIT_PIO _IOW(IOCTL_TPU_BASE, 0x0B, unsigned long long)
|
|
#define CVITPU_WAIT_PIO _IOWR(IOCTL_TPU_BASE, 0x0C, unsigned long long)
|
|
|
|
#endif /* __CVI_TPU_IOCTL_H__ */
|