Path: blob/master/arch/mips/powertv/asic/prealloc-calliope.c
10818 views
/*1* Memory pre-allocations for Calliope 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* NON_DVR_CAPABLE CALLIOPE RESOURCES30*/31struct resource non_dvr_calliope_resources[] __initdata =32{33/*34* VIDEO / LX135*/36/* Delta-Mu 1 image (2MiB) */37PREALLOC_NORMAL("ST231aImage", 0x24000000, 0x24200000-1,38IORESOURCE_MEM)39/* Delta-Mu 1 monitor (8KiB) */40PREALLOC_NORMAL("ST231aMonitor", 0x24200000, 0x24202000-1,41IORESOURCE_MEM)42/* Delta-Mu 1 RAM (~36.9MiB (32MiB - (2MiB + 8KiB))) */43PREALLOC_NORMAL("MediaMemory1", 0x24202000, 0x26700000-1,44IORESOURCE_MEM)4546/*47* Sysaudio Driver48*/49/* DSP code and data images (1MiB) */50PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,51(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))52/* ADSC CPU PCM buffer (40KiB) */53PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,54(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))55/* ADSC AUX buffer (128KiB) */56PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00020000-1,57(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))58/* ADSC Main buffer (128KiB) */59PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00020000-1,60(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))6162/*63* STAVEM driver/STAPI64*/65/* 6MiB */66PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00600000-1,67(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))6869/*70* DOCSIS Subsystem71*/72/* 7MiB */73PREALLOC_DOCSIS("Docsis", 0x27500000, 0x27c00000-1, IORESOURCE_MEM)7475/*76* GHW HAL Driver77*/78/* PowerTV Graphics Heap (14MiB) */79PREALLOC_NORMAL("GraphicsHeap", 0x26700000, 0x26700000+(14*1048576)-1,80IORESOURCE_MEM)8182/*83* multi com buffer area84*/85/* 128KiB */86PREALLOC_NORMAL("MulticomSHM", 0x23700000, 0x23720000-1,87IORESOURCE_MEM)8889/*90* DMA Ring buffer (don't need recording buffers)91*/92/* 680KiB */93PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,94(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))9596/*97* Display bins buffer for unit098*/99/* 4KiB */100PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,101(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))102103/*104* AVFS: player HAL memory105*/106/* 945K * 3 for playback */107PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1,108(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))109110/*111* PMEM112*/113/* Persistent memory for diagnostics (64KiB) */114PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,115(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))116117/*118* Smartcard119*/120/* Read and write buffers for Internal/External cards (10KiB) */121PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,122(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))123124/*125* NAND Flash126*/127/* 10KiB */128PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,129IORESOURCE_MEM)130131/*132* Synopsys GMAC Memory Region133*/134/* 64KiB */135PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,136(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))137138/*139* TFTPBuffer140*141* This buffer is used in some minimal configurations (e.g. two-way142* loader) for storing software images143*/144PREALLOC_TFTP("TFTPBuffer", 0x00000000, MEBIBYTE(80)-1,145(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))146147/*148* Add other resources here149*/150151/*152* End of Resource marker153*/154{155.flags = 0,156},157};158159160struct resource non_dvr_vze_calliope_resources[] __initdata =161{162/*163* VIDEO / LX1164*/165/* Delta-Mu 1 image (2MiB) */166PREALLOC_NORMAL("ST231aImage", 0x22000000, 0x22200000-1,167IORESOURCE_MEM)168/* Delta-Mu 1 monitor (8KiB) */169PREALLOC_NORMAL("ST231aMonitor", 0x22200000, 0x22202000-1,170IORESOURCE_MEM)171/* Delta-Mu 1 RAM (10.12MiB) */172PREALLOC_NORMAL("MediaMemory1", 0x22202000, 0x22C20B85-1,173IORESOURCE_MEM)174175/*176* Sysaudio Driver177*/178/* DSP code and data images (1MiB) */179PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,180(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))181/* ADSC CPU PCM buffer (40KiB) */182PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,183(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))184/* ADSC AUX buffer (16KiB) */185PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00004000-1,186(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))187/* ADSC Main buffer (16KiB) */188PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00004000-1,189(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))190191/*192* STAVEM driver/STAPI193*/194/* 3.125MiB */195PREALLOC_NORMAL("AVMEMPartition0", 0x20396000, 0x206B6000-1,196IORESOURCE_MEM)197198/*199* GHW HAL Driver200*/201/* PowerTV Graphics Heap (2.59MiB) */202PREALLOC_NORMAL("GraphicsHeap", 0x20100000, 0x20396000-1,203IORESOURCE_MEM)204205/*206* multi com buffer area207*/208/* 128KiB */209PREALLOC_NORMAL("MulticomSHM", 0x206B6000, 0x206D6000-1,210IORESOURCE_MEM)211212/*213* DMA Ring buffer (don't need recording buffers)214*/215/* 680KiB */216PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,217(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))218219/*220* Display bins buffer for unit0221*/222/* 4KiB */223PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,224(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))225226/*227* PMEM228*/229/* Persistent memory for diagnostics (64KiB) */230PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,231(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))232233/*234* Smartcard235*/236/* Read and write buffers for Internal/External cards (10KiB) */237PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,238(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))239240/*241* NAND Flash242*/243/* 10KiB */244PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,245IORESOURCE_MEM)246247/*248* Synopsys GMAC Memory Region249*/250/* 64KiB */251PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,252(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))253254/*255* Add other resources here256*/257258/*259* End of Resource marker260*/261{262.flags = 0,263},264};265266struct resource non_dvr_vzf_calliope_resources[] __initdata =267{268/*269* VIDEO / LX1270*/271/* Delta-Mu 1 image (2MiB) */272PREALLOC_NORMAL("ST231aImage", 0x24000000, 0x24200000-1,273IORESOURCE_MEM)274/* Delta-Mu 1 monitor (8KiB) */275PREALLOC_NORMAL("ST231aMonitor", 0x24200000, 0x24202000-1,276IORESOURCE_MEM)277/* Delta-Mu 1 RAM (~19.4 (21.5MiB - (2MiB + 8KiB))) */278PREALLOC_NORMAL("MediaMemory1", 0x24202000, 0x25580000-1,279IORESOURCE_MEM)280281/*282* Sysaudio Driver283*/284/* DSP code and data images (1MiB) */285PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1,286(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))287/* ADSC CPU PCM buffer (40KiB) */288PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1,289(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))290/* ADSC AUX buffer (128KiB) */291PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00020000-1,292(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))293/* ADSC Main buffer (128KiB) */294PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00020000-1,295(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))296297/*298* STAVEM driver/STAPI299*/300/* 4.5MiB */301PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00480000-1,302(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))303304/*305* GHW HAL Driver306*/307/* PowerTV Graphics Heap (14MiB) */308PREALLOC_NORMAL("GraphicsHeap", 0x25600000, 0x25600000+(14*1048576)-1,309IORESOURCE_MEM)310311/*312* multi com buffer area313*/314/* 128KiB */315PREALLOC_NORMAL("MulticomSHM", 0x23700000, 0x23720000-1,316IORESOURCE_MEM)317318/*319* DMA Ring buffer (don't need recording buffers)320*/321/* 680KiB */322PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1,323(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))324325/*326* Display bins buffer for unit0327*/328/* 4KiB */329PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1,330(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))331332/*333* Display bins buffer for unit1334*/335/* 4KiB */336PREALLOC_NORMAL("DisplayBins1", 0x00000000, 0x00001000-1,337(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))338339/*340* AVFS: player HAL memory341*/342/* 945K * 3 for playback */343PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1,344(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))345346/*347* PMEM348*/349/* Persistent memory for diagnostics (64KiB) */350PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1,351(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))352353/*354* Smartcard355*/356/* Read and write buffers for Internal/External cards (10KiB) */357PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1,358(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))359360/*361* NAND Flash362*/363/* 10KiB */364PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1,365IORESOURCE_MEM)366367/*368* Synopsys GMAC Memory Region369*/370/* 64KiB */371PREALLOC_NORMAL("GMAC", 0x00000000, 0x00010000-1,372(IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT))373374/*375* Add other resources here376*/377378/*379* End of Resource marker380*/381{382.flags = 0,383},384};385386387