2 * Memory pre-allocations for Zeus 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: Ken Eppinett
21 * David Schleef <ds@schleef.org>
24 #include <linux/init.h>
25 #include <asm/mach-powertv/asic.h>
28 * DVR_CAPABLE RESOURCES
30 struct resource dvr_zeus_resources
[] __initdata
=
38 .name
= "ST231aImage", /* Delta-Mu 1 image and ram */
40 .end
= 0x201FFFFF, /* 2MiB */
41 .flags
= IORESOURCE_IO
,
44 .name
= "ST231aMonitor", /* 8KiB block ST231a monitor */
47 .flags
= IORESOURCE_IO
,
50 .name
= "MediaMemory1",
52 .end
= 0x21FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
53 .flags
= IORESOURCE_IO
,
61 .name
= "ST231bImage", /* Delta-Mu 2 image and ram */
63 .end
= 0x301FFFFF, /* 2MiB */
64 .flags
= IORESOURCE_IO
,
67 .name
= "ST231bMonitor", /* 8KiB block ST231b monitor */
70 .flags
= IORESOURCE_IO
,
73 .name
= "MediaMemory2",
75 .end
= 0x31FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
76 .flags
= IORESOURCE_IO
,
82 * This driver requires:
84 * Arbitrary Based Buffers:
85 * DSP_Image_Buff - DSP code and data images (1MB)
86 * ADSC_CPU_PCM_Buff - ADSC CPU PCM buffer (40KB)
87 * ADSC_AUX_Buff - ADSC AUX buffer (16KB)
88 * ADSC_Main_Buff - ADSC Main buffer (16KB)
92 .name
= "DSP_Image_Buff",
95 .flags
= IORESOURCE_MEM
,
98 .name
= "ADSC_CPU_PCM_Buff",
101 .flags
= IORESOURCE_MEM
,
104 .name
= "ADSC_AUX_Buff",
107 .flags
= IORESOURCE_MEM
,
110 .name
= "ADSC_Main_Buff",
113 .flags
= IORESOURCE_MEM
,
117 * STAVEM driver/STAPI
119 * This driver requires:
121 * Arbitrary Based Buffers:
122 * This memory area is used for allocating buffers for Video decoding
123 * purposes. Allocation/De-allocation within this buffer is managed
124 * by the STAVMEM driver of the STAPI. They could be Decimated
125 * Picture Buffers, Intermediate Buffers, as deemed necessary for
126 * video decoding purposes, for any video decoders on Zeus.
130 .name
= "AVMEMPartition0",
132 .end
= 0x00c00000 - 1, /* 12 MB total */
133 .flags
= IORESOURCE_MEM
,
139 * This driver requires:
141 * Arbitrary Based Buffers:
149 .flags
= IORESOURCE_MEM
,
155 * This driver requires:
157 * Arbitrary Based Buffers:
158 * GraphicsHeap - PowerTV Graphics Heap
162 .name
= "GraphicsHeap",
164 .end
= 0x47700000 - 1, /* 14 MB total */
165 .flags
= IORESOURCE_MEM
,
169 * multi com buffer area
171 * This driver requires:
173 * Arbitrary Based Buffers:
178 .name
= "MulticomSHM",
180 .end
= 0x47920000 - 1,
181 .flags
= IORESOURCE_MEM
,
187 * This driver requires:
189 * Arbitrary Based Buffers:
194 .name
= "BMM_Buffer",
196 .end
= 0x00280000 - 1,
197 .flags
= IORESOURCE_MEM
,
201 * Display bins buffer for unit0
203 * This driver requires:
205 * Arbitrary Based Buffers:
206 * Display Bins for unit0
210 .name
= "DisplayBins0",
212 .end
= 0x00000FFF, /* 4 KB total */
213 .flags
= IORESOURCE_MEM
,
217 * Display bins buffer
219 * This driver requires:
221 * Arbitrary Based Buffers:
222 * Display Bins for unit1
226 .name
= "DisplayBins1",
228 .end
= 0x00000FFF, /* 4 KB total */
229 .flags
= IORESOURCE_MEM
,
235 * This driver requires:
237 * Arbitrary Based Buffers:
244 /* 815,104 bytes each for 2 ITFS partitions. */
246 .flags
= IORESOURCE_MEM
,
252 * This driver requires:
254 * Arbitrary Based Buffers:
259 .name
= "AvfsDmaMem",
261 /* (945K * 8) = (128K * 3) 5 playbacks / 3 server */
262 .end
= 0x007c2000 - 1,
263 .flags
= IORESOURCE_MEM
,
266 .name
= "AvfsFileSys",
268 .end
= 0x00001000 - 1, /* 4K */
269 .flags
= IORESOURCE_MEM
,
275 * This driver requires:
277 * Arbitrary Based Buffers:
278 * Persistent memory for diagnostics.
282 .name
= "DiagPersistentMemory",
285 .flags
= IORESOURCE_MEM
,
291 * This driver requires:
293 * Arbitrary Based Buffers:
294 * Read and write buffers for Internal/External cards
298 .name
= "SmartCardInfo",
301 .flags
= IORESOURCE_MEM
,
304 * Add other resources here
310 * NON_DVR_CAPABLE ZEUS RESOURCES
312 struct resource non_dvr_zeus_resources
[] __initdata
=
318 .name
= "ST231aImage", /* Delta-Mu 1 image and ram */
320 .end
= 0x201FFFFF, /* 2MiB */
321 .flags
= IORESOURCE_IO
,
324 .name
= "ST231aMonitor", /* 8KiB block ST231a monitor */
327 .flags
= IORESOURCE_IO
,
330 .name
= "MediaMemory1",
332 .end
= 0x21FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
333 .flags
= IORESOURCE_IO
,
339 .name
= "DSP_Image_Buff",
342 .flags
= IORESOURCE_MEM
,
345 .name
= "ADSC_CPU_PCM_Buff",
348 .flags
= IORESOURCE_MEM
,
351 .name
= "ADSC_AUX_Buff",
354 .flags
= IORESOURCE_MEM
,
357 .name
= "ADSC_Main_Buff",
360 .flags
= IORESOURCE_MEM
,
363 * STAVEM driver/STAPI
366 .name
= "AVMEMPartition0",
368 .end
= 0x00600000 - 1, /* 6 MB total */
369 .flags
= IORESOURCE_MEM
,
378 .flags
= IORESOURCE_MEM
,
384 .name
= "GraphicsHeap",
386 .end
= 0x47700000 - 1, /* 14 MB total */
387 .flags
= IORESOURCE_MEM
,
390 * multi com buffer area
393 .name
= "MulticomSHM",
395 .end
= 0x47920000 - 1,
396 .flags
= IORESOURCE_MEM
,
402 .name
= "BMM_Buffer",
404 .end
= 0x00280000 - 1,
405 .flags
= IORESOURCE_MEM
,
408 * Display bins buffer for unit0
411 .name
= "DisplayBins0",
413 .end
= 0x00000FFF, /* 4 KB total */
414 .flags
= IORESOURCE_MEM
,
418 * AVFS: player HAL memory
423 .name
= "AvfsDmaMem",
425 .end
= 0x002c4c00 - 1, /* 945K * 3 for playback */
426 .flags
= IORESOURCE_MEM
,
432 .name
= "DiagPersistentMemory",
435 .flags
= IORESOURCE_MEM
,
441 .name
= "SmartCardInfo",
444 .flags
= IORESOURCE_MEM
,
451 .start
= NAND_FLASH_BASE
,
452 .end
= NAND_FLASH_BASE
+ 0x400 - 1,
453 .flags
= IORESOURCE_IO
,
456 * Add other resources here