aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/ak88-nand/communicate.h
blob: 5531b4a4e8aa3a318c1ea7bfb36d0708a641dd0e (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
63
64
#ifndef _COMMUNICATE_H_
#define _COMMUNICATE_H_

//#include "AK3220_types.h"
#ifndef _AK3220_TYPES_H_
#define _AK3220_TYPES_H_

/* preliminary type definition for global area */
typedef unsigned char T_U8;	/* unsigned 8 bit integer */
typedef unsigned short T_U16;	/* unsigned 16 bit integer */
typedef unsigned long T_U32;	/* unsigned 32 bit integer */
typedef signed char T_S8;	/* signed 8 bit integer */
typedef signed short T_S16;	/* signed 16 bit integer */
typedef signed long T_S32;	/* signed 32 bit integer */
typedef void T_VOID;		/* void */

#define HAL_READ_UINT32(reg, val)      ((val) = *((volatile unsigned long *)(reg)))
#define HAL_WRITE_UINT32(reg, val)     (*((volatile  unsigned long *)(reg)) = (val))

#define AK_FALSE                                0
#define AK_TRUE                                 1
//#define AK_NULL                                 ((T_VOID*)0)
#endif

typedef enum {
	GLOBE_BUF0 = 0,
	GLOBE_BUF1,
	GLOBE_BUF2,
	GLOBE_BUF3,
	GLOBE_BUF4,
	GLOBE_BUF5,
	GLOBE_BUF6,
	GLOBE_BUF7
} GLOBE_BUF_ID;

typedef enum {
	USB_BULK_SEND,
	USB_BULK_RECE,
	USB_ISO,
	NAND_FLASH,
	MMC_SD1,
	MMC_SD2,
	MMC_SD3,
	SPI1_RECE,
	SPI1_SEND,
	DAC,
	SPI2_RECE,
	SPI2_SEND,
	GPS
} PERIPHERAL_TYPE;

//static T_U32 get_buf_id(PERIPHERAL_TYPE dev_type);
#define INVALID_BUF_ID 0xFFFFFFFF

T_U8 communicate_conf(PERIPHERAL_TYPE dev_type, GLOBE_BUF_ID buf_id);
T_U8 prepare_dat_send_cpu(const T_U8 * buf, T_U32 len,
			  PERIPHERAL_TYPE dev_type);
T_U8 rece_dat_cpu(T_U8 * buf, T_U32 len, PERIPHERAL_TYPE dev_type);
T_U8 prepare_dat_send_dma(const T_U8 * buf, T_U32 len, PERIPHERAL_TYPE dev_type);
T_U8 rece_data_dma(T_U8 * buf, T_U32 len, PERIPHERAL_TYPE dev_type);
void set_buf_stat_empty(GLOBE_BUF_ID buf_id);
void set_buf_empty(PERIPHERAL_TYPE dev_type);

#endif