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-cronus.c
Go to the documentation of this file.
1
/*
2
* Memory pre-allocations for Cronus 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 CRONUS RESOURCES
31
*/
32
struct
resource
dvr_cronus_resources
[]
__initdata
=
33
{
34
/*
35
* VIDEO1 / LX1
36
*/
37
/* Delta-Mu 1 image (2MiB) */
38
PREALLOC_NORMAL
(
"ST231aImage"
, 0x24000000, 0x24200000-1,
39
IORESOURCE_MEM
)
40
/* Delta-Mu 1 monitor (8KiB) */
41
PREALLOC_NORMAL
(
"ST231aMonitor"
, 0x24200000, 0x24202000-1,
42
IORESOURCE_MEM
)
43
/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
44
PREALLOC_NORMAL
(
"MediaMemory1"
, 0x24202000, 0x26000000-1,
45
IORESOURCE_MEM
)
46
47
/*
48
* VIDEO2 / LX2
49
*/
50
/* Delta-Mu 2 image (2MiB) */
51
PREALLOC_NORMAL
(
"ST231bImage"
, 0x60000000, 0x60200000-1,
52
IORESOURCE_MEM
)
53
/* Delta-Mu 2 monitor (8KiB) */
54
PREALLOC_NORMAL
(
"ST231bMonitor"
, 0x60200000, 0x60202000-1,
55
IORESOURCE_MEM
)
56
/* Delta-Mu 2 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
57
PREALLOC_NORMAL
(
"MediaMemory2"
, 0x60202000, 0x62000000-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 (128KiB) */
70
PREALLOC_NORMAL
(
"ADSC_AUX_Buff"
, 0x00000000, 0x00020000-1,
71
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
72
/* ADSC Main buffer (128KiB) */
73
PREALLOC_NORMAL
(
"ADSC_Main_Buff"
, 0x00000000, 0x00020000-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
)
88
89
/*
90
* DOCSIS Subsystem
91
*/
92
/* 7MiB */
93
PREALLOC_DOCSIS
(
"Docsis"
, 0x67500000, 0x67c00000-1,
IORESOURCE_MEM
)
94
95
/*
96
* GHW HAL Driver
97
*/
98
/* PowerTV Graphics Heap (14MiB) */
99
PREALLOC_NORMAL
(
"GraphicsHeap"
, 0x62700000, 0x63500000-1,
100
IORESOURCE_MEM
)
101
102
/*
103
* multi com buffer area
104
*/
105
/* 128KiB */
106
PREALLOC_NORMAL
(
"MulticomSHM"
, 0x26000000, 0x26020000-1,
107
IORESOURCE_MEM
)
108
109
/*
110
* DMA Ring buffer
111
*/
112
PREALLOC_NORMAL
(
"BMM_Buffer"
, 0x00000000, 0x002EA000-1,
113
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
114
115
/*
116
* Display bins buffer for unit0
117
*/
118
/* 4KiB */
119
PREALLOC_NORMAL
(
"DisplayBins0"
, 0x00000000, 0x00001000-1,
120
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
121
122
/*
123
* Display bins buffer for unit1
124
*/
125
/* 4KiB */
126
PREALLOC_NORMAL
(
"DisplayBins1"
, 0x00000000, 0x00001000-1,
127
IORESOURCE_MEM
)
128
129
/*
130
* ITFS
131
*/
132
/* 815,104 bytes each for 2 ITFS partitions. */
133
PREALLOC_NORMAL
(
"ITFS"
, 0x00000000, 0x0018E000-1,
IORESOURCE_MEM
)
134
135
/*
136
* AVFS
137
*/
138
/* (945K * 8) = (128K * 3) 5 playbacks / 3 server */
139
PREALLOC_NORMAL
(
"AvfsDmaMem"
, 0x00000000, 0x007c2000-1,
140
IORESOURCE_MEM
)
141
142
/* 4KiB */
143
PREALLOC_NORMAL
(
"AvfsFileSys"
, 0x00000000, 0x00001000-1,
144
IORESOURCE_MEM
)
145
146
/*
147
* PMEM
148
*/
149
/* Persistent memory for diagnostics (64KiB) */
150
PREALLOC_PMEM
(
"DiagPersistentMemory"
, 0x00000000, 0x10000-1,
151
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
152
153
/*
154
* Smartcard
155
*/
156
/* Read and write buffers for Internal/External cards (10KiB) */
157
PREALLOC_NORMAL
(
"SmartCardInfo"
, 0x00000000, 0x2800-1,
158
IORESOURCE_MEM
)
159
160
/*
161
* KAVNET
162
*/
163
/* NP Reset Vector - must be of the form xxCxxxxx (4KiB) */
164
PREALLOC_NORMAL
(
"NP_Reset_Vector"
, 0x27c00000, 0x27c01000-1,
165
IORESOURCE_MEM
)
166
/* NP Image - must be video bank 1 (320KiB) */
167
PREALLOC_NORMAL
(
"NP_Image"
, 0x27020000, 0x27070000-1,
IORESOURCE_MEM
)
168
/* NP IPC - must be video bank 2 (512KiB) */
169
PREALLOC_NORMAL
(
"NP_IPC"
, 0x63500000, 0x63580000-1,
IORESOURCE_MEM
)
170
171
/*
172
* TFTPBuffer
173
*
174
* This buffer is used in some minimal configurations (e.g. two-way
175
* loader) for storing software images
176
*/
177
PREALLOC_TFTP
(
"TFTPBuffer"
, 0x00000000,
MEBIBYTE
(80)-1,
178
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
179
180
/*
181
* Add other resources here
182
*/
183
184
/*
185
* End of Resource marker
186
*/
187
{
188
.flags = 0,
189
},
190
};
191
192
/*
193
* NON_DVR_CAPABLE CRONUS RESOURCES
194
*/
195
struct
resource
non_dvr_cronus_resources
[] __initdata =
196
{
197
/*
198
* VIDEO1 / LX1
199
*/
200
/* Delta-Mu 1 image (2MiB) */
201
PREALLOC_NORMAL
(
"ST231aImage"
, 0x24000000, 0x24200000-1,
202
IORESOURCE_MEM
)
203
/* Delta-Mu 1 monitor (8KiB) */
204
PREALLOC_NORMAL
(
"ST231aMonitor"
, 0x24200000, 0x24202000-1,
205
IORESOURCE_MEM
)
206
/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
207
PREALLOC_NORMAL
(
"MediaMemory1"
, 0x24202000, 0x26000000-1,
208
IORESOURCE_MEM
)
209
210
/*
211
* VIDEO2 / LX2
212
*/
213
/* Delta-Mu 2 image (2MiB) */
214
PREALLOC_NORMAL
(
"ST231bImage"
, 0x60000000, 0x60200000-1,
215
IORESOURCE_MEM
)
216
/* Delta-Mu 2 monitor (8KiB) */
217
PREALLOC_NORMAL
(
"ST231bMonitor"
, 0x60200000, 0x60202000-1,
218
IORESOURCE_MEM
)
219
/* Delta-Mu 2 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */
220
PREALLOC_NORMAL
(
"MediaMemory2"
, 0x60202000, 0x62000000-1,
221
IORESOURCE_MEM
)
222
223
/*
224
* Sysaudio Driver
225
*/
226
/* DSP code and data images (1MiB) */
227
PREALLOC_NORMAL
(
"DSP_Image_Buff"
, 0x00000000, 0x00100000-1,
228
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
229
/* ADSC CPU PCM buffer (40KiB) */
230
PREALLOC_NORMAL
(
"ADSC_CPU_PCM_Buff"
, 0x00000000, 0x0000A000-1,
231
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
232
/* ADSC AUX buffer (128KiB) */
233
PREALLOC_NORMAL
(
"ADSC_AUX_Buff"
, 0x00000000, 0x00020000-1,
234
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
235
/* ADSC Main buffer (128KiB) */
236
PREALLOC_NORMAL
(
"ADSC_Main_Buff"
, 0x00000000, 0x00020000-1,
237
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
238
239
/*
240
* STAVEM driver/STAPI
241
*
242
* This memory area is used for allocating buffers for Video decoding
243
* purposes. Allocation/De-allocation within this buffer is managed
244
* by the STAVMEM driver of the STAPI. They could be Decimated
245
* Picture Buffers, Intermediate Buffers, as deemed necessary for
246
* video decoding purposes, for any video decoders on Zeus.
247
*/
248
/* 12MiB */
249
PREALLOC_NORMAL
(
"AVMEMPartition0"
, 0x00000000, 0x00c00000-1,
250
IORESOURCE_MEM
)
251
252
/*
253
* DOCSIS Subsystem
254
*/
255
/* 7MiB */
256
PREALLOC_DOCSIS
(
"Docsis"
, 0x67500000, 0x67c00000-1,
IORESOURCE_MEM
)
257
258
/*
259
* GHW HAL Driver
260
*/
261
/* PowerTV Graphics Heap (14MiB) */
262
PREALLOC_NORMAL
(
"GraphicsHeap"
, 0x62700000, 0x63500000-1,
263
IORESOURCE_MEM
)
264
265
/*
266
* multi com buffer area
267
*/
268
/* 128KiB */
269
PREALLOC_NORMAL
(
"MulticomSHM"
, 0x26000000, 0x26020000-1,
270
IORESOURCE_MEM
)
271
272
/*
273
* DMA Ring buffer (don't need recording buffers)
274
*/
275
/* 680KiB */
276
PREALLOC_NORMAL
(
"BMM_Buffer"
, 0x00000000, 0x000AA000-1,
277
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
278
279
/*
280
* Display bins buffer for unit0
281
*/
282
/* 4KiB */
283
PREALLOC_NORMAL
(
"DisplayBins0"
, 0x00000000, 0x00001000-1,
284
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
285
286
/*
287
* Display bins buffer for unit1
288
*/
289
/* 4KiB */
290
PREALLOC_NORMAL
(
"DisplayBins1"
, 0x00000000, 0x00001000-1,
291
IORESOURCE_MEM
)
292
293
/*
294
* AVFS: player HAL memory
295
*/
296
/* 945K * 3 for playback */
297
PREALLOC_NORMAL
(
"AvfsDmaMem"
, 0x00000000, 0x002c4c00-1,
IORESOURCE_MEM
)
298
299
/*
300
* PMEM
301
*/
302
/* Persistent memory for diagnostics (64KiB) */
303
PREALLOC_PMEM
(
"DiagPersistentMemory"
, 0x00000000, 0x10000-1,
304
(
IORESOURCE_MEM
|IORESOURCE_PTV_RES_LOEXT))
305
306
/*
307
* Smartcard
308
*/
309
/* Read and write buffers for Internal/External cards (10KiB) */
310
PREALLOC_NORMAL
(
"SmartCardInfo"
, 0x00000000, 0x2800-1,
IORESOURCE_MEM
)
311
312
/*
313
* KAVNET
314
*/
315
/* NP Reset Vector - must be of the form xxCxxxxx (4KiB) */
316
PREALLOC_NORMAL
(
"NP_Reset_Vector"
, 0x27c00000, 0x27c01000-1,
317
IORESOURCE_MEM
)
318
/* NP Image - must be video bank 1 (320KiB) */
319
PREALLOC_NORMAL
(
"NP_Image"
, 0x27020000, 0x27070000-1,
IORESOURCE_MEM
)
320
/* NP IPC - must be video bank 2 (512KiB) */
321
PREALLOC_NORMAL
(
"NP_IPC"
, 0x63500000, 0x63580000-1,
IORESOURCE_MEM
)
322
323
/*
324
* NAND Flash
325
*/
326
/* 10KiB */
327
PREALLOC_NORMAL
(
"NandFlash"
,
NAND_FLASH_BASE
,
NAND_FLASH_BASE
+0x400-1,
328
IORESOURCE_MEM
)
329
330
/*
331
* Add other resources here
332
*/
333
334
/*
335
* End of Resource marker
336
*/
337
{
338
.flags = 0,
339
},
340
};
Generated on Thu Jan 10 2013 13:12:11 for Linux Kernel by
1.8.2