]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - drivers/dsp/dspgateway/omap2_dsp.h
4ac51806eeba36926368c24cd4574cb8bdaeac7c
[linux-2.6-omap-h63xx.git] / drivers / dsp / dspgateway / omap2_dsp.h
1 /*
2  * This file is part of OMAP DSP driver (DSP Gateway version 3.3.1)
3  *
4  * Copyright (C) 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 __OMAP_DSP_OMAP2_DSP_H
25 #define __OMAP_DSP_OMAP2_DSP_H
26
27 #ifdef CONFIG_ARCH_OMAP24XX
28 #define OMAP24XX_DARAM_BASE     (DSP_MEM_24XX_VIRT + 0x0)
29 #define OMAP24XX_DARAM_SIZE     0x10000
30 #define OMAP24XX_SARAM_BASE     (DSP_MEM_24XX_VIRT + 0x10000)
31 #define OMAP24XX_SARAM_SIZE     0x18000
32 #endif
33
34 #include <mach/hardware.h>
35
36 /*
37  * DSP IPI registers: mapped to 0xe1000000 -- use readX(), writeX()
38  */
39 #ifdef CONFIG_ARCH_OMAP24XX
40 #define DSP_IPI_BASE                    DSP_IPI_24XX_VIRT
41 #endif
42
43 #ifdef CONFIG_ARCH_OMAP34XX
44 #define DSP_IPI_BASE                    DSP_IPI_34XX_VIRT
45 #endif
46
47 #define DSP_IPI_REVISION                (DSP_IPI_BASE + 0x00)
48 #define DSP_IPI_SYSCONFIG               (DSP_IPI_BASE + 0x10)
49 #define DSP_IPI_INDEX                   (DSP_IPI_BASE + 0x40)
50 #define DSP_IPI_ENTRY                   (DSP_IPI_BASE + 0x44)
51 #define DSP_IPI_ENABLE                  (DSP_IPI_BASE + 0x48)
52 #define DSP_IPI_IOMAP                   (DSP_IPI_BASE + 0x4c)
53 #define DSP_IPI_DSPBOOTCONFIG           (DSP_IPI_BASE + 0x50)
54
55 #define DSP_IPI_ENTRY_ELMSIZEVALUE_MASK 0x00000003
56 #define DSP_IPI_ENTRY_ELMSIZEVALUE_8    0x00000000
57 #define DSP_IPI_ENTRY_ELMSIZEVALUE_16   0x00000001
58 #define DSP_IPI_ENTRY_ELMSIZEVALUE_32   0x00000002
59
60 #define DSP_BOOT_CONFIG_DIRECT          0x00000000
61 #define DSP_BOOT_CONFIG_PSD_DIRECT      0x00000001
62 #define DSP_BOOT_CONFIG_IDLE            0x00000002
63 #define DSP_BOOT_CONFIG_DL16            0x00000003
64 #define DSP_BOOT_CONFIG_DL32            0x00000004
65 #define DSP_BOOT_CONFIG_API             0x00000005
66 #define DSP_BOOT_CONFIG_INTERNAL        0x00000006
67
68 /*
69  * DSP boot mode
70  *   direct:        0xffff00
71  *   pseudo direct: 0x080000
72  *   API:           branch 0x010000
73  *   internel:      branch 0x024000
74  */
75 #define DSP_BOOT_ADR_DIRECT             0xffff00
76 #define DSP_BOOT_ADR_PSD_DIRECT         0x080000
77 #define DSP_BOOT_ADR_API                0x010000
78 #define DSP_BOOT_ADR_INTERNAL           0x024000
79
80 /*
81  * DSP ICR
82  */
83 #define DSPREG_ICR_RESERVED_BITS        0xfc00
84 #define DSPREG_ICR_HWA                  0x0200
85 #define DSPREG_ICR_IPORT                0x0100
86 #define DSPREG_ICR_MPORT                0x0080
87 #define DSPREG_ICR_XPORT                0x0040
88 #define DSPREG_ICR_DPORT                0x0020
89 #define DSPREG_ICR_DPLL                 0x0010
90 #define DSPREG_ICR_PER                  0x0008
91 #define DSPREG_ICR_CACHE                0x0004
92 #define DSPREG_ICR_DMA                  0x0002
93 #define DSPREG_ICR_CPU                  0x0001
94
95 #endif /* __OMAP_DSP_OMAP2_DSP_H */