Path: blob/master/arch/mips/powertv/asic/prealloc-zeus.c
10818 views
/*1* Memory pre-allocations for Zeus boxes.2*3* Copyright (C) 2005-2009 Scientific-Atlanta, Inc.4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License as published by7* the Free Software Foundation; either version 2 of the License, or8* (at your option) any later version.9*10* This program is distributed in the hope that it will be useful,11* but WITHOUT ANY WARRANTY; without even the implied warranty of12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13* GNU General Public License for more details.14*15* You should have received a copy of the GNU General Public License16* along with this program; if not, write to the Free Software17* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA18*19* Author: Ken Eppinett20* David Schleef <[email protected]>21*/2223#include <linux/init.h>24#include <linux/ioport.h>25#include <asm/mach-powertv/asic.h>26#include "prealloc.h"2728/*29* DVR_CAPABLE RESOURCES30*/31struct resource dvr_zeus_resources[] __initdata =32{33/*34* VIDEO1 / LX135*/36/* Delta-Mu 1 image (2MiB) */37PREALLOC_NORMAL("ST231aImage", 0x20000000, 0x20200000-1,38IORESOURCE_MEM)39/* Delta-Mu 1 monitor (8KiB) */40PREALLOC_NORMAL("ST231aMonitor", 0x20200000, 0x20202000-1,41IORESOURCE_MEM)42/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */43PREALLOC_NORMAL("MediaMemory1", 0x20202000, 0x22000000-1,44IORESOURCE_MEM)4546/*47* VIDEO2 / LX248*/49/* Delta-Mu 2 image (2MiB) */50PREALLOC_NORMAL("ST231bImage", 0x30000000, 0x30200000-1,51IORESOURCE_MEM)52/* Delta-Mu 2 monitor (8KiB) */53PREALLOC_NORMAL("ST231bMonitor", 0x30200000, 0x30202000-1,54IORESOURCE_MEM)55/* Delta-Mu 2 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */56PREALLOC_NORMAL("MediaMemory2", 0x30202000, 0x32000000-1,57IORESOURCE_MEM)5859/*60* Sysaudio Driver61*/62/* DSP code and data images (1MiB) */63PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,64(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))65/* ADSC CPU PCM buffer (40KiB) */66PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,67(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))68/* ADSC AUX buffer (16KiB) */69PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00004000-1,70(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))71/* ADSC Main buffer (16KiB) */72PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00004000-1,73(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))7475/*76* STAVEM driver/STAPI77*78* This memory area is used for allocating buffers for Video decoding79* purposes. Allocation/De-allocation within this buffer is managed80* by the STAVMEM driver of the STAPI. They could be Decimated81* Picture Buffers, Intermediate Buffers, as deemed necessary for82* video decoding purposes, for any video decoders on Zeus.83*/84/* 12MiB */85PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00c00000-1,86(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))8788/*89* DOCSIS Subsystem90*/91/* 7MiB */92PREALLOC_DOCSIS("Docsis", 0x40100000, 0x40800000-1, IORESOURCE_MEM)9394/*95* GHW HAL Driver96*/97/* PowerTV Graphics Heap (14MiB) */98PREALLOC_NORMAL("GraphicsHeap", 0x46900000, 0x47700000-1,99IORESOURCE_MEM)100101/*102* multi com buffer area103*/104/* 128KiB */105PREALLOC_NORMAL("MulticomSHM", 0x47900000, 0x47920000-1,106IORESOURCE_MEM)107108/*109* DMA Ring buffer110*/111/* 2.5MiB */112PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x00280000-1,113(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))114115/*116* Display bins buffer for unit0117*/118/* 4KiB */119PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,120(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))121122/*123* Display bins buffer for unit1124*/125/* 4KiB */126PREALLOC_NORMAL("DisplayBins1", 0x00000000, 0x00001000-1,127(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))128129/*130* ITFS131*/132/* 815,104 bytes each for 2 ITFS partitions. */133PREALLOC_NORMAL("ITFS", 0x00000000, 0x0018E000-1,134(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))135136/*137* AVFS138*/139/* (945K * 8) = (128K * 3) 5 playbacks / 3 server */140PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x007c2000-1,141(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))142/* 4KiB */143PREALLOC_NORMAL("AvfsFileSys", 0x00000000, 0x00001000-1,144(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))145146/*147* PMEM148*/149/* Persistent memory for diagnostics (64KiB) */150PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,151(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))152153/*154* Smartcard155*/156/* Read and write buffers for Internal/External cards (10KiB) */157PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,158(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))159160/*161* TFTPBuffer162*163* This buffer is used in some minimal configurations (e.g. two-way164* loader) for storing software images165*/166PREALLOC_TFTP("TFTPBuffer", 0x00000000, MEBIBYTE(80)-1,167(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))168169/*170* Add other resources here171*/172173/*174* End of Resource marker175*/176{177.flags = 0,178},179};180181/*182* NON_DVR_CAPABLE ZEUS RESOURCES183*/184struct resource non_dvr_zeus_resources[] __initdata =185{186/*187* VIDEO1 / LX1188*/189/* Delta-Mu 1 image (2MiB) */190PREALLOC_NORMAL("ST231aImage", 0x20000000, 0x20200000-1,191IORESOURCE_MEM)192/* Delta-Mu 1 monitor (8KiB) */193PREALLOC_NORMAL("ST231aMonitor", 0x20200000, 0x20202000-1,194IORESOURCE_MEM)195/* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */196PREALLOC_NORMAL("MediaMemory1", 0x20202000, 0x22000000-1,197IORESOURCE_MEM)198199/*200* Sysaudio Driver201*/202/* DSP code and data images (1MiB) */203PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,204(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))205/* ADSC CPU PCM buffer (40KiB) */206PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,207(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))208/* ADSC AUX buffer (16KiB) */209PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00004000-1,210(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))211/* ADSC Main buffer (16KiB) */212PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00004000-1,213(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))214215/*216* STAVEM driver/STAPI217*/218/* 6MiB */219PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00600000-1,220(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))221222/*223* DOCSIS Subsystem224*/225/* 7MiB */226PREALLOC_DOCSIS("Docsis", 0x40100000, 0x40800000-1, IORESOURCE_MEM)227228/*229* GHW HAL Driver230*/231/* PowerTV Graphics Heap (14MiB) */232PREALLOC_NORMAL("GraphicsHeap", 0x46900000, 0x47700000-1,233IORESOURCE_MEM)234235/*236* multi com buffer area237*/238/* 128KiB */239PREALLOC_NORMAL("MulticomSHM", 0x47900000, 0x47920000-1,240IORESOURCE_MEM)241242/*243* DMA Ring buffer244*/245/* 2.5MiB */246PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x00280000-1,247(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))248249/*250* Display bins buffer for unit0251*/252/* 4KiB */253PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,254(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))255256/*257* AVFS: player HAL memory258*/259/* 945K * 3 for playback */260PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1,261(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))262263/*264* PMEM265*/266/* Persistent memory for diagnostics (64KiB) */267PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,268(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))269270/*271* Smartcard272*/273/* Read and write buffers for Internal/External cards (10KiB) */274PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,275(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))276277/*278* NAND Flash279*/280/* 10KiB */281PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,282IORESOURCE_MEM)283284/*285* TFTPBuffer286*287* This buffer is used in some minimal configurations (e.g. two-way288* loader) for storing software images289*/290PREALLOC_TFTP("TFTPBuffer", 0x00000000, MEBIBYTE(80)-1,291(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))292293/*294* Add other resources here295*/296297/*298* End of Resource marker299*/300{301.flags = 0,302},303};304305306