]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/arm/plat-omap/include/mach/dsp.h
REMOVE OMAP LEGACY CODE: Reset mach-omap1/board-*.c files to mainline
[linux-2.6-omap-h63xx.git] / arch / arm / plat-omap / include / mach / dsp.h
1 /*
2  * This file is part of OMAP DSP driver (DSP Gateway version 3.3.1)
3  *
4  * Copyright (C) 2002-2006 Nokia Corporation. All rights reserved.
5  *
6  * Contact: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * version 2 as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  *
22  */
23
24 #ifndef __ARCH_OMAP_DSP_H
25 #define __ARCH_OMAP_DSP_H
26
27 /*
28  * for /dev/dspctl/ctl
29  */
30 #define DSPCTL_IOCTL_RESET              1
31 #define DSPCTL_IOCTL_RUN                2
32 #define DSPCTL_IOCTL_SETRSTVECT         3
33 #ifdef CONFIG_ARCH_OMAP1
34 #define DSPCTL_IOCTL_CPU_IDLE           4
35 #define DSPCTL_IOCTL_MPUI_WORDSWAP_ON   5
36 #define DSPCTL_IOCTL_MPUI_WORDSWAP_OFF  6
37 #define DSPCTL_IOCTL_MPUI_BYTESWAP_ON   7
38 #define DSPCTL_IOCTL_MPUI_BYTESWAP_OFF  8
39 #define DSPCTL_IOCTL_GBL_IDLE           9
40 #endif /* CONFIG_ARCH_OMAP1 */
41 #define DSPCTL_IOCTL_DSPCFG             10
42 #define DSPCTL_IOCTL_DSPUNCFG           11
43 #define DSPCTL_IOCTL_TASKCNT            12
44 #define DSPCTL_IOCTL_POLL               13
45 #define DSPCTL_IOCTL_REGMEMR            40
46 #define DSPCTL_IOCTL_REGMEMW            41
47 #define DSPCTL_IOCTL_REGIOR             42
48 #define DSPCTL_IOCTL_REGIOW             43
49 #define DSPCTL_IOCTL_GETVAR             44
50 #define DSPCTL_IOCTL_SETVAR             45
51 #define DSPCTL_IOCTL_RUNLEVEL           50
52 #define DSPCTL_IOCTL_SUSPEND            51
53 #define DSPCTL_IOCTL_RESUME             52
54 #ifdef CONFIG_OMAP_DSP_FBEXPORT
55 #define DSPCTL_IOCTL_FBEN               53
56 #define DSPCTL_IOCTL_FBDIS              54
57 #endif /* CONFIG_OMAP_DSP_FBEXPORT */
58 #define DSPCTL_IOCTL_MBSEND             99
59
60 struct omap_dsp_mailbox_cmd {
61         __u16   cmd;
62         __u16   data;
63 };
64
65 struct omap_dsp_reginfo {
66         __u16   adr;
67         __u16   val;
68 };
69
70 struct omap_dsp_varinfo {
71         __u8    varid;
72         __u16   val[0];
73 };
74
75 /*
76  * for taskdev
77  * (ioctls below should be >= 0x10000)
78  */
79 #define TASK_IOCTL_BFLSH        0x10000
80 #define TASK_IOCTL_SETBSZ       0x10001
81 #define TASK_IOCTL_LOCK         0x10002
82 #define TASK_IOCTL_UNLOCK       0x10003
83 #define TASK_IOCTL_GETNAME      0x10004
84
85 /*
86  * for /dev/dspctl/mem
87  */
88 #define MEM_IOCTL_EXMAP         1
89 #define MEM_IOCTL_EXUNMAP       2
90 #define MEM_IOCTL_EXMAP_FLUSH   3
91 #define MEM_IOCTL_FBEXPORT      5
92 #define MEM_IOCTL_MMUITACK      7
93 #define MEM_IOCTL_MMUINIT       9
94 #define MEM_IOCTL_KMEM_RESERVE  11
95 #define MEM_IOCTL_KMEM_RELEASE  12
96
97 struct omap_dsp_mapinfo {
98         __u32   dspadr;
99         __u32   size;
100 };
101
102 /*
103  * for /dev/dspctl/twch
104  */
105 #define TWCH_IOCTL_MKDEV        1
106 #define TWCH_IOCTL_RMDEV        2
107 #define TWCH_IOCTL_TADD         11
108 #define TWCH_IOCTL_TDEL         12
109 #define TWCH_IOCTL_TKILL        13
110
111 struct omap_dsp_taddinfo {
112         __u8    minor;
113         __u32   taskadr;
114 };
115
116 #define TADD_ABORTADR   0xffffffff
117
118 #endif /* __ARCH_OMAP_DSP_H */