| 1 | ############################################################ |
|---|
| 2 | # (c)2007-2011 Broadcom Corporation |
|---|
| 3 | # |
|---|
| 4 | # This program is the proprietary software of Broadcom Corporation and/or its licensors, |
|---|
| 5 | # and may only be used, duplicated, modified or distributed pursuant to the terms and |
|---|
| 6 | # conditions of a separate, written license agreement executed between you and Broadcom |
|---|
| 7 | # (an "Authorized License"). Except as set forth in an Authorized License, Broadcom grants |
|---|
| 8 | # no license (express or implied), right to use, or waiver of any kind with respect to the |
|---|
| 9 | # Software, and Broadcom expressly reserves all rights in and to the Software and all |
|---|
| 10 | # intellectual property rights therein. IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU |
|---|
| 11 | # HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY |
|---|
| 12 | # NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. |
|---|
| 13 | # |
|---|
| 14 | # Except as expressly set forth in the Authorized License, |
|---|
| 15 | # |
|---|
| 16 | # 1. This program, including its structure, sequence and organization, constitutes the valuable trade |
|---|
| 17 | # secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof, |
|---|
| 18 | # and to use this information only in connection with your use of Broadcom integrated circuit products. |
|---|
| 19 | # |
|---|
| 20 | # 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" |
|---|
| 21 | # AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR |
|---|
| 22 | # WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO |
|---|
| 23 | # THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES |
|---|
| 24 | # OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, |
|---|
| 25 | # LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION |
|---|
| 26 | # OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF |
|---|
| 27 | # USE OR PERFORMANCE OF THE SOFTWARE. |
|---|
| 28 | # |
|---|
| 29 | # 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS |
|---|
| 30 | # LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR |
|---|
| 31 | # EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR |
|---|
| 32 | # USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF |
|---|
| 33 | # THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT |
|---|
| 34 | # ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE |
|---|
| 35 | # LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF |
|---|
| 36 | # ANY LIMITED REMEDY. |
|---|
| 37 | # |
|---|
| 38 | # $brcm_Workfile: transport.inc $ |
|---|
| 39 | # $brcm_Revision: 71 $ |
|---|
| 40 | # $brcm_Date: 11/2/11 11:19a $ |
|---|
| 41 | # |
|---|
| 42 | # Module Description: |
|---|
| 43 | # |
|---|
| 44 | # Revision History: |
|---|
| 45 | # |
|---|
| 46 | # $brcm_Log: /nexus/modules/transport/35125/transport.inc $ |
|---|
| 47 | # |
|---|
| 48 | # 71 11/2/11 11:19a vsilyaev |
|---|
| 49 | # SW7425-1654: Merged decryption for stream of MP4 Fragments |
|---|
| 50 | # |
|---|
| 51 | # SW7425-1654/1 11/2/11 1:50p hugost |
|---|
| 52 | # Added playready files to NEXUS_TRANSPORT_SOURCES. Force sw decryption |
|---|
| 53 | # when robustiness rules are not enabled. And use libdrmrootfs when |
|---|
| 54 | # robustness rules are enabled. |
|---|
| 55 | # |
|---|
| 56 | # 70 10/5/11 1:31p jtna |
|---|
| 57 | # SW7425-1189: fix non-7425 platforms |
|---|
| 58 | # |
|---|
| 59 | # 69 10/5/11 12:23p jtna |
|---|
| 60 | # SW7425-1189: add transport and frontend TSMF support |
|---|
| 61 | # |
|---|
| 62 | # 68 10/4/11 11:29a piyushg |
|---|
| 63 | # SW7425-1395: Fix compilation error for non robust playready build |
|---|
| 64 | # |
|---|
| 65 | # 67 10/3/11 6:00p piyushg |
|---|
| 66 | # SW7425-1395: Add support in brutus for playready with robustness |
|---|
| 67 | # PRDY_ROBUSTNESS_ENABLE. |
|---|
| 68 | # |
|---|
| 69 | # 66 10/1/11 4:39p piyushg |
|---|
| 70 | # SW7425-1376: Modified playready to use common_crypto and drmrootfs |
|---|
| 71 | # libraries for Robusteness related security interface |
|---|
| 72 | # |
|---|
| 73 | # 65 9/27/11 7:34p piyushg |
|---|
| 74 | # SW7425-1358: Make playready compliant with robustness rules and |
|---|
| 75 | # maintain one branch for playready with robustness and without. Use |
|---|
| 76 | # PRDY_ROBUSTNESS_ENABLE=y along with MSDRM_PRDY_SUPPORT=y to have |
|---|
| 77 | # playready with robustness. |
|---|
| 78 | # |
|---|
| 79 | # 64 9/22/11 1:37p jtna |
|---|
| 80 | # SW7425-1333: use MEDIA_RMFF_SUPPORT flag |
|---|
| 81 | # |
|---|
| 82 | # 63 8/4/11 7:39p mphillip |
|---|
| 83 | # SW7422-404: Update region verification code |
|---|
| 84 | # |
|---|
| 85 | # 62 6/7/11 6:54p jhaberf |
|---|
| 86 | # SWDTV-7444: added support for 35xxx DTV chips |
|---|
| 87 | # |
|---|
| 88 | # 61 6/6/11 4:08p jtna |
|---|
| 89 | # SW7425-644: add transport SAM support |
|---|
| 90 | # |
|---|
| 91 | # 60 5/18/11 7:24p jgarrett |
|---|
| 92 | # SW7231-148: Adding RMFF and Cook support |
|---|
| 93 | # |
|---|
| 94 | # 59 4/28/11 7:22p vsilyaev |
|---|
| 95 | # SW7425-232: Always compile file module |
|---|
| 96 | # |
|---|
| 97 | # 58 2/22/11 7:53p vsilyaev |
|---|
| 98 | # SW7422-107: Added FLV mapping |
|---|
| 99 | # |
|---|
| 100 | # 57 12/28/10 5:44p vsilyaev |
|---|
| 101 | # SW7425-39: Added Mux specific interfaces |
|---|
| 102 | # |
|---|
| 103 | # 56 12/17/10 2:31p gmohile |
|---|
| 104 | # SW7405-5065 : Refactor to build divx drm from binaries |
|---|
| 105 | # |
|---|
| 106 | # 55 12/15/10 12:03p erickson |
|---|
| 107 | # SW35230-2585: reduce DEPENDENCY list, depend on recursion |
|---|
| 108 | # |
|---|
| 109 | # 54 12/7/10 7:36p piyushg |
|---|
| 110 | # SW7405-4386:Initial checkin for playready intigration with mainline |
|---|
| 111 | # brutus. |
|---|
| 112 | # |
|---|
| 113 | # 53 10/28/10 5:09p erickson |
|---|
| 114 | # SW7422-20: adapt to new XPT PI (backward compat using magnum and nexus |
|---|
| 115 | # macros) |
|---|
| 116 | # |
|---|
| 117 | # 52 10/26/10 6:21p nickh |
|---|
| 118 | # SW7422-73: Add 7422 support |
|---|
| 119 | # |
|---|
| 120 | # 51 8/12/10 5:24p jgarrett |
|---|
| 121 | # SW7405-4034: Adding NEXUS_DRM_BUILD flag to enable NEXUS_Dma use in DRM |
|---|
| 122 | # |
|---|
| 123 | # 50 7/20/10 6:26p jfisher |
|---|
| 124 | # SW7572-30: Add modification for ucos_ii support. |
|---|
| 125 | # |
|---|
| 126 | # 49 7/12/10 4:49p erickson |
|---|
| 127 | # SW7405-4561: add support for 32 byte filters using export |
|---|
| 128 | # BXPT_FILTER_32=y |
|---|
| 129 | # |
|---|
| 130 | # 48 5/27/10 6:27p mward |
|---|
| 131 | # SW7400-2786: Support DivX DRM under Nexus on 7400/7403. |
|---|
| 132 | # |
|---|
| 133 | # 47 5/18/10 11:16a erickson |
|---|
| 134 | # SW7550-424: add TS PSI parsing source if PVR_SUPPORT=n |
|---|
| 135 | # |
|---|
| 136 | # 46 4/9/10 1:07p jgarrett |
|---|
| 137 | # SW7405-4034: Moving MSDRM PD/ND binaries into nexus as required |
|---|
| 138 | # |
|---|
| 139 | # DrmMakefileUpdates/1 4/8/10 4:46p jgarrett |
|---|
| 140 | # SW7405-4034: Including binaries for MSDRM (PD/ND) in the nexus builds |
|---|
| 141 | # to avoid link issues |
|---|
| 142 | # |
|---|
| 143 | # 45 2/26/10 4:37p gmohile |
|---|
| 144 | # SW7408-79 : Move subtitle parser functionality to app |
|---|
| 145 | # |
|---|
| 146 | # 44 12/15/09 4:52p gmohile |
|---|
| 147 | # SW7408-1 : Add 7408 support |
|---|
| 148 | # |
|---|
| 149 | # 43 12/11/09 3:32p erickson |
|---|
| 150 | # SW7550-112: merge 7550 code. add support for sw message filtering. |
|---|
| 151 | # allow for no HW message filtering using standard XPT define. |
|---|
| 152 | # |
|---|
| 153 | # 42 11/19/09 4:25p gmohile |
|---|
| 154 | # SW7408-1 : Add 7408 support |
|---|
| 155 | # |
|---|
| 156 | # 41 10/8/09 1:23p erickson |
|---|
| 157 | # SWDEPRECATED-3717: default nexus_message_pid2buf.c for all silicon that |
|---|
| 158 | # supports it |
|---|
| 159 | # |
|---|
| 160 | # 40 9/10/09 2:56p erickson |
|---|
| 161 | # SW7335-529: remove unneeded variable |
|---|
| 162 | # |
|---|
| 163 | # 39 9/9/09 4:58p erickson |
|---|
| 164 | # SW7405-2964: move HSM build from transport.inc to security.inc |
|---|
| 165 | # |
|---|
| 166 | # 38 9/1/09 3:52p jgarrett |
|---|
| 167 | # SW7335-529: Replacing direct access to MAGNUM_MODULES with |
|---|
| 168 | # NEXUS_EXTRA_MODULES to avoid magnum paths leaking into application |
|---|
| 169 | # include paths |
|---|
| 170 | # |
|---|
| 171 | # 37 8/26/09 7:37a erickson |
|---|
| 172 | # SWDEPRECATED-3995: add PID2BUF define |
|---|
| 173 | # |
|---|
| 174 | # 36 7/16/09 12:43p erickson |
|---|
| 175 | # PR56657: added NEXUS_RecpumpOpenSettings.nullifyVct |
|---|
| 176 | # |
|---|
| 177 | # 35 6/8/09 11:49a erickson |
|---|
| 178 | # PR53324: add PID2BUF impl, default off |
|---|
| 179 | # |
|---|
| 180 | # 34 5/26/09 11:39a erickson |
|---|
| 181 | # PR55105: add packet sub api |
|---|
| 182 | # |
|---|
| 183 | # 33 4/8/09 4:31p vsilyaev |
|---|
| 184 | # PR 54016: Added support for precompiled header |
|---|
| 185 | # |
|---|
| 186 | # 32 3/9/09 4:37p yili |
|---|
| 187 | # PR52990:Add region verification |
|---|
| 188 | # |
|---|
| 189 | # 31 2/4/09 7:09p vsilyaev |
|---|
| 190 | # PR 50887: Added bit to enable OTF PVR mode |
|---|
| 191 | # |
|---|
| 192 | # 30 11/5/08 2:10p erickson |
|---|
| 193 | # PR45959: added NEXUS_TRANSPORT_EXTENSION_INC |
|---|
| 194 | # |
|---|
| 195 | # 29 10/6/08 4:58p vsilyaev |
|---|
| 196 | # PR 47440: Build DIVX DRM as a separate library |
|---|
| 197 | # |
|---|
| 198 | # 28 9/11/08 10:36a jrubio |
|---|
| 199 | # PR42593: add remux to all chips |
|---|
| 200 | # |
|---|
| 201 | # 27 9/2/08 3:25p jrubio |
|---|
| 202 | # PR42353: 7335 does have remux |
|---|
| 203 | # |
|---|
| 204 | # 26 8/7/08 4:47p erickson |
|---|
| 205 | # PR45422: DivX DRM fix |
|---|
| 206 | # |
|---|
| 207 | # 25 8/5/08 10:57a erickson |
|---|
| 208 | # PR45422: allow c99 exception for divxdrm5 library |
|---|
| 209 | # |
|---|
| 210 | # 24 8/5/08 10:26a erickson |
|---|
| 211 | # PR45422: add DIVX_DRM_SUPPORT |
|---|
| 212 | # |
|---|
| 213 | # 23 7/26/08 3:49p maivu |
|---|
| 214 | # PR 44679: Added divx subtitle build option for nexus |
|---|
| 215 | # |
|---|
| 216 | # 22 7/23/08 2:46p erickson |
|---|
| 217 | # PR45016: add SUBTITLE_SUPPORT |
|---|
| 218 | # |
|---|
| 219 | # 21 7/21/08 3:16p erickson |
|---|
| 220 | # PR45016: added SUBTITLE_SUPPORT |
|---|
| 221 | # |
|---|
| 222 | # 20 6/30/08 10:34a erickson |
|---|
| 223 | # PR44320: enable remux for 3548/3556 |
|---|
| 224 | # |
|---|
| 225 | # 19 6/13/08 7:00p erickson |
|---|
| 226 | # PR40817: fix PVR_SUPPORT=n mode |
|---|
| 227 | # |
|---|
| 228 | # 18 5/30/08 10:54a erickson |
|---|
| 229 | # PR43123: add USE_SETTOP_API_SW_RAVE build option, but default it off. |
|---|
| 230 | # |
|---|
| 231 | # 17 5/21/08 3:24p jrubio |
|---|
| 232 | # PR42353: 3556/3548 no remux support |
|---|
| 233 | # |
|---|
| 234 | # 16 5/21/08 3:09p jrubio |
|---|
| 235 | # PR42353: remove 7325,7335 from remux correctly |
|---|
| 236 | # |
|---|
| 237 | # 15 5/20/08 7:48p shyam |
|---|
| 238 | # PR 42103 : Add transport MPOD support |
|---|
| 239 | # |
|---|
| 240 | # 14 5/7/08 2:00p vsilyaev |
|---|
| 241 | # PR 41869: Added core for re-packetize MPEG-2 TS data for encrypted PVR |
|---|
| 242 | # |
|---|
| 243 | # 13 4/18/08 5:41p vsilyaev |
|---|
| 244 | # PR 41868: Connected playpump security to MS DRM |
|---|
| 245 | # |
|---|
| 246 | # 12 4/18/08 4:03p vsilyaev |
|---|
| 247 | # PR 41868: Added security API to playpump and recpump |
|---|
| 248 | # |
|---|
| 249 | # 11 4/10/08 1:58p erickson |
|---|
| 250 | # PR40079: added PidChannel ScramblingCheck |
|---|
| 251 | # |
|---|
| 252 | # 10 4/10/08 11:08a erickson |
|---|
| 253 | # PR41597: fix file name |
|---|
| 254 | # |
|---|
| 255 | # 9 4/7/08 10:15a erickson |
|---|
| 256 | # PR37893: convert to XPT PI sw rave |
|---|
| 257 | # |
|---|
| 258 | # 8 3/31/08 4:41p erickson |
|---|
| 259 | # PR40817: compile with PVR_SUPPORT=n |
|---|
| 260 | # |
|---|
| 261 | # 7 3/4/08 5:06p jrubio |
|---|
| 262 | # PR40169: add 7325 and remove remux for 7325 |
|---|
| 263 | # |
|---|
| 264 | # 6 3/4/08 3:31p erickson |
|---|
| 265 | # PR40080: add transport error callbacks |
|---|
| 266 | # |
|---|
| 267 | # 5 2/26/08 10:01a erickson |
|---|
| 268 | # PR39934: added SW RAVE support |
|---|
| 269 | # |
|---|
| 270 | # 4 2/22/08 5:52p shyam |
|---|
| 271 | # PR39435 : Add remux capability to Nexus |
|---|
| 272 | # |
|---|
| 273 | # 3 2/20/08 10:21a erickson |
|---|
| 274 | # PR34925: allow pcrlib to compile without MVD support |
|---|
| 275 | # |
|---|
| 276 | # 2 1/24/08 5:18p vsilyaev |
|---|
| 277 | # PR 38682: Compile bmedia framework into the kernel |
|---|
| 278 | # |
|---|
| 279 | # 1 1/18/08 2:16p jgarrett |
|---|
| 280 | # PR 38808: Merging to main branch |
|---|
| 281 | # |
|---|
| 282 | # Nexus_Devel/14 1/17/08 6:07p jgarrett |
|---|
| 283 | # PR 38808: Updating file locations |
|---|
| 284 | # |
|---|
| 285 | # Nexus_Devel/13 12/4/07 6:19p vsilyaev |
|---|
| 286 | # PR 37574: Added more bmedia support |
|---|
| 287 | # |
|---|
| 288 | # Nexus_Devel/12 11/9/07 3:07p jgarrett |
|---|
| 289 | # PR 36774: Editing unified ITB definition |
|---|
| 290 | # |
|---|
| 291 | # Nexus_Devel/11 11/6/07 4:22p jgarrett |
|---|
| 292 | # PR 34954: Migrating to audio connector model |
|---|
| 293 | # |
|---|
| 294 | # Nexus_Devel/10 9/28/07 4:41p jgarrett |
|---|
| 295 | # PR 35002: Adding UNIFIED_ITB_SUPPORT for 7400 |
|---|
| 296 | # |
|---|
| 297 | # Nexus_Devel/9 9/28/07 10:00a erickson |
|---|
| 298 | # PR34925: 0.1 prerel review |
|---|
| 299 | # |
|---|
| 300 | # Nexus_Devel/8 9/27/07 7:52p jgarrett |
|---|
| 301 | # PR 34954: Adding HSM |
|---|
| 302 | # |
|---|
| 303 | # Nexus_Devel/7 9/27/07 2:00p erickson |
|---|
| 304 | # PR34925: added syncthunk |
|---|
| 305 | # |
|---|
| 306 | # Nexus_Devel/6 9/26/07 4:15p erickson |
|---|
| 307 | # PR34925: define BSEAV |
|---|
| 308 | # |
|---|
| 309 | # Nexus_Devel/5 9/26/07 3:11p erickson |
|---|
| 310 | # PR34925: initial playpump checkin |
|---|
| 311 | # |
|---|
| 312 | # Nexus_Devel/4 9/24/07 2:36p erickson |
|---|
| 313 | # PR34925: added Message |
|---|
| 314 | # |
|---|
| 315 | # Nexus_Devel/3 9/21/07 11:18a erickson |
|---|
| 316 | # PR34925: rename parserband.c to demux.c |
|---|
| 317 | # |
|---|
| 318 | # Nexus_Devel/2 9/17/07 4:12p erickson |
|---|
| 319 | # PR34925: added timebase and stcchannel |
|---|
| 320 | # |
|---|
| 321 | # Nexus_Devel/1 9/14/07 3:27p erickson |
|---|
| 322 | # PR34925: initial compilation |
|---|
| 323 | # |
|---|
| 324 | ############################################################ |
|---|
| 325 | |
|---|
| 326 | # |
|---|
| 327 | # Conditional Options for this Makefile |
|---|
| 328 | # |
|---|
| 329 | |
|---|
| 330 | ###################### |
|---|
| 331 | # Define this module # |
|---|
| 332 | ###################### |
|---|
| 333 | NEXUS_MODULES += TRANSPORT |
|---|
| 334 | |
|---|
| 335 | ################## |
|---|
| 336 | # Module Options # |
|---|
| 337 | ################## |
|---|
| 338 | |
|---|
| 339 | ################### |
|---|
| 340 | # Module Includes # |
|---|
| 341 | ################### |
|---|
| 342 | NEXUS_TRANSPORT_PUBLIC_INCLUDES = $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/include |
|---|
| 343 | |
|---|
| 344 | NEXUS_TRANSPORT_PRECOMPILED_HEADER = $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_module.h |
|---|
| 345 | |
|---|
| 346 | ################## |
|---|
| 347 | # Module Sources # |
|---|
| 348 | ################## |
|---|
| 349 | NEXUS_TRANSPORT_SOURCES := \ |
|---|
| 350 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_demux.c \ |
|---|
| 351 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_pid_channel_scrambling.c \ |
|---|
| 352 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_parser_band.c \ |
|---|
| 353 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_rave.c \ |
|---|
| 354 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_timebase.c \ |
|---|
| 355 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_stc_channel.c \ |
|---|
| 356 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump.c \ |
|---|
| 357 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_crypto.c \ |
|---|
| 358 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_media.c \ |
|---|
| 359 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_playpump_priv.c \ |
|---|
| 360 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_recpump.c \ |
|---|
| 361 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_capabilities.c \ |
|---|
| 362 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_transport_module.c \ |
|---|
| 363 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_tsmux.c \ |
|---|
| 364 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_mpod.c \ |
|---|
| 365 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_packetsub.c \ |
|---|
| 366 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_remux.c \ |
|---|
| 367 | $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_tsmf.c |
|---|
| 368 | |
|---|
| 369 | # some silicon does not support MSG PID2BUF. SW demux (using MSGlib) is required in those cases. |
|---|
| 370 | ifneq ($(findstring $(BCHP_CHIP),7401 7403),) |
|---|
| 371 | NEXUS_USE_MSGLIB=y |
|---|
| 372 | endif |
|---|
| 373 | |
|---|
| 374 | ifneq ($(findstring $(BCHP_CHIP),7550 7408),) |
|---|
| 375 | # Software-based message filtering. Required for chips w/o HW filtering. Optional for other chips. |
|---|
| 376 | NEXUS_USE_SW_FILTER=y |
|---|
| 377 | endif |
|---|
| 378 | |
|---|
| 379 | ifeq ($(NEXUS_USE_MSGLIB),y) |
|---|
| 380 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message.c |
|---|
| 381 | NEXUS_TRANSPORT_DEFINES += NEXUS_USE_MSGLIB=1 |
|---|
| 382 | else |
|---|
| 383 | ifeq ($(NEXUS_USE_SW_FILTER),y) |
|---|
| 384 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_swfilter.c |
|---|
| 385 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_swfilter_parser.c |
|---|
| 386 | NEXUS_TRANSPORT_DEFINES += NEXUS_USE_SW_FILTER=1 |
|---|
| 387 | else |
|---|
| 388 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_pid2buf.c |
|---|
| 389 | endif |
|---|
| 390 | endif |
|---|
| 391 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src/nexus_message_sam.c |
|---|
| 392 | |
|---|
| 393 | ifeq ($(USE_SETTOP_API_SW_RAVE),y) |
|---|
| 394 | # This is a temporary use of Settop API code until XPT PI SW rave is fully debugged. |
|---|
| 395 | NEXUS_TRANSPORT_DEFINES += B_USE_SETTOP_API_SW_RAVE=1 |
|---|
| 396 | NEXUS_TRANSPORT_SOURCES += $(BSEAV)/api/src/magnum/bsettop_base_rave.c |
|---|
| 397 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/api/src/magnum |
|---|
| 398 | endif |
|---|
| 399 | |
|---|
| 400 | ifeq ($(findstring $(BCHP_CHIP), 7425), $(BCHP_CHIP)) |
|---|
| 401 | NEXUS_TRANSPORT_DEFINES += NEXUS_HAS_TSMF=1 |
|---|
| 402 | endif |
|---|
| 403 | |
|---|
| 404 | ifeq ($(BXPT_VCT_SUPPORT),y) |
|---|
| 405 | NEXUS_TRANSPORT_DEFINES += BXPT_VCT_SUPPORT=1 |
|---|
| 406 | endif |
|---|
| 407 | |
|---|
| 408 | # thunk layer |
|---|
| 409 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(NEXUS_TOP)/modules/transport/${BCHP_CHIP}/src $(NEXUS_SYNCTHUNK_DIR) |
|---|
| 410 | NEXUS_TRANSPORT_SOURCES += $(NEXUS_SYNCTHUNK_DIR)/nexus_transport_thunks.c |
|---|
| 411 | |
|---|
| 412 | # pvr utils |
|---|
| 413 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += \ |
|---|
| 414 | $(BSEAV)/lib/utils |
|---|
| 415 | NEXUS_TRANSPORT_SOURCES += \ |
|---|
| 416 | $(BSEAV)/lib/utils/bsink_playback.c |
|---|
| 417 | |
|---|
| 418 | ####################### |
|---|
| 419 | # Module Dependencies # |
|---|
| 420 | ####################### |
|---|
| 421 | NEXUS_TRANSPORT_DEPENDENCIES := DMA SECURITY |
|---|
| 422 | |
|---|
| 423 | ################## |
|---|
| 424 | # Magnum Modules # |
|---|
| 425 | ################## |
|---|
| 426 | # These modules will be excluded from app-only builds |
|---|
| 427 | BPCRLIB_HAS_RAP := n |
|---|
| 428 | BPCRLIB_HAS_APE := n |
|---|
| 429 | BPCRLIB_HAS_XVD := n |
|---|
| 430 | BPCRLIB_HAS_MVD := n |
|---|
| 431 | NEXUS_TRANSPORT_MAGNUM_MODULES = \ |
|---|
| 432 | $(MAGNUM)/portinginterface/xpt/bxpt.inc \ |
|---|
| 433 | $(MAGNUM)/syslib/pvrlib/bpvrlib.inc \ |
|---|
| 434 | $(MAGNUM)/syslib/pcrlib/bpcrlib.inc |
|---|
| 435 | |
|---|
| 436 | ifeq ($(NEXUS_USE_MSGLIB),y) |
|---|
| 437 | NEXUS_TRANSPORT_MAGNUM_MODULES += $(MAGNUM)/syslib/msglib/bmsglib.inc |
|---|
| 438 | endif |
|---|
| 439 | |
|---|
| 440 | ifeq ($(BXPT_FILTER_32),y) |
|---|
| 441 | NEXUS_TRANSPORT_DEFINES += BXPT_FILTER_32 NEXUS_MESSAGE_FILTER_SIZE=32 |
|---|
| 442 | endif |
|---|
| 443 | |
|---|
| 444 | # BSEAV makefiles don't include their module names into MAGNUM_MODULES |
|---|
| 445 | NEXUS_EXTRA_MODULES += BFILE BMEDIA BMEDIA_FILTER BATOM |
|---|
| 446 | |
|---|
| 447 | ifeq ($(PVR_SUPPORT),n) |
|---|
| 448 | # we don't need the media framework, but still need some code from BSEAV |
|---|
| 449 | NEXUS_TRANSPORT_DEFINES += B_HAS_MEDIA=0 |
|---|
| 450 | ifneq ($(B_REFSW_OS),ucos_ii) |
|---|
| 451 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 452 | ${BSEAV}/lib/bfile/bfile.inc |
|---|
| 453 | endif |
|---|
| 454 | |
|---|
| 455 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 456 | ${BSEAV}/lib/utils/batom.inc |
|---|
| 457 | |
|---|
| 458 | NEXUS_TRANSPORT_SOURCES += \ |
|---|
| 459 | ${BSEAV}/lib/mpeg2_ts_parse/ts_pmt.c \ |
|---|
| 460 | ${BSEAV}/lib/mpeg2_ts_parse/ts_pat.c \ |
|---|
| 461 | ${BSEAV}/lib/mpeg2_ts_parse/ts_priv.c \ |
|---|
| 462 | ${BSEAV}/lib/mpeg2_ts_parse/ts_psi.c \ |
|---|
| 463 | ${BSEAV}/lib/mpeg2_ts_parse/tspsi_validate.c |
|---|
| 464 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += ${BSEAV}/lib/mpeg2_ts_parse |
|---|
| 465 | else |
|---|
| 466 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 467 | ${BSEAV}/lib/utils/batom.inc \ |
|---|
| 468 | ${BSEAV}/lib/media/bmedia.inc |
|---|
| 469 | |
|---|
| 470 | ifeq ($(MEDIA_ASF_SUPPORT), y) |
|---|
| 471 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 472 | ${BSEAV}/lib/asf/basf.inc |
|---|
| 473 | endif |
|---|
| 474 | |
|---|
| 475 | |
|---|
| 476 | ifeq ($(MEDIA_ASF_SUPPORT), y) |
|---|
| 477 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 478 | ${BSEAV}/lib/asf/basf.inc |
|---|
| 479 | |
|---|
| 480 | ifeq ($(MSDRM_PD_SUPPORT), y) |
|---|
| 481 | NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_PD=1 |
|---|
| 482 | |
|---|
| 483 | MSDRM_PD_BIN_DIR := $(BSEAV)/lib/drm/wmdrmpd10/bin |
|---|
| 484 | |
|---|
| 485 | # These are really mis-named and are actually .lo files |
|---|
| 486 | # exclude these files for the build of DTV chips |
|---|
| 487 | ifneq ($(findstring $(BCHP_CHIP), 35230 35233 35125), $(BCHP_CHIP)) |
|---|
| 488 | MAGNUM_PRECOMPILED_OBJECTS += \ |
|---|
| 489 | $(MSDRM_PD_BIN_DIR)/oem_ansi.a \ |
|---|
| 490 | $(MSDRM_PD_BIN_DIR)/drmmanager.a \ |
|---|
| 491 | $(MSDRM_PD_BIN_DIR)/drmcore.a \ |
|---|
| 492 | $(MSDRM_PD_BIN_DIR)/drmpkcrypto.a \ |
|---|
| 493 | $(MSDRM_PD_BIN_DIR)/drmbignum.a \ |
|---|
| 494 | $(MSDRM_PD_BIN_DIR)/drmdevcert.a \ |
|---|
| 495 | $(MSDRM_PD_BIN_DIR)/drmblackbox.a \ |
|---|
| 496 | $(MSDRM_PD_BIN_DIR)/drmcrypto.a \ |
|---|
| 497 | $(MSDRM_PD_BIN_DIR)/drmdevicedevcert.a |
|---|
| 498 | endif |
|---|
| 499 | |
|---|
| 500 | NEXUS_TRANSPORT_DEFINES += DRM_SUPPORT_DLA=1 D_DEBUG DEBUG B_HAS_DRM=1 NEXUS_DRM_BUILD=1 |
|---|
| 501 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drm $(BSEAV)/lib/drm/wmdrmpd10/inc $(BSEAV)/lib/utils $(BSEAV)/lib/asf |
|---|
| 502 | |
|---|
| 503 | # exclude these items for the build of DTV chips |
|---|
| 504 | ifneq ($(findstring $(BCHP_CHIP), 35230 35233 35125), $(BCHP_CHIP)) |
|---|
| 505 | NEXUS_TRANSPORT_SOURCES += \ |
|---|
| 506 | $(BSEAV)/lib/drm/drmcore.c \ |
|---|
| 507 | $(BSEAV)/lib/drm/drmhttp.c \ |
|---|
| 508 | $(BSEAV)/lib/drm/drmplay.c \ |
|---|
| 509 | $(BSEAV)/lib/drm/drmchallenge.c \ |
|---|
| 510 | $(BSEAV)/lib/drm/drmresponse.c \ |
|---|
| 511 | $(BSEAV)/lib/drm/drmenv.c \ |
|---|
| 512 | $(BSEAV)/lib/drm/drmdecryptor.c \ |
|---|
| 513 | $(BSEAV)/lib/drm/asfpars.c |
|---|
| 514 | endif |
|---|
| 515 | endif |
|---|
| 516 | |
|---|
| 517 | ifeq ($(MSDRM_PRDY_SUPPORT), y) |
|---|
| 518 | NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_PD=1 B_HAS_MSDRM_PRDY=1 |
|---|
| 519 | |
|---|
| 520 | ifeq ($(PRDY_ROBUSTNESS_ENABLE), y) |
|---|
| 521 | NEXUS_TRANSPORT_DEFINES+=PRDY_ROBUSTNESS=1 |
|---|
| 522 | MSDRM_PD_BIN_DIR := $(BSEAV)/lib/playready/bin/playready_robust |
|---|
| 523 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drmrootfs |
|---|
| 524 | else |
|---|
| 525 | MSDRM_PD_BIN_DIR := $(BSEAV)/lib/playready/bin/playready |
|---|
| 526 | endif |
|---|
| 527 | |
|---|
| 528 | |
|---|
| 529 | # These are really mis-named and are actually .lo files |
|---|
| 530 | MAGNUM_PRECOMPILED_OBJECTS += \ |
|---|
| 531 | $(MSDRM_PD_BIN_DIR)/oem_ansi.a \ |
|---|
| 532 | $(MSDRM_PD_BIN_DIR)/drmmanager.a \ |
|---|
| 533 | $(MSDRM_PD_BIN_DIR)/drmcore.a \ |
|---|
| 534 | $(MSDRM_PD_BIN_DIR)/drmpkcrypto.a \ |
|---|
| 535 | $(MSDRM_PD_BIN_DIR)/drmbignum.a \ |
|---|
| 536 | $(MSDRM_PD_BIN_DIR)/drmdevcert.a \ |
|---|
| 537 | $(MSDRM_PD_BIN_DIR)/drmblackbox.a \ |
|---|
| 538 | $(MSDRM_PD_BIN_DIR)/drmcrypto.a \ |
|---|
| 539 | $(MSDRM_PD_BIN_DIR)/drmdevicedevcert.a \ |
|---|
| 540 | $(MSDRM_PD_BIN_DIR)/certs.a \ |
|---|
| 541 | $(MSDRM_PD_BIN_DIR)/domain.a \ |
|---|
| 542 | $(MSDRM_PD_BIN_DIR)/drmmetering.a \ |
|---|
| 543 | $(MSDRM_PD_BIN_DIR)/drmsecureclock.a \ |
|---|
| 544 | $(MSDRM_PD_BIN_DIR)/drmsha256.a \ |
|---|
| 545 | $(MSDRM_PD_BIN_DIR)/drmsynclist.a \ |
|---|
| 546 | $(MSDRM_PD_BIN_DIR)/drmxmr.a \ |
|---|
| 547 | $(MSDRM_PD_BIN_DIR)/oem_common.a \ |
|---|
| 548 | $(MSDRM_PD_BIN_DIR)/constants.a \ |
|---|
| 549 | $(MSDRM_PD_BIN_DIR)/wmdrmcert.a \ |
|---|
| 550 | $(MSDRM_PD_BIN_DIR)/ndt.a \ |
|---|
| 551 | $(MSDRM_PD_BIN_DIR)/ndtasf.a \ |
|---|
| 552 | $(MSDRM_PD_BIN_DIR)/ndtmgr.a \ |
|---|
| 553 | $(MSDRM_PD_BIN_DIR)/noncestore.a |
|---|
| 554 | |
|---|
| 555 | ifeq ($(PRDY_ROBUSTNESS_ENABLE), y) |
|---|
| 556 | MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/common_crypto/lib/${BCHP_CHIP}/libcmncrypto.a |
|---|
| 557 | MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/drmrootfs/libdrmrootfs.a |
|---|
| 558 | else |
|---|
| 559 | NEXUS_TRANSPORT_DEFINES += PRDY_USE_SW_DECRYPTION=1 |
|---|
| 560 | endif |
|---|
| 561 | |
|---|
| 562 | NEXUS_TRANSPORT_DEFINES += B_HAS_DRM=1 NEXUS_DRM_BUILD=1 DRM_SUPPORT_DLA=1 DRM_BUILD_PROFILE=10 TARGET_LITTLE_ENDIAN=1 DRM_SUPPORT_TEST_SETTINGS=1 NO_DRM_CRT=0 DRM_SUPPORT_ANTIROLLBACK_CLOCK=1 DRM_SUPPORT_WMDRMNET=1 DRM_SUPPORT_REVOCATION=1 DRM_SUPPORT_DATASTORE_PREALLOC=1 DRM_SUPPORT_DOMAINS=1 _DATASTORE_WRITE_THRU=1 DRM_SUPPORT_CERTIFICATE_CACHING=1 DRM_SUPPORT_CLEANUP=1 DRM_SUPPORT_DEVICESTORE=1 DRM_SUPPORT_LICENSE_SYNC=1 DRM_SUPPORT_METERING=1 DRM_SUPPORT_SYMMETRIC_OPTIMIZATIONS=1 |
|---|
| 563 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/playready $(BSEAV)/lib/playready/inc $(BSEAV)/lib/utils $(BSEAV)/lib/asf |
|---|
| 564 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/common_crypto/include |
|---|
| 565 | NEXUS_TRANSPORT_SOURCES += \ |
|---|
| 566 | $(BSEAV)/lib/playready/prdy_core.c \ |
|---|
| 567 | $(BSEAV)/lib/playready/prdy_http.c \ |
|---|
| 568 | $(BSEAV)/lib/playready/prdy_play.c \ |
|---|
| 569 | $(BSEAV)/lib/playready/prdy_challenge.c \ |
|---|
| 570 | $(BSEAV)/lib/playready/prdy_response.c \ |
|---|
| 571 | $(BSEAV)/lib/playready/prdy_env.c \ |
|---|
| 572 | $(BSEAV)/lib/playready/prdy_decryptor.c \ |
|---|
| 573 | $(BSEAV)/lib/playready/prdy_mp4.c \ |
|---|
| 574 | $(BSEAV)/lib/playready/prdy_asf.c \ |
|---|
| 575 | $(BSEAV)/lib/playready/prdy_secure_clk.c \ |
|---|
| 576 | $(BSEAV)/lib/playready/asfpars.c |
|---|
| 577 | endif |
|---|
| 578 | |
|---|
| 579 | |
|---|
| 580 | |
|---|
| 581 | |
|---|
| 582 | ifeq ($(MSDRM_ND_SUPPORT), y) |
|---|
| 583 | NEXUS_TRANSPORT_DEFINES+=B_HAS_MSDRM_ND=1 |
|---|
| 584 | NEXUS_TRANSPORT_PRIVATE_INCLUDES += $(BSEAV)/lib/drmnd/ $(BSEAV)/lib/drmnd/wmdrmnd10/port $(BSEAV)/lib/drmnd/wmdrmnd10/inc $(BSEAV)/lib/drmnd/wmdrmnd10/oem |
|---|
| 585 | MAGNUM_PRECOMPILED_OBJECTS += $(BSEAV)/lib/drmnd/wmdrmnd10/bin/drmndport.a $(BSEAV)/lib/drmnd/wmdrmnd10/oem/ansi/oem_ansi.a |
|---|
| 586 | NEXUS_TRANSPORT_SOURCES += $(BSEAV)/lib/drmnd/bdrmnd_decryptor.c |
|---|
| 587 | endif |
|---|
| 588 | |
|---|
| 589 | #end of MEDIA_ASF_SUPPORT |
|---|
| 590 | endif |
|---|
| 591 | |
|---|
| 592 | ifeq ($(MEDIA_AVI_SUPPORT), y) |
|---|
| 593 | ifeq ($(DIVX_DRM_SUPPORT), y) |
|---|
| 594 | ifeq ($(findstring $(PLATFORM), 97400 97456 97403),) |
|---|
| 595 | include $(BSEAV)/lib/divxdrm5/Makefile.drm |
|---|
| 596 | else |
|---|
| 597 | include $(BSEAV)/lib/divxdrm/Makefile.drm |
|---|
| 598 | endif |
|---|
| 599 | NEXUS_TRANSPORT_SOURCES += $(DIVX_DRM_SRCS) |
|---|
| 600 | NEXUS_CFLAGS += $(DIVX_DRM_CFLAGS) |
|---|
| 601 | MAGNUM_PRECOMPILED_OBJECTS += $(DIVX_DRM_OBJS) |
|---|
| 602 | # the divxdrm5 library requires c99 |
|---|
| 603 | NEXUS_C_STD=c99 |
|---|
| 604 | endif |
|---|
| 605 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 606 | ${BSEAV}/lib/avi/bavi.inc |
|---|
| 607 | endif |
|---|
| 608 | |
|---|
| 609 | # end of MEDIA_AVI_SUPPORT |
|---|
| 610 | endif |
|---|
| 611 | |
|---|
| 612 | ifeq ($(MEDIA_FLV_SUPPORT), y) |
|---|
| 613 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 614 | ${BSEAV}/lib/media/flv/bflv.inc |
|---|
| 615 | endif |
|---|
| 616 | |
|---|
| 617 | ifeq ($(MEDIA_RMFF_SUPPORT), y) |
|---|
| 618 | NEXUS_TRANSPORT_MAGNUM_MODULES += \ |
|---|
| 619 | ${BSEAV}/lib/media/rmff/brmff.inc |
|---|
| 620 | endif |
|---|
| 621 | |
|---|
| 622 | ##################### |
|---|
| 623 | # Module Extensions # |
|---|
| 624 | ##################### |
|---|
| 625 | ifneq ($(NEXUS_TRANSPORT_EXTENSION_INC),) |
|---|
| 626 | include $(NEXUS_TRANSPORT_EXTENSION_INC) |
|---|
| 627 | endif |
|---|
| 628 | |
|---|
| 629 | ifeq ($(RAVE_REGION_VERIFICATION_SUPPORT),y) |
|---|
| 630 | include $(NEXUS_TRANSPORT_SECURITY_EXTENSION_INC) |
|---|
| 631 | endif |
|---|
| 632 | |
|---|