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