Cosmo-Z Library  2.0.5
csz_user.h
[詳解]
1 /**************************************************************************/
6 #include <sys/types.h>
7 #include <stdint.h>
8 #include <linux/ioctl.h>
9 
10 #define DEVICE_IOC_MAGIC 'c'
11 
12 #define CSZ_REG_ADDR_W _IOW(DEVICE_IOC_MAGIC, 0, uint32_t)
13 #define CSZ_REG_ADDR_R _IOR(DEVICE_IOC_MAGIC, 1, uint32_t)
14 #define CSZ_WRITE_VALUE _IOW(DEVICE_IOC_MAGIC, 2, uint32_t)
15 #define CSZ_READ_VALUE _IOR(DEVICE_IOC_MAGIC, 3, uint32_t)
16 #define CSZ_SET_READ_PTR _IOW(DEVICE_IOC_MAGIC, 4, uint32_t)
17 #define CSZ_SET_WRITE_PTR _IOW(DEVICE_IOC_MAGIC, 5, uint32_t)
18 #define CSZ_SET_CUR _IOW(DEVICE_IOC_MAGIC, 6, uint32_t)
19 #define CSZ_GET_CUR _IOW(DEVICE_IOC_MAGIC, 7, uint32_t)
20 #define CSZ_GET_VERSION _IOR(DEVICE_IOC_MAGIC, 8, uint32_t)
21 #define CSZ_GET_MEM_RANGE _IOR(DEVICE_IOC_MAGIC, 9, uint32_t)
22 #define CSZ_COPY_TO_USER _IOW(DEVICE_IOC_MAGIC, 16, uint32_t)
23 #define CSZ_TEST_CMD _IOWR(DEVICE_IOC_MAGIC, 10, uint32_t)
24 
25 typedef struct memcpyinfo
27 {
28  uint32_t offset;
29  void *buf;
30  int count;
31  int result;
32 } memcpyinfo;
33 
35 typedef struct regvalue
36 {
37  int reg;
38  int value;
39 } regvalue;
40 
42 typedef struct memrange
43 {
44  uint32_t phys_addr_base;
45  uint32_t phys_addr_size;
46  uint32_t *vaddr;
47 } memrange;
int count
転送したいサイズ。バイト単位。
Definition: csz_user.h:30
DMAメモリとユーザバッファの間でデータ転送するための情報をドライバに渡すための構造体 ...
Definition: csz_user.h:26
DMAバッファの情報を調べた結果が入る構造体
Definition: csz_user.h:42
レジスタの読み書きアドレスと値をドライバに渡すための構造体
Definition: csz_user.h:35
uint32_t offset
DMAメモリのオフセット。0~0x1fffffffであること。
Definition: csz_user.h:28
uint32_t phys_addr_base
DMAバッファの先頭の物理アドレス
Definition: csz_user.h:44
int reg
レジスタ番号。通常は0~63。
Definition: csz_user.h:37
int result
転送結果
Definition: csz_user.h:31
void * buf
ユーザバッファ
Definition: csz_user.h:29
uint32_t * vaddr
DMAバッファにアクセスするための仮想アドレス
Definition: csz_user.h:46
struct memcpyinfo memcpyinfo
DMAメモリとユーザバッファの間でデータ転送するための情報をドライバに渡すための構造体 ...
struct regvalue regvalue
レジスタの読み書きアドレスと値をドライバに渡すための構造体
uint32_t phys_addr_size
DMAバッファのサイズ。バイト単位。
Definition: csz_user.h:45
int value
レジスタの値。Writeなら設定して渡す。Readなら読み出された値が入っている。
Definition: csz_user.h:38
struct memrange memrange
DMAバッファの情報を調べた結果が入る構造体