David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Memory pre-allocations for Cronus Lite boxes. |
| 3 | * |
| 4 | * Copyright (C) 2005-2009 Scientific-Atlanta, Inc. |
| 5 | * |
| 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. |
| 10 | * |
| 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. |
| 15 | * |
| 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 |
| 19 | * |
| 20 | * Author: Ken Eppinett |
| 21 | * David Schleef <ds@schleef.org> |
| 22 | */ |
| 23 | |
| 24 | #include <linux/init.h> |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 25 | #include <linux/ioport.h> |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 26 | #include <asm/mach-powertv/asic.h> |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 27 | #include "prealloc.h" |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 28 | |
| 29 | /* |
| 30 | * NON_DVR_CAPABLE CRONUSLITE RESOURCES |
| 31 | */ |
| 32 | struct resource non_dvr_cronuslite_resources[] __initdata = |
| 33 | { |
| 34 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 35 | * VIDEO2 / LX2 |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 36 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 37 | /* Delta-Mu 1 image (2MiB) */ |
| 38 | PREALLOC_NORMAL("ST231aImage", 0x60000000, 0x60200000-1, |
| 39 | IORESOURCE_MEM) |
| 40 | /* Delta-Mu 1 monitor (8KiB) */ |
| 41 | PREALLOC_NORMAL("ST231aMonitor", 0x60200000, 0x60202000-1, |
| 42 | IORESOURCE_MEM) |
| 43 | /* Delta-Mu 1 RAM (~29.9MiB (32MiB - (2MiB + 8KiB))) */ |
| 44 | PREALLOC_NORMAL("MediaMemory1", 0x60202000, 0x62000000-1, |
| 45 | IORESOURCE_MEM) |
| 46 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 47 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 48 | * Sysaudio Driver |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 49 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 50 | /* DSP code and data images (1MiB) */ |
| 51 | PREALLOC_NORMAL("DSP_Image_Buff", 0x00000000, 0x00100000-1, |
| 52 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 53 | /* ADSC CPU PCM buffer (40KiB) */ |
| 54 | PREALLOC_NORMAL("ADSC_CPU_PCM_Buff", 0x00000000, 0x0000A000-1, |
| 55 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 56 | /* ADSC AUX buffer (128KiB) */ |
| 57 | PREALLOC_NORMAL("ADSC_AUX_Buff", 0x00000000, 0x00020000-1, |
| 58 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 59 | /* ADSC Main buffer (128KiB) */ |
| 60 | PREALLOC_NORMAL("ADSC_Main_Buff", 0x00000000, 0x00020000-1, |
| 61 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 62 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 63 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 64 | * STAVEM driver/STAPI |
| 65 | * |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 66 | * This memory area is used for allocating buffers for Video decoding |
| 67 | * purposes. Allocation/De-allocation within this buffer is managed |
| 68 | * by the STAVMEM driver of the STAPI. They could be Decimated |
| 69 | * Picture Buffers, Intermediate Buffers, as deemed necessary for |
| 70 | * video decoding purposes, for any video decoders on Zeus. |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 71 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 72 | /* 6MiB */ |
| 73 | PREALLOC_NORMAL("AVMEMPartition0", 0x00000000, 0x00600000-1, |
| 74 | IORESOURCE_MEM) |
| 75 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 76 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 77 | * DOCSIS Subsystem |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 78 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 79 | /* 7MiB */ |
| 80 | PREALLOC_DOCSIS("Docsis", 0x67500000, 0x67c00000-1, IORESOURCE_MEM) |
| 81 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 82 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 83 | * GHW HAL Driver |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 84 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 85 | /* PowerTV Graphics Heap (14MiB) */ |
| 86 | PREALLOC_NORMAL("GraphicsHeap", 0x62700000, 0x63500000-1, |
| 87 | IORESOURCE_MEM) |
| 88 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 89 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 90 | * multi com buffer area |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 91 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 92 | /* 128KiB */ |
| 93 | PREALLOC_NORMAL("MulticomSHM", 0x26000000, 0x26020000-1, |
| 94 | IORESOURCE_MEM) |
| 95 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 96 | /* |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 97 | * DMA Ring buffer (don't need recording buffers) |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 98 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 99 | /* 680KiB */ |
| 100 | PREALLOC_NORMAL("BMM_Buffer", 0x00000000, 0x000AA000-1, |
| 101 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 102 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 103 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 104 | * Display bins buffer for unit0 |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 105 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 106 | /* 4KiB */ |
| 107 | PREALLOC_NORMAL("DisplayBins0", 0x00000000, 0x00001000-1, |
| 108 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 109 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 110 | /* |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 111 | * Display bins buffer for unit1 |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 112 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 113 | /* 4KiB */ |
| 114 | PREALLOC_NORMAL("DisplayBins1", 0x00000000, 0x00001000-1, |
| 115 | IORESOURCE_MEM) |
| 116 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 117 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 118 | * AVFS: player HAL memory |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 119 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 120 | /* 945K * 3 for playback */ |
| 121 | PREALLOC_NORMAL("AvfsDmaMem", 0x00000000, 0x002c4c00-1, |
| 122 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 123 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 124 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 125 | * PMEM |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 126 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 127 | /* Persistent memory for diagnostics (64KiB) */ |
| 128 | PREALLOC_PMEM("DiagPersistentMemory", 0x00000000, 0x10000-1, |
| 129 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 130 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 131 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 132 | * Smartcard |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 133 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 134 | /* Read and write buffers for Internal/External cards (10KiB) */ |
| 135 | PREALLOC_NORMAL("SmartCardInfo", 0x00000000, 0x2800-1, IORESOURCE_MEM) |
| 136 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 137 | /* |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 138 | * KAVNET |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 139 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 140 | /* NP Reset Vector - must be of the form xxCxxxxx (4KiB) */ |
| 141 | PREALLOC_NORMAL("NP_Reset_Vector", 0x27c00000, 0x27c01000-1, |
| 142 | IORESOURCE_MEM) |
| 143 | /* NP Image - must be video bank 1 (320KiB) */ |
| 144 | PREALLOC_NORMAL("NP_Image", 0x27020000, 0x27070000-1, IORESOURCE_MEM) |
| 145 | /* NP IPC - must be video bank 2 (512KiB) */ |
| 146 | PREALLOC_NORMAL("NP_IPC", 0x63500000, 0x63580000-1, IORESOURCE_MEM) |
| 147 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 148 | /* |
| 149 | * NAND Flash |
| 150 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 151 | /* 10KiB */ |
| 152 | PREALLOC_NORMAL("NandFlash", NAND_FLASH_BASE, NAND_FLASH_BASE+0x400-1, |
| 153 | IORESOURCE_MEM) |
| 154 | |
| 155 | /* |
| 156 | * TFTPBuffer |
| 157 | * |
| 158 | * This buffer is used in some minimal configurations (e.g. two-way |
| 159 | * loader) for storing software images |
| 160 | */ |
| 161 | PREALLOC_TFTP("TFTPBuffer", 0x00000000, MEBIBYTE(80)-1, |
| 162 | (IORESOURCE_MEM|IORESOURCE_PTV_RES_LOEXT)) |
| 163 | |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 164 | /* |
| 165 | * Add other resources here |
| 166 | */ |
David VomLehn | 4f1e099 | 2010-05-07 15:17:02 -0700 | [diff] [blame] | 167 | |
| 168 | /* |
| 169 | * End of Resource marker |
| 170 | */ |
| 171 | { |
| 172 | .flags = 0, |
| 173 | }, |
David VomLehn | a3a0f8c | 2009-08-30 17:15:11 -0700 | [diff] [blame] | 174 | }; |