Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mips
powertv
asic
prealloc-zeus.c
Go to the documentation of this file.
1
/*
2
* Memory pre-allocations for Zeus boxes.
3
*
4
* Copyright (C) 2005-2009 Scientific-Atlanta, Inc.
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
*
20
* Author: Ken Eppinett
21
* David Schleef <
[email protected]
>
22
*/
23
24
#include <
linux/init.h
>
25
#include <
linux/ioport.h
>
26
#include <
asm/mach-powertv/asic.h
>
27
#include "
prealloc.h
"
28
29
/*
30
* DVR_CAPABLE RESOURCES
31
*/
32
struct
resource
dvr_zeus_resources
[]
__initdata
=
33
{
34
/*
35
* VIDEO1 / LX1
36
*/
37
/* Delta-Mu 1 image (2MiB) */
38
PREALLOC_NORMAL
(
"ST231aImage"
, 0x20000000, 0x20200000-1,
39
IORESOURCE_MEM
)
40
/* Delta-Mu 1 monitor (8KiB) */
41
PREALLOC_NORMAL
(
"ST231aMonitor"
, 0x20200000, 0x20202000-1,
42
IORESOURCE_MEM
)
43
/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
44
PREALLOC_NORMAL
(
"MediaMemory1"
, 0x20202000, 0x22000000-1,
45
IORESOURCE_MEM
)
46
47
/*
48
* VIDEO2 / LX2
49
*/
50
/* Delta-Mu 2 image (2MiB) */
51
PREALLOC_NORMAL
(
"ST231bImage"
, 0x30000000, 0x30200000-1,
52
IORESOURCE_MEM
)
53
/* Delta-Mu 2 monitor (8KiB) */
54
PREALLOC_NORMAL
(
"ST231bMonitor"
, 0x30200000, 0x30202000-1,
55
IORESOURCE_MEM
)
56
/* Delta-Mu 2 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
57
PREALLOC_NORMAL
(
"MediaMemory2"
, 0x30202000, 0x32000000-1,
58
IORESOURCE_MEM
)
59
60
/*
61
* Sysaudio Driver
62
*/
63
/* DSP code and data images (1MiB) */
64
PREALLOC_NORMAL
(
"DSP_Image_Buff"
, 0x00000000, 0x00100000-1,
65
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
66
/* ADSC CPU PCM buffer (40KiB) */
67
PREALLOC_NORMAL
(
"ADSC_CPU_PCM_Buff"
, 0x00000000, 0x0000A000-1,
68
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
69
/* ADSC AUX buffer (16KiB) */
70
PREALLOC_NORMAL
(
"ADSC_AUX_Buff"
, 0x00000000, 0x00004000-1,
71
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
72
/* ADSC Main buffer (16KiB) */
73
PREALLOC_NORMAL
(
"ADSC_Main_Buff"
, 0x00000000, 0x00004000-1,
74
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
75
76
/*
77
* STAVEM driver/STAPI
78
*
79
* This memory area is used for allocating buffers for Video decoding
80
* purposes. Allocation/De-allocation within this buffer is managed
81
* by the STAVMEM driver of the STAPI. They could be Decimated
82
* Picture Buffers, Intermediate Buffers, as deemed necessary for
83
* video decoding purposes, for any video decoders on Zeus.
84
*/
85
/* 12MiB */
86
PREALLOC_NORMAL
(
"AVMEMPartition0"
, 0x00000000, 0x00c00000-1,
87
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
88
89
/*
90
* DOCSIS Subsystem
91
*/
92
/* 7MiB */
93
PREALLOC_DOCSIS
(
"Docsis"
, 0x40100000, 0x40800000-1,
IORESOURCE_MEM
)
94
95
/*
96
* GHW HAL Driver
97
*/
98
/* PowerTV Graphics Heap (14MiB) */
99
PREALLOC_NORMAL
(
"GraphicsHeap"
, 0x46900000, 0x47700000-1,
100
IORESOURCE_MEM
)
101
102
/*
103
* multi com buffer area
104
*/
105
/* 128KiB */
106
PREALLOC_NORMAL
(
"MulticomSHM"
, 0x47900000, 0x47920000-1,
107
IORESOURCE_MEM
)
108
109
/*
110
* DMA Ring buffer
111
*/
112
/* 2.5MiB */
113
PREALLOC_NORMAL
(
"BMM_Buffer"
, 0x00000000, 0x00280000-1,
114
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
115
116
/*
117
* Display bins buffer for unit0
118
*/
119
/* 4KiB */
120
PREALLOC_NORMAL
(
"DisplayBins0"
, 0x00000000, 0x00001000-1,
121
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
122
123
/*
124
* Display bins buffer for unit1
125
*/
126
/* 4KiB */
127
PREALLOC_NORMAL
(
"DisplayBins1"
, 0x00000000, 0x00001000-1,
128
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
129
130
/*
131
* ITFS
132
*/
133
/* 815,104 bytes each for 2 ITFS partitions. */
134
PREALLOC_NORMAL
(
"ITFS"
, 0x00000000, 0x0018E000-1,
135
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
136
137
/*
138
* AVFS
139
*/
140
/* (945K * 8) = (128K * 3) 5 playbacks / 3 server */
141
PREALLOC_NORMAL
(
"AvfsDmaMem"
, 0x00000000, 0x007c2000-1,
142
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
143
/* 4KiB */
144
PREALLOC_NORMAL
(
"AvfsFileSys"
, 0x00000000, 0x00001000-1,
145
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
146
147
/*
148
* PMEM
149
*/
150
/* Persistent memory for diagnostics (64KiB) */
151
PREALLOC_PMEM
(
"DiagPersistentMemory"
, 0x00000000, 0x10000-1,
152
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
153
154
/*
155
* Smartcard
156
*/
157
/* Read and write buffers for Internal/External cards (10KiB) */
158
PREALLOC_NORMAL
(
"SmartCardInfo"
, 0x00000000, 0x2800-1,
159
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
160
161
/*
162
* TFTPBuffer
163
*
164
* This buffer is used in some minimal configurations (e.g. two-way
165
* loader) for storing software images
166
*/
167
PREALLOC_TFTP
(
"TFTPBuffer"
, 0x00000000,
MEBIBYTE
(80)-1,
168
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
169
170
/*
171
* Add other resources here
172
*/
173
174
/*
175
* End of Resource marker
176
*/
177
{
178
.flags = 0,
179
},
180
};
181
182
/*
183
* NON_DVR_CAPABLE ZEUS RESOURCES
184
*/
185
struct
resource
non_dvr_zeus_resources
[] __initdata =
186
{
187
/*
188
* VIDEO1 / LX1
189
*/
190
/* Delta-Mu 1 image (2MiB) */
191
PREALLOC_NORMAL
(
"ST231aImage"
, 0x20000000, 0x20200000-1,
192
IORESOURCE_MEM
)
193
/* Delta-Mu 1 monitor (8KiB) */
194
PREALLOC_NORMAL
(
"ST231aMonitor"
, 0x20200000, 0x20202000-1,
195
IORESOURCE_MEM
)
196
/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
197
PREALLOC_NORMAL
(
"MediaMemory1"
, 0x20202000, 0x22000000-1,
198
IORESOURCE_MEM
)
199
200
/*
201
* Sysaudio Driver
202
*/
203
/* DSP code and data images (1MiB) */
204
PREALLOC_NORMAL
(
"DSP_Image_Buff"
, 0x00000000, 0x00100000-1,
205
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
206
/* ADSC CPU PCM buffer (40KiB) */
207
PREALLOC_NORMAL
(
"ADSC_CPU_PCM_Buff"
, 0x00000000, 0x0000A000-1,
208
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
209
/* ADSC AUX buffer (16KiB) */
210
PREALLOC_NORMAL
(
"ADSC_AUX_Buff"
, 0x00000000, 0x00004000-1,
211
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
212
/* ADSC Main buffer (16KiB) */
213
PREALLOC_NORMAL
(
"ADSC_Main_Buff"
, 0x00000000, 0x00004000-1,
214
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
215
216
/*
217
* STAVEM driver/STAPI
218
*/
219
/* 6MiB */
220
PREALLOC_NORMAL
(
"AVMEMPartition0"
, 0x00000000, 0x00600000-1,
221
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
222
223
/*
224
* DOCSIS Subsystem
225
*/
226
/* 7MiB */
227
PREALLOC_DOCSIS
(
"Docsis"
, 0x40100000, 0x40800000-1,
IORESOURCE_MEM
)
228
229
/*
230
* GHW HAL Driver
231
*/
232
/* PowerTV Graphics Heap (14MiB) */
233
PREALLOC_NORMAL
(
"GraphicsHeap"
, 0x46900000, 0x47700000-1,
234
IORESOURCE_MEM
)
235
236
/*
237
* multi com buffer area
238
*/
239
/* 128KiB */
240
PREALLOC_NORMAL
(
"MulticomSHM"
, 0x47900000, 0x47920000-1,
241
IORESOURCE_MEM
)
242
243
/*
244
* DMA Ring buffer
245
*/
246
/* 2.5MiB */
247
PREALLOC_NORMAL
(
"BMM_Buffer"
, 0x00000000, 0x00280000-1,
248
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
249
250
/*
251
* Display bins buffer for unit0
252
*/
253
/* 4KiB */
254
PREALLOC_NORMAL
(
"DisplayBins0"
, 0x00000000, 0x00001000-1,
255
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
256
257
/*
258
* AVFS: player HAL memory
259
*/
260
/* 945K * 3 for playback */
261
PREALLOC_NORMAL
(
"AvfsDmaMem"
, 0x00000000, 0x002c4c00-1,
262
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
263
264
/*
265
* PMEM
266
*/
267
/* Persistent memory for diagnostics (64KiB) */
268
PREALLOC_PMEM
(
"DiagPersistentMemory"
, 0x00000000, 0x10000-1,
269
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
270
271
/*
272
* Smartcard
273
*/
274
/* Read and write buffers for Internal/External cards (10KiB) */
275
PREALLOC_NORMAL
(
"SmartCardInfo"
, 0x00000000, 0x2800-1,
276
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
277
278
/*
279
* NAND Flash
280
*/
281
/* 10KiB */
282
PREALLOC_NORMAL
(
"NandFlash"
,
NAND_FLASH_BASE
,
NAND_FLASH_BASE
+0x400-1,
283
IORESOURCE_MEM
)
284
285
/*
286
* TFTPBuffer
287
*
288
* This buffer is used in some minimal configurations (e.g. two-way
289
* loader) for storing software images
290
*/
291
PREALLOC_TFTP
(
"TFTPBuffer"
, 0x00000000,
MEBIBYTE
(80)-1,
292
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
293
294
/*
295
* Add other resources here
296
*/
297
298
/*
299
* End of Resource marker
300
*/
301
{
302
.flags = 0,
303
},
304
};
Generated on Thu Jan 10 2013 13:12:11 for Linux Kernel by
1.8.2