Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/mips/powertv/asic/prealloc-calliope.c
10818 views
1
/*
2
* Memory pre-allocations for Calliope 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
* NON_DVR_CAPABLE CALLIOPE RESOURCES
31
*/
32
struct resource non_dvr_calliope_resources[] __initdata =
33
{
34
/*
35
* VIDEO / 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 (~36.9MiB (32MiB - (2MiB + 8KiB))) */
44
PREALLOC_NORMAL("MediaMemory1", 0x24202000, 0x26700000-1,
45
IORESOURCE_MEM)
46
47
/*
48
* Sysaudio Driver
49
*/
50
/* DSP code and data images (1MiB) */
51
PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,
52
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
53
/* ADSC CPU PCM buffer (40KiB) */
54
PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,
55
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
56
/* ADSC AUX buffer (128KiB) */
57
PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00020000-1,
58
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
59
/* ADSC Main buffer (128KiB) */
60
PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00020000-1,
61
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
62
63
/*
64
* STAVEM driver/STAPI
65
*/
66
/* 6MiB */
67
PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00600000-1,
68
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
69
70
/*
71
* DOCSIS Subsystem
72
*/
73
/* 7MiB */
74
PREALLOC_DOCSIS("Docsis", 0x27500000, 0x27c00000-1, IORESOURCE_MEM)
75
76
/*
77
* GHW HAL Driver
78
*/
79
/* PowerTV Graphics Heap (14MiB) */
80
PREALLOC_NORMAL("GraphicsHeap", 0x26700000, 0x26700000+(14*1048576)-1,
81
IORESOURCE_MEM)
82
83
/*
84
* multi com buffer area
85
*/
86
/* 128KiB */
87
PREALLOC_NORMAL("MulticomSHM", 0x23700000, 0x23720000-1,
88
IORESOURCE_MEM)
89
90
/*
91
* DMA Ring buffer (don't need recording buffers)
92
*/
93
/* 680KiB */
94
PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,
95
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
96
97
/*
98
* Display bins buffer for unit0
99
*/
100
/* 4KiB */
101
PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,
102
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
103
104
/*
105
* AVFS: player HAL memory
106
*/
107
/* 945K * 3 for playback */
108
PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1,
109
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
110
111
/*
112
* PMEM
113
*/
114
/* Persistent memory for diagnostics (64KiB) */
115
PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,
116
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
117
118
/*
119
* Smartcard
120
*/
121
/* Read and write buffers for Internal/External cards (10KiB) */
122
PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,
123
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
124
125
/*
126
* NAND Flash
127
*/
128
/* 10KiB */
129
PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,
130
IORESOURCE_MEM)
131
132
/*
133
* Synopsys GMAC Memory Region
134
*/
135
/* 64KiB */
136
PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,
137
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
138
139
/*
140
* TFTPBuffer
141
*
142
* This buffer is used in some minimal configurations (e.g. two-way
143
* loader) for storing software images
144
*/
145
PREALLOC_TFTP("TFTPBuffer", 0x00000000, MEBIBYTE(80)-1,
146
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
147
148
/*
149
* Add other resources here
150
*/
151
152
/*
153
* End of Resource marker
154
*/
155
{
156
.flags = 0,
157
},
158
};
159
160
161
struct resource non_dvr_vze_calliope_resources[] __initdata =
162
{
163
/*
164
* VIDEO / LX1
165
*/
166
/* Delta-Mu 1 image (2MiB) */
167
PREALLOC_NORMAL("ST231aImage", 0x22000000, 0x22200000-1,
168
IORESOURCE_MEM)
169
/* Delta-Mu 1 monitor (8KiB) */
170
PREALLOC_NORMAL("ST231aMonitor", 0x22200000, 0x22202000-1,
171
IORESOURCE_MEM)
172
/* Delta-Mu 1 RAM (10.12MiB) */
173
PREALLOC_NORMAL("MediaMemory1", 0x22202000, 0x22C20B85-1,
174
IORESOURCE_MEM)
175
176
/*
177
* Sysaudio Driver
178
*/
179
/* DSP code and data images (1MiB) */
180
PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,
181
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
182
/* ADSC CPU PCM buffer (40KiB) */
183
PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,
184
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
185
/* ADSC AUX buffer (16KiB) */
186
PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00004000-1,
187
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
188
/* ADSC Main buffer (16KiB) */
189
PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00004000-1,
190
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
191
192
/*
193
* STAVEM driver/STAPI
194
*/
195
/* 3.125MiB */
196
PREALLOC_NORMAL("AVMEMPartition0", 0x20396000, 0x206B6000-1,
197
IORESOURCE_MEM)
198
199
/*
200
* GHW HAL Driver
201
*/
202
/* PowerTV Graphics Heap (2.59MiB) */
203
PREALLOC_NORMAL("GraphicsHeap", 0x20100000, 0x20396000-1,
204
IORESOURCE_MEM)
205
206
/*
207
* multi com buffer area
208
*/
209
/* 128KiB */
210
PREALLOC_NORMAL("MulticomSHM", 0x206B6000, 0x206D6000-1,
211
IORESOURCE_MEM)
212
213
/*
214
* DMA Ring buffer (don't need recording buffers)
215
*/
216
/* 680KiB */
217
PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,
218
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
219
220
/*
221
* Display bins buffer for unit0
222
*/
223
/* 4KiB */
224
PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,
225
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
226
227
/*
228
* PMEM
229
*/
230
/* Persistent memory for diagnostics (64KiB) */
231
PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,
232
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
233
234
/*
235
* Smartcard
236
*/
237
/* Read and write buffers for Internal/External cards (10KiB) */
238
PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,
239
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
240
241
/*
242
* NAND Flash
243
*/
244
/* 10KiB */
245
PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,
246
IORESOURCE_MEM)
247
248
/*
249
* Synopsys GMAC Memory Region
250
*/
251
/* 64KiB */
252
PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,
253
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
254
255
/*
256
* Add other resources here
257
*/
258
259
/*
260
* End of Resource marker
261
*/
262
{
263
.flags = 0,
264
},
265
};
266
267
struct resource non_dvr_vzf_calliope_resources[] __initdata =
268
{
269
/*
270
* VIDEO / LX1
271
*/
272
/* Delta-Mu 1 image (2MiB) */
273
PREALLOC_NORMAL("ST231aImage", 0x24000000, 0x24200000-1,
274
IORESOURCE_MEM)
275
/* Delta-Mu 1 monitor (8KiB) */
276
PREALLOC_NORMAL("ST231aMonitor", 0x24200000, 0x24202000-1,
277
IORESOURCE_MEM)
278
/* Delta-Mu 1 RAM (~19.4 (21.5MiB - (2MiB + 8KiB))) */
279
PREALLOC_NORMAL("MediaMemory1", 0x24202000, 0x25580000-1,
280
IORESOURCE_MEM)
281
282
/*
283
* Sysaudio Driver
284
*/
285
/* DSP code and data images (1MiB) */
286
PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,
287
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
288
/* ADSC CPU PCM buffer (40KiB) */
289
PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,
290
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
291
/* ADSC AUX buffer (128KiB) */
292
PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00020000-1,
293
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
294
/* ADSC Main buffer (128KiB) */
295
PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00020000-1,
296
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
297
298
/*
299
* STAVEM driver/STAPI
300
*/
301
/* 4.5MiB */
302
PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00480000-1,
303
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
304
305
/*
306
* GHW HAL Driver
307
*/
308
/* PowerTV Graphics Heap (14MiB) */
309
PREALLOC_NORMAL("GraphicsHeap", 0x25600000, 0x25600000+(14*1048576)-1,
310
IORESOURCE_MEM)
311
312
/*
313
* multi com buffer area
314
*/
315
/* 128KiB */
316
PREALLOC_NORMAL("MulticomSHM", 0x23700000, 0x23720000-1,
317
IORESOURCE_MEM)
318
319
/*
320
* DMA Ring buffer (don't need recording buffers)
321
*/
322
/* 680KiB */
323
PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,
324
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
325
326
/*
327
* Display bins buffer for unit0
328
*/
329
/* 4KiB */
330
PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,
331
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
332
333
/*
334
* Display bins buffer for unit1
335
*/
336
/* 4KiB */
337
PREALLOC_NORMAL("DisplayBins1", 0x00000000, 0x00001000-1,
338
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
339
340
/*
341
* AVFS: player HAL memory
342
*/
343
/* 945K * 3 for playback */
344
PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1,
345
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
346
347
/*
348
* PMEM
349
*/
350
/* Persistent memory for diagnostics (64KiB) */
351
PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,
352
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
353
354
/*
355
* Smartcard
356
*/
357
/* Read and write buffers for Internal/External cards (10KiB) */
358
PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,
359
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
360
361
/*
362
* NAND Flash
363
*/
364
/* 10KiB */
365
PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,
366
IORESOURCE_MEM)
367
368
/*
369
* Synopsys GMAC Memory Region
370
*/
371
/* 64KiB */
372
PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,
373
(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))
374
375
/*
376
* Add other resources here
377
*/
378
379
/*
380
* End of Resource marker
381
*/
382
{
383
.flags = 0,
384
},
385
};
386
387