2
* Memory pre-allocations for Gaia boxes.
4
* Copyright (C) 2005-2009 Scientific-Atlanta, Inc.
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.
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.
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
20
* Author: David VomLehn
23
#include <linux/init.h>
24
#include <asm/mach-powertv/asic.h>
27
* DVR_CAPABLE GAIA RESOURCES
29
struct resource dvr_gaia_resources[] __initdata = {
36
.name = "ST231aImage", /* Delta-Mu 1 image and ram */
38
.end = 0x241FFFFF, /* 2MiB */
39
.flags = IORESOURCE_MEM,
42
.name = "ST231aMonitor", /* 8KiB block ST231a monitor */
45
.flags = IORESOURCE_MEM,
48
.name = "MediaMemory1",
50
.end = 0x25FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
51
.flags = IORESOURCE_MEM,
59
.name = "ST231bImage", /* Delta-Mu 2 image and ram */
61
.end = 0x601FFFFF, /* 2MiB */
62
.flags = IORESOURCE_IO,
65
.name = "ST231bMonitor", /* 8KiB block ST231b monitor */
68
.flags = IORESOURCE_IO,
71
.name = "MediaMemory2",
73
.end = 0x61FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
74
.flags = IORESOURCE_IO,
80
* This driver requires:
82
* Arbitrary Based Buffers:
83
* DSP_Image_Buff - DSP code and data images (1MB)
84
* ADSC_CPU_PCM_Buff - ADSC CPU PCM buffer (40KB)
85
* ADSC_AUX_Buff - ADSC AUX buffer (16KB)
86
* ADSC_Main_Buff - ADSC Main buffer (16KB)
90
.name = "DSP_Image_Buff",
93
.flags = IORESOURCE_MEM,
96
.name = "ADSC_CPU_PCM_Buff",
99
.flags = IORESOURCE_MEM,
102
.name = "ADSC_AUX_Buff",
105
.flags = IORESOURCE_MEM,
108
.name = "ADSC_Main_Buff",
111
.flags = IORESOURCE_MEM,
115
* STAVEM driver/STAPI
117
* This driver requires:
119
* Arbitrary Based Buffers:
120
* This memory area is used for allocating buffers for Video decoding
121
* purposes. Allocation/De-allocation within this buffer is managed
122
* by the STAVMEM driver of the STAPI. They could be Decimated
123
* Picture Buffers, Intermediate Buffers, as deemed necessary for
124
* video decoding purposes, for any video decoders on Zeus.
128
.name = "AVMEMPartition0",
130
.end = 0x64180000 - 1, /* 12 MB total */
131
.flags = IORESOURCE_IO,
137
* This driver requires:
139
* Arbitrary Based Buffers:
146
.end = 0x62700000 - 1, /* 7 MB total */
147
.flags = IORESOURCE_IO,
153
* This driver requires:
155
* Arbitrary Based Buffers:
156
* GraphicsHeap - PowerTV Graphics Heap
160
.name = "GraphicsHeap",
162
.end = 0x63500000 - 1, /* 14 MB total */
163
.flags = IORESOURCE_IO,
167
* multi com buffer area
169
* This driver requires:
171
* Arbitrary Based Buffers:
176
.name = "MulticomSHM",
178
.end = 0x26020000 - 1,
179
.flags = IORESOURCE_MEM,
185
* This driver requires:
187
* Arbitrary Based Buffers:
192
.name = "BMM_Buffer",
194
.end = 0x00280000 - 1,
195
.flags = IORESOURCE_MEM,
199
* Display bins buffer for unit0
201
* This driver requires:
203
* Arbitrary Based Buffers:
204
* Display Bins for unit0
208
.name = "DisplayBins0",
210
.end = 0x00000FFF, /* 4 KB total */
211
.flags = IORESOURCE_MEM,
215
* Display bins buffer
217
* This driver requires:
219
* Arbitrary Based Buffers:
220
* Display Bins for unit1
224
.name = "DisplayBins1",
226
.end = 0x64AD5000 - 1, /* 4 KB total */
227
.flags = IORESOURCE_IO,
233
* This driver requires:
235
* Arbitrary Based Buffers:
242
/* 815,104 bytes each for 2 ITFS partitions. */
244
.flags = IORESOURCE_IO,
250
* This driver requires:
252
* Arbitrary Based Buffers:
257
.name = "AvfsDmaMem",
259
/* (945K * 8) = (128K *3) 5 playbacks / 3 server */
260
.end = 0x64AD0000 - 1,
261
.flags = IORESOURCE_IO,
264
.name = "AvfsFileSys",
266
.end = 0x64AD1000 - 1, /* 4K */
267
.flags = IORESOURCE_IO,
273
* This driver requires:
275
* Arbitrary Based Buffers:
276
* Read and write buffers for Internal/External cards
280
.name = "SmartCardInfo",
282
.end = 0x64AD3800 - 1,
283
.flags = IORESOURCE_IO,
288
* NP Reset Vector - must be of the form xxCxxxxx
289
* NP Image - must be video bank 1
290
* NP IPC - must be video bank 2
293
.name = "NP_Reset_Vector",
295
.end = 0x27c01000 - 1,
296
.flags = IORESOURCE_MEM,
301
.end = 0x27060000 - 1,
302
.flags = IORESOURCE_MEM,
307
.end = 0x63580000 - 1,
308
.flags = IORESOURCE_IO,
311
* Add other resources here
317
* NON_DVR_CAPABLE GAIA RESOURCES
319
struct resource non_dvr_gaia_resources[] __initdata = {
326
.name = "ST231aImage", /* Delta-Mu 1 image and ram */
328
.end = 0x241FFFFF, /* 2MiB */
329
.flags = IORESOURCE_MEM,
332
.name = "ST231aMonitor", /* 8KiB block ST231a monitor */
335
.flags = IORESOURCE_MEM,
338
.name = "MediaMemory1",
340
.end = 0x25FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
341
.flags = IORESOURCE_MEM,
349
.name = "ST231bImage", /* Delta-Mu 2 image and ram */
351
.end = 0x601FFFFF, /* 2MiB */
352
.flags = IORESOURCE_IO,
355
.name = "ST231bMonitor", /* 8KiB block ST231b monitor */
358
.flags = IORESOURCE_IO,
361
.name = "MediaMemory2",
363
.end = 0x61FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
364
.flags = IORESOURCE_IO,
370
* This driver requires:
372
* Arbitrary Based Buffers:
373
* DSP_Image_Buff - DSP code and data images (1MB)
374
* ADSC_CPU_PCM_Buff - ADSC CPU PCM buffer (40KB)
375
* ADSC_AUX_Buff - ADSC AUX buffer (16KB)
376
* ADSC_Main_Buff - ADSC Main buffer (16KB)
380
.name = "DSP_Image_Buff",
383
.flags = IORESOURCE_MEM,
386
.name = "ADSC_CPU_PCM_Buff",
389
.flags = IORESOURCE_MEM,
392
.name = "ADSC_AUX_Buff",
395
.flags = IORESOURCE_MEM,
398
.name = "ADSC_Main_Buff",
401
.flags = IORESOURCE_MEM,
405
* STAVEM driver/STAPI
407
* This driver requires:
409
* Arbitrary Based Buffers:
410
* This memory area is used for allocating buffers for Video decoding
411
* purposes. Allocation/De-allocation within this buffer is managed
412
* by the STAVMEM driver of the STAPI. They could be Decimated
413
* Picture Buffers, Intermediate Buffers, as deemed necessary for
414
* video decoding purposes, for any video decoders on Zeus.
418
.name = "AVMEMPartition0",
420
.end = 0x64180000 - 1, /* 12 MB total */
421
.flags = IORESOURCE_IO,
427
* This driver requires:
429
* Arbitrary Based Buffers:
436
.end = 0x62700000 - 1, /* 7 MB total */
437
.flags = IORESOURCE_IO,
443
* This driver requires:
445
* Arbitrary Based Buffers:
446
* GraphicsHeap - PowerTV Graphics Heap
450
.name = "GraphicsHeap",
452
.end = 0x63500000 - 1, /* 14 MB total */
453
.flags = IORESOURCE_IO,
457
* multi com buffer area
459
* This driver requires:
461
* Arbitrary Based Buffers:
466
.name = "MulticomSHM",
468
.end = 0x26020000 - 1,
469
.flags = IORESOURCE_MEM,
475
* This driver requires:
477
* Arbitrary Based Buffers:
482
.name = "BMM_Buffer",
484
.end = 0x000AA000 - 1,
485
.flags = IORESOURCE_MEM,
489
* Display bins buffer for unit0
491
* This driver requires:
493
* Arbitrary Based Buffers:
494
* Display Bins for unit0
498
.name = "DisplayBins0",
500
.end = 0x00000FFF, /* 4 KB total */
501
.flags = IORESOURCE_MEM,
505
* Display bins buffer
507
* This driver requires:
509
* Arbitrary Based Buffers:
510
* Display Bins for unit1
514
.name = "DisplayBins1",
516
.end = 0x64AD5000 - 1, /* 4 KB total */
517
.flags = IORESOURCE_IO,
521
* AVFS: player HAL memory
526
.name = "AvfsDmaMem",
528
.end = 0x645D2C00 - 1, /* 945K * 3 for playback */
529
.flags = IORESOURCE_IO,
535
* This driver requires:
537
* Arbitrary Based Buffers:
538
* Persistent memory for diagnostics.
542
.name = "DiagPersistentMemory",
545
.flags = IORESOURCE_MEM,
551
* This driver requires:
553
* Arbitrary Based Buffers:
554
* Read and write buffers for Internal/External cards
558
.name = "SmartCardInfo",
560
.end = 0x64AD3800 - 1,
561
.flags = IORESOURCE_IO,
566
* NP Reset Vector - must be of the form xxCxxxxx
567
* NP Image - must be video bank 1
568
* NP IPC - must be video bank 2
571
.name = "NP_Reset_Vector",
573
.end = 0x27c01000 - 1,
574
.flags = IORESOURCE_MEM,
579
.end = 0x27060000 - 1,
580
.flags = IORESOURCE_MEM,
585
.end = 0x63580000 - 1,
586
.flags = IORESOURCE_IO,