prealloc-cronuslite.c 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  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. #include <linux/init.h>
  24. #include <asm/mach-powertv/asic.h>
  25. /*
  26. * NON_DVR_CAPABLE CRONUSLITE RESOURCES
  27. */
  28. struct resource non_dvr_cronuslite_resources[] __initdata =
  29. {
  30. /*
  31. *
  32. * VIDEO2 / LX2
  33. *
  34. */
  35. {
  36. .name = "ST231aImage", /* Delta-Mu 2 image and ram */
  37. .start = 0x60000000,
  38. .end = 0x601FFFFF, /* 2MiB */
  39. .flags = IORESOURCE_IO,
  40. },
  41. {
  42. .name = "ST231aMonitor", /* 8KiB block ST231b monitor */
  43. .start = 0x60200000,
  44. .end = 0x60201FFF,
  45. .flags = IORESOURCE_IO,
  46. },
  47. {
  48. .name = "MediaMemory1",
  49. .start = 0x60202000,
  50. .end = 0x61FFFFFF, /*~29.9MiB (32MiB - (2MiB + 8KiB)) */
  51. .flags = IORESOURCE_IO,
  52. },
  53. /*
  54. *
  55. * Sysaudio Driver
  56. *
  57. * This driver requires:
  58. *
  59. * Arbitrary Based Buffers:
  60. * DSP_Image_Buff - DSP code and data images (1MB)
  61. * ADSC_CPU_PCM_Buff - ADSC CPU PCM buffer (40KB)
  62. * ADSC_AUX_Buff - ADSC AUX buffer (16KB)
  63. * ADSC_Main_Buff - ADSC Main buffer (16KB)
  64. *
  65. */
  66. {
  67. .name = "DSP_Image_Buff",
  68. .start = 0x00000000,
  69. .end = 0x000FFFFF,
  70. .flags = IORESOURCE_MEM,
  71. },
  72. {
  73. .name = "ADSC_CPU_PCM_Buff",
  74. .start = 0x00000000,
  75. .end = 0x00009FFF,
  76. .flags = IORESOURCE_MEM,
  77. },
  78. {
  79. .name = "ADSC_AUX_Buff",
  80. .start = 0x00000000,
  81. .end = 0x00003FFF,
  82. .flags = IORESOURCE_MEM,
  83. },
  84. {
  85. .name = "ADSC_Main_Buff",
  86. .start = 0x00000000,
  87. .end = 0x00003FFF,
  88. .flags = IORESOURCE_MEM,
  89. },
  90. /*
  91. *
  92. * STAVEM driver/STAPI
  93. *
  94. * This driver requires:
  95. *
  96. * Arbitrary Based Buffers:
  97. * This memory area is used for allocating buffers for Video decoding
  98. * purposes. Allocation/De-allocation within this buffer is managed
  99. * by the STAVMEM driver of the STAPI. They could be Decimated
  100. * Picture Buffers, Intermediate Buffers, as deemed necessary for
  101. * video decoding purposes, for any video decoders on Zeus.
  102. *
  103. */
  104. {
  105. .name = "AVMEMPartition0",
  106. .start = 0x63580000,
  107. .end = 0x63B80000 - 1, /* 6 MB total */
  108. .flags = IORESOURCE_IO,
  109. },
  110. /*
  111. *
  112. * DOCSIS Subsystem
  113. *
  114. * This driver requires:
  115. *
  116. * Arbitrary Based Buffers:
  117. * Docsis -
  118. *
  119. */
  120. {
  121. .name = "Docsis",
  122. .start = 0x62000000,
  123. .end = 0x62700000 - 1, /* 7 MB total */
  124. .flags = IORESOURCE_IO,
  125. },
  126. /*
  127. *
  128. * GHW HAL Driver
  129. *
  130. * This driver requires:
  131. *
  132. * Arbitrary Based Buffers:
  133. * GraphicsHeap - PowerTV Graphics Heap
  134. *
  135. */
  136. {
  137. .name = "GraphicsHeap",
  138. .start = 0x62700000,
  139. .end = 0x63500000 - 1, /* 14 MB total */
  140. .flags = IORESOURCE_IO,
  141. },
  142. /*
  143. *
  144. * multi com buffer area
  145. *
  146. * This driver requires:
  147. *
  148. * Arbitrary Based Buffers:
  149. * Docsis -
  150. *
  151. */
  152. {
  153. .name = "MulticomSHM",
  154. .start = 0x26000000,
  155. .end = 0x26020000 - 1,
  156. .flags = IORESOURCE_MEM,
  157. },
  158. /*
  159. *
  160. * DMA Ring buffer
  161. *
  162. * This driver requires:
  163. *
  164. * Arbitrary Based Buffers:
  165. * Docsis -
  166. *
  167. */
  168. {
  169. .name = "BMM_Buffer",
  170. .start = 0x00000000,
  171. .end = 0x000AA000 - 1,
  172. .flags = IORESOURCE_MEM,
  173. },
  174. /*
  175. *
  176. * Display bins buffer for unit0
  177. *
  178. * This driver requires:
  179. *
  180. * Arbitrary Based Buffers:
  181. * Display Bins for unit0
  182. *
  183. */
  184. {
  185. .name = "DisplayBins0",
  186. .start = 0x00000000,
  187. .end = 0x00000FFF, /* 4 KB total */
  188. .flags = IORESOURCE_MEM,
  189. },
  190. /*
  191. *
  192. * Display bins buffer
  193. *
  194. * This driver requires:
  195. *
  196. * Arbitrary Based Buffers:
  197. * Display Bins for unit1
  198. *
  199. */
  200. {
  201. .name = "DisplayBins1",
  202. .start = 0x63B83000,
  203. .end = 0x63B84000 - 1, /* 4 KB total */
  204. .flags = IORESOURCE_IO,
  205. },
  206. /*
  207. *
  208. * AVFS: player HAL memory
  209. *
  210. *
  211. */
  212. {
  213. .name = "AvfsDmaMem",
  214. .start = 0x63B84000,
  215. .end = 0x63E48C00 - 1, /* 945K * 3 for playback */
  216. .flags = IORESOURCE_IO,
  217. },
  218. /*
  219. *
  220. * PMEM
  221. *
  222. * This driver requires:
  223. *
  224. * Arbitrary Based Buffers:
  225. * Persistent memory for diagnostics.
  226. *
  227. */
  228. {
  229. .name = "DiagPersistentMemory",
  230. .start = 0x00000000,
  231. .end = 0x10000 - 1,
  232. .flags = IORESOURCE_MEM,
  233. },
  234. /*
  235. *
  236. * Smartcard
  237. *
  238. * This driver requires:
  239. *
  240. * Arbitrary Based Buffers:
  241. * Read and write buffers for Internal/External cards
  242. *
  243. */
  244. {
  245. .name = "SmartCardInfo",
  246. .start = 0x63B80000,
  247. .end = 0x63B82800 - 1,
  248. .flags = IORESOURCE_IO,
  249. },
  250. /*
  251. *
  252. * KAVNET
  253. * NP Reset Vector - must be of the form xxCxxxxx
  254. * NP Image - must be video bank 1
  255. * NP IPC - must be video bank 2
  256. */
  257. {
  258. .name = "NP_Reset_Vector",
  259. .start = 0x27c00000,
  260. .end = 0x27c01000 - 1,
  261. .flags = IORESOURCE_MEM,
  262. },
  263. {
  264. .name = "NP_Image",
  265. .start = 0x27020000,
  266. .end = 0x27060000 - 1,
  267. .flags = IORESOURCE_MEM,
  268. },
  269. {
  270. .name = "NP_IPC",
  271. .start = 0x63500000,
  272. .end = 0x63580000 - 1,
  273. .flags = IORESOURCE_IO,
  274. },
  275. /*
  276. * NAND Flash
  277. */
  278. {
  279. .name = "NandFlash",
  280. .start = NAND_FLASH_BASE,
  281. .end = NAND_FLASH_BASE + 0x400 - 1,
  282. .flags = IORESOURCE_IO,
  283. },
  284. /*
  285. * Add other resources here
  286. */
  287. { },
  288. };