blob: 450896160bdf9055d21fa78041037e237a185018 (
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/*
* notify_shmdriver.h
*
* Notify driver support for OMAP Processors.
*
* Copyright (C) 2008-2009 Texas Instruments, Inc.
*
* This package is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#if !defined NOTIFY_SHMDRIVER_H_
#define NOTIFY_SHMDRIVER_H_
/*
* const NOTIFYSHMDRV_DRIVERNAME
*
* desc Name of the Notify Shared Memory Mailbox driver.
*
*/
#define NOTIFYSHMDRV_DRIVERNAME "NOTIFYSHMDRV"
/*
* const NOTIFYSHMDRV_RESERVED_EVENTS
*
* desc Maximum number of events marked as reserved events by the
* NotiyShmDrv driver.
* If required, this value can be changed by the system integrator.
*
*/
#define NOTIFYSHMDRV_RESERVED_EVENTS 3
/*
* name notify_shmdrv_attrs
*
*/
struct notify_shmdrv_attrs {
unsigned long int shm_base_addr;
unsigned long int shm_size;
unsigned long int num_events;
unsigned long int send_event_pollcount;
};
/*
* name notify_shmdrv_event_entry
*/
struct notify_shmdrv_event_entry {
REG unsigned long int flag;
REG unsigned long int payload;
REG unsigned long int reserved;
unsigned long int padding[29];
};
/*
* name notify_shmdrv_eventreg_mask
*
*/
struct notify_shmdrv_eventreg_mask {
REG unsigned long int mask;
REG unsigned long int enable_mask;
unsigned long int padding[30];
};
/*
* name notify_shmdrv_eventreg
*
*/
struct notify_shmdrv_eventreg {
unsigned long int reg_event_no;
unsigned long int reserved;
};
/*
* name notify_shmdrv_proc_ctrl
*
*/
struct notify_shmdrv_proc_ctrl {
struct notify_shmdrv_event_entry *self_event_chart;
struct notify_shmdrv_event_entry *other_event_chart;
unsigned long int recv_init_status;
unsigned long int send_init_status;
unsigned long int padding[28];
struct notify_shmdrv_eventreg_mask reg_mask;
struct notify_shmdrv_eventreg *reg_chart;
};
/*
* brief Defines the notify_shmdrv_ctrl structure, which contains all
* information shared between the two connected processors
* This structure is shared between the two processors.
*/
struct notify_shmdrv_ctrl {
struct notify_shmdrv_proc_ctrl proc_ctrl[2];
};
#endif /* !defined NOTIFY_SHMDRIVER_H_ */
|