summaryrefslogtreecommitdiff
path: root/include/linux/modem/shrm/shrm_config.h
blob: a82b35ef77bbc5e1644938949bae5756c1ddc368 (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
109
110
111
/*
 * Copyright (C) ST-Ericsson SA 2010
 *
 * Author: Biju Das <biju.das@stericsson.com> for ST-Ericsson
 * Author: Kumar Sanghavi <kumar.sanghvi@stericsson.com> for ST-Ericsson
 * Author: Arun Murthy <arun.murthy@stericsson.com> for ST-Ericsson
 * License terms: GNU General Public License (GPL) version 2
 */

#ifndef __SHRM_CONFIG_H
#define __SHRM_CONFIG_H


/*
Note: modem need to define IPC as a non-cacheable area.
In Cortex R4 MPU requires that base address of NC area is aligned on a
region-sized boundary.On modem side, only 1 NC area can be defined, hence
the whole IPC area must be defined as NC (at least).

*/

/* cache line size = 32bytes*/
#define SHM_CACHE_LINE 32
#define SHM_PTR_SIZE 4

/* FIFO 0 address configuration */
/* ---------------------------- */
/* 128KB */
#define SHM_FIFO_0_SIZE (128*1024)


/* == APE addresses == */
#ifdef CONFIG_SHRM_V1_UPDATES_VERSION
#define SHM_IPC_BASE_AMCU 0x06F80000
#else
#define SHM_IPC_BASE_AMCU 0x06000000
#endif

/* offset pointers */
#define SHM_ACFIFO_0_WRITE_AMCU SHM_IPC_BASE_AMCU
#define SHM_ACFIFO_0_READ_AMCU (SHM_ACFIFO_0_WRITE_AMCU + SHM_PTR_SIZE)
#define SHM_CAFIFO_0_WRITE_AMCU (SHM_ACFIFO_0_WRITE_AMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_0_READ_AMCU (SHM_CAFIFO_0_WRITE_AMCU + SHM_PTR_SIZE)
/* FIFO start */
#define SHM_ACFIFO_0_START_AMCU (SHM_CAFIFO_0_WRITE_AMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_0_START_AMCU (SHM_ACFIFO_0_START_AMCU + SHM_FIFO_0_SIZE)


/* == CMT addresses ==*/
#define SHM_IPC_BASE_CMCU (SHM_IPC_BASE_AMCU+0x08000000)
/* offset pointers */
#define SHM_ACFIFO_0_WRITE_CMCU SHM_IPC_BASE_CMCU
#define SHM_ACFIFO_0_READ_CMCU (SHM_ACFIFO_0_WRITE_CMCU + SHM_PTR_SIZE)
#define SHM_CAFIFO_0_WRITE_CMCU (SHM_ACFIFO_0_WRITE_CMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_0_READ_CMCU (SHM_CAFIFO_0_WRITE_CMCU + SHM_PTR_SIZE)
/* FIFO*/
#define SHM_ACFIFO_0_START_CMCU (SHM_CAFIFO_0_WRITE_CMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_0_START_CMCU (SHM_ACFIFO_0_START_CMCU + SHM_FIFO_0_SIZE)


/* ADSP addresses*/
#define SHM_ACFIFO_0_START_ADSP 0x0
#define SHM_CAFIFO_0_START_ADSP 0x0
#define SHM_ACFIFO_0_WRITE_ADSP 0x0
#define SHM_ACFIFO_0_READ_ADSP 0x0
#define SHM_CAFIFO_0_WRITE_ADSP 0x0
#define SHM_CAFIFO_0_READ_ADSP 0x0

/* FIFO 1 address configuration */
/* ---------------------------- */


/* FIFO 1 - 4K  */
#define SHM_FIFO_1_SIZE (4*1024)


/* == APE addresses == */
#define SHM_ACFIFO_1_WRITE_AMCU (SHM_CAFIFO_0_START_AMCU + SHM_FIFO_0_SIZE)
#define SHM_ACFIFO_1_READ_AMCU (SHM_ACFIFO_1_WRITE_AMCU + SHM_PTR_SIZE)
#define SHM_CAFIFO_1_WRITE_AMCU (SHM_ACFIFO_1_WRITE_AMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_1_READ_AMCU (SHM_CAFIFO_1_WRITE_AMCU + SHM_PTR_SIZE)
/* FIFO*/
#define SHM_ACFIFO_1_START_AMCU (SHM_CAFIFO_1_WRITE_AMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_1_START_AMCU (SHM_ACFIFO_1_START_AMCU + SHM_FIFO_1_SIZE)


/* == CMT addresses ==*/
#define SHM_ACFIFO_1_WRITE_CMCU (SHM_CAFIFO_0_START_CMCU + SHM_FIFO_0_SIZE)
#define SHM_ACFIFO_1_READ_CMCU (SHM_ACFIFO_1_WRITE_CMCU + SHM_PTR_SIZE)
#define SHM_CAFIFO_1_WRITE_CMCU (SHM_ACFIFO_1_WRITE_CMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_1_READ_CMCU (SHM_CAFIFO_1_WRITE_CMCU + SHM_PTR_SIZE)
/* FIFO1 start */
#define SHM_ACFIFO_1_START_CMCU (SHM_CAFIFO_1_WRITE_CMCU + SHM_CACHE_LINE)
#define SHM_CAFIFO_1_START_CMCU (SHM_ACFIFO_1_START_CMCU + SHM_FIFO_1_SIZE)


/* ADSP addresses*/
#define SHM_ACFIFO_1_START_ADSP 0x0
#define SHM_CAFIFO_1_START_ADSP 0x0
#define SHM_ACFIFO_1_WRITE_ADSP 0x0
#define SHM_ACFIFO_1_READ_ADSP 0x0
#define SHM_CAFIFO_1_WRITE_ADSP 0x0
#define SHM_CAFIFO_1_READ_ADSP 0x0


#define U8500_SHM_FIFO_APE_COMMON_BASE  (SHM_ACFIFO_0_START_AMCU)
#define U8500_SHM_FIFO_CMT_COMMON_BASE  (SHM_CAFIFO_0_START_AMCU)
#define U8500_SHM_FIFO_APE_AUDIO_BASE   (SHM_ACFIFO_1_START_AMCU)
#define U8500_SHM_FIFO_CMT_AUDIO_BASE   (SHM_CAFIFO_1_START_AMCU)

#endif /* __SHRM_CONFIG_H */